MDX PeriodsToDate 函数用于在同一级别的成员之间导航。它返回从第一个同级成员到指定成员的同级成员集。例如,如果您想列出从一个位置到特定成员的成员,则可以使用此 PeriodsToDate 函数。
MDX PeriodsToDate 函数语法
多维表达式中 PeriodsToDate 的基本语法如下所示
PERIODSTODATE (Level_Expression, Member_Expression)
- Member_Expression:任何返回有效成员的多维表达式。
- Member_Position:请指定要导航的成员的位置。
MDX PeriodsToDate 函数用于在相同的成员级别之间导航。例如,如果我们以 City 成员作为 Member_Expression,那么 PeriodsToDate 函数将在剩余的 City 成员之间导航。它不会向上导航(State – Province)或向下导航(Postal Code)。对于这个 PeriodsToDate 函数示例,我们将使用下面显示的数据。

MDX PeriodsToDate 函数示例 1
在此示例中,我们将向您展示当我们将零值用于 PeriodsToDate 函数时会发生什么。以下查询将返回 2013 年历年中直到 2013 年 7 月的月份的 Internet Sales Amount。
SELECT
[Measures].[Internet Sales Amount] ON COLUMNS,
PERIODSTODATE (
[Date].[Calendar].[Calendar Year],
[Date].[Calendar].[Month].[July 2013]
) ON ROWS
FROM [Adventure Works]
在上面的 MDX 查询中,我们在列中使用 [Reseller Sales amount](经销商销售额)。
[Measures].[Reseller Sales Amount] ON COLUMNS
下面的代码行将检查
PERIODSTODATE (
[Date].[Calendar].[Calendar Year],
[Date].[Calendar].[Month].[July 2013]
)
法国父级(即 All 成员),然后查找该国家的最后一个子成员。
MDX Periods To Date 函数示例 2
在此示例中,我们将向您展示当我们在 PeriodsToDate 函数中使用正整数值时会发生什么。以下查询将返回 2013 年、2012 年和 2011 年历年的 Internet Sales amount,因为 LastPeriods 函数(值为 3)将回溯 2 年加上 2013 年。这是因为 PeriodsToDate 函数本身就包括 2013 年。
SELECT
[Measures].[Internet Sales Amount] ON COLUMNS,
PERIODSTODATE (
[Date].[Calendar].[(All)],
[Date].[Calendar].[Calendar Year].[CY 2013]
) ON ROWS
FROM [Adventure Works]

