PeriodsToDate (MDX)

時間ディメンションで指定されているレベル内で、指定されたメンバと同じレベルにある兄弟メンバのセットを返します。先頭は最初の兄弟、末尾は指定されたメンバになります。

構文

PeriodsToDate( [ Level_Expression [ ,Member_Expression ] ] )

引数

  • Level_Expression
    レベルを返す有効な多次元式 (MDX) 式です。

  • Member_Expression
    メンバを 1 つ返す有効な多次元式 (MDX) 式です。

説明

PeriodsToDate 関数は、指定されたレベルのスコープ内で、指定されたメンバと同じレベルの期間のセット (最初の期間から指定されたメンバまで) を返します。

  • レベルを指定した場合、階層の現在のメンバは hierarchy.CurrentMember (hierarchyは指定レベルの階層) であると推論されます。

  • レベルもメンバも指定しなかった場合、レベルは Time 型のディメンションの現在のメンバ (Time.CurrentMember) の親レベルになります。

PeriodsToDate( Level_Expression, Member_Expression ) は、以下の MDX 式と機能的に等価です。

TopCount(Descendants(Ancestor(Member_Expression, Level_Expression), Member_Expression.Level), 1):Member_Expression

次の例では、Adventure Works キューブから、Date ディメンションに含まれる 2003 年の最初の 8 か月を集計した Measures.[Order Quantity] メンバの合計を返しています。

WITH MEMBER [Date].[Calendar].[First8Months2003] AS
    Aggregate(
        PeriodsToDate(
            [Date].[Calendar].[Calendar Year], 
            [Date].[Calendar].[Month].[August 2003]
        )
    )
SELECT 
    [Date].[Calendar].[First8Months2003] ON COLUMNS,
    [Product].[Category].Children ON ROWS
FROM
    [Adventure Works]
WHERE
    [Measures].[Order Quantity]

次の例では、2003 年下半期の最初の 2 か月を集計しています。

WITH MEMBER [Date].[Calendar].[First2MonthsSecondSemester2003] AS
    Aggregate(
        PeriodsToDate(
            [Date].[Calendar].[Calendar Semester], 
            [Date].[Calendar].[Month].[August 2003]
        )
    )
SELECT 
    [Date].[Calendar].[First2MonthsSecondSemester2003] ON COLUMNS,
    [Product].[Category].Children ON ROWS
FROM
    [Adventure Works]
WHERE
    [Measures].[Order Quantity]