MDX PeriodsToDate 函数

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 PERIODSTODATE FUNCTION 1

在上面的 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]
MDX PERIODSTODATE FUNCTION 2