Поделиться через


PeriodsToDate (многомерные выражения)

Возвращает набор элементов с общим родителем, находящихся на том же уровне, что и данный элемент, начиная с первого такого элемента и заканчивая данным элементом, в соответствии с ограничениями заданного уровня в измерении Time.

Синтаксис

PeriodsToDate( [ Level_Expression [ ,Member_Expression ] ] )

Аргументы

  • Level_Expression
    Допустимое многомерное выражение, возвращающее уровень.

  • Member_Expression
    Допустимое многомерное выражение, возвращающее элемент.

Замечания

В области действия заданного уровня функция PeriodsToDate возвращает набор периодов на том же уровне, что и указанный элемент, начиная с первого периода и заканчивая указанным элементом.

  • Если уровень указан, текущий элемент иерархии определяется в виде иерархия.CurrentMember, где иерархияявляется иерархией указанного уровня.

  • Если не указан ни уровень, ни элемент, то уровнем становится родительский уровень текущего элемента первой иерархии первого измерения типа Time в группе мер.

Функция PeriodsToDate( Level_Expression, Member_Expression ) функционально эквивалентна следующему многомерному выражению:

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

Примеры

В следующем примере возвращается сумма элемента Measures.[Order Quantity] вычисленная за первые восемь месяцев календарного 2003 г., содержащихся в измерении Date куба Adventure Works.

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 календарного года.

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]