MDX OpeningPeriod 函数将返回属于指定成员或指定级别的第一个同级成员。
多维表达式中 MDX OpeningPeriod 的基本语法如下所示。
OPENINGPERIOD (Level_Expression, Member_Expression)
- Member_Expression:任何返回有效成员的多维表达式。
- Level_Expression:请指定要导航的级别。
对于查询中的 OpeningPeriod 函数,我们将使用以下显示数据。下图显示了日期维度中日历年份的列表。

MDX OpeningPeriod 函数示例
在此示例中,我们将使用 OpeningPeriod 函数查找日历年份中存在的第一个年份。
SELECT [Measures].[Internet Sales Amount] ON COLUMNS, OPENINGPERIOD ([Date].[Calendar].[Calendar Year]) ON ROWS FROM [Adventure Works]

在上面的 MDX 查询中,我们在列中使用 [Internet Sales amount]。
[Measures].[Internet Sales Amount] ON COLUMNS
下面的代码行将返回日期维度中日历年份存在的第一个同级成员。
OPENINGPERIOD ([Date].[Calendar].[Calendar Year])
OpeningPeriod 函数示例 2
在此示例中,我们将使用 OpeningPeriod 函数查找日历年份 2013 中存在的第一个月份,并计算该月份的 Internet Sales Amount。
SELECT
[Measures].[Internet Sales Amount] ON COLUMNS,
OPENINGPERIOD (
[Date].[Calendar].[Month]
,[Date].[Calendar].[Calendar Year].[CY 2013]
) ON ROWS
FROM [Adventure Works]

使用 MDX OpeningPeriod 查找范围 示例 1
在此示例中,我们将向您展示如何使用 OpeningPeriod 函数查找范围。以下查询将返回 2005 年至 2013 年日历年份的 Internet Sales amount。
SELECT [Measures].[Internet Sales Amount] ON COLUMNS, OPENINGPERIOD ([Date].[Calendar].[Calendar Year]): [Date].[Calendar].[Calendar Year].[CY 2013] ON ROWS FROM [Adventure Works]

在上面的 MDX 查询中,我们在列中使用 [Internet Sales amount]。
[Measures].[Internet Sales Amount] ON COLUMNS
下面的代码行将返回日期维度中日历年份存在的第一个同级成员,即 2005 年。
OPENINGPERIOD ([Date].[Calendar].[Calendar Year])
这意味着我们在 2005 年和 2013 年之间使用了范围运算符。因此,输出将显示日期维度中所有日历年份的 Internet Sales amount。
OPENINGPERIOD ([Date].[Calendar].[Calendar Year]): -- 2005 [Date].[Calendar].[Calendar Year].[CY 2013] -- 2013
使用 MDX OpeningPeriod 查找范围 示例 2
在此示例中,我们将向您展示如何使用 OpeningPeriod 函数查找范围。以下查询将返回日历年份 2013 中 1 月至 7 月的 Internet Sales amount。
SELECT
[Measures].[Internet Sales Amount] ON COLUMNS,
OPENINGPERIOD (
[Date].[Calendar].[Month] --January 2013
,[Date].[Calendar].[Calendar Year].[CY 2013]
):
[Date].[Calendar].[Month].[July 2013] ON ROWS
FROM [Adventure Works]
