次の方法で共有


OpeningPeriod (MDX)

更新 : 2006 年 7 月 17 日

指定されたレベルの子孫の中から、最初の兄弟を返します。必要に応じて、メンバを指定することもできます。

構文

OpeningPeriod( [ Level_Expression [ , Member_Expression ] ] )

引数

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

解説

この関数は、時間ディメンションに対して使用することを主な目的としていますが、どのディメンションでも使用できます。

  • レベル式が指定されている場合、OpeningPeriod 関数は、指定されたレベルを含む階層を使用して、指定されたレベルにある既定のメンバの子孫の中から、最初の兄弟を返します。
  • レベル式もメンバ式も指定されている場合、OpeningPeriod 関数は、指定されたレベルを含む階層内で、指定されたレベルにある指定されたメンバの子孫の中から、最初の兄弟を返します。
  • レベル式もメンバ式も指定されていない場合、OpeningPeriod 関数は、Time 型のディメンションの既定のレベルとメンバを使用します。

OpeningPeriod 関数は、以下の MDX ステートメントと等価です。

TopCount(Descendants(Member_Expression, Level_Expression), 1)

ms145992.note(ja-jp,SQL.90).gifメモ :
ClosingPeriod 関数は OpeningPeriod 関数とよく似ていますが、ClosingPeriod 関数の場合、最初の兄弟ではなく最後の兄弟を返します。

次の例では、(意味上の型が Time 型と同じである) Date ディメンションの FY2002 メンバの既定のメジャーに対応する値が返されます。このメンバが返されるのは、[All] レベルの最初の子孫が Fiscal Year レベルであるためです。Fiscal 階層は、階層コレクション内の最初のユーザー定義階層であるため既定の階層です。また、FY 2002 メンバはこの階層内のこのレベルにある最初の兄弟です。

SELECT OpeningPeriod() ON 0
FROM [Adventure Works]

次の例では、Date.Date 属性階層の Date.Date.Date レベルにある July 1, 2001 メンバの既定のメジャーの値が返されます。このメンバは、Date.Date 属性階層内の [All] レベルの子孫の最初の兄弟です。

SELECT OpeningPeriod([Date].[Date].[Date]) ON 0
FROM [Adventure Works]

次の例では、January, 2003 メンバの既定のメジャーに対応する値が返されます。これは、Calendar ユーザー定義階層の Year レベルにある 2003 メンバの子孫の最初の兄弟です。

SELECT OpeningPeriod([Date].[Calendar].[Month],[Date].[Calendar].[Calendar Year].&[2003]) ON 0
FROM [Adventure Works]

次の例では、July, 2002 メンバの既定のメジャーに対応する値が返されます。これは、Fiscal ユーザー定義階層の Year レベルにある 2003 メンバの子孫の最初の兄弟です。

SELECT OpeningPeriod([Date].[Fiscal].[Month],[Date].[Fiscal].[Fiscal Year].&[2003]) ON 0
FROM [Adventure Works]

参照

関連項目

TopCount (MDX)
MDX 関数リファレンス (MDX)
FirstSibling (MDX)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2006 年 7 月 17 日

変更内容 :
  • わかりやすくするために構文および引数を更新しました。
  • 更新した例を追加しました。