PeriodsToDate (MDX)

Gibt eine Menge von gleichgeordneten Elementen zurück, die derselben Ebene angehören wie ein angegebenes Element. Die Menge beginnt mit dem ersten gleichgeordneten Element und endet mit dem angegebenen Element, entsprechend der Einschränkung durch eine angegebene Ebene in der Time-Dimension.

Syntax

PeriodsToDate( [ Level_Expression [ ,Member_Expression ] ] )

Argumente

  • Level_Expression
    Ein gültiger MDX-Ausdruck (Multidimensional Expressions), der eine Ebene zurückgibt.

  • Member_Expression
    Ein gültiger MDX-Ausdruck (Multidimensional Expressions), der ein Element zurückgibt.

Hinweise

Innerhalb des Bereichs der angegebenen Ebene gibt die PeriodsToDate-Funktion die Menge der Zeiträume zurück, die sich auf der gleichen Ebene wie das angegebene Element befinden, wobei mit dem ersten Zeitraum begonnen und mit dem angegebenen Element geendet wird.

  • Wenn eine Ebene angegeben ist, wird das aktuelle Element der Hierarchie aus hierarchy.CurrentMember abgeleitet, wobei hierarchy für die Hierarchie der angegebenen Ebene steht.

  • Wenn weder eine Ebene noch ein Element angegeben wird, ist die Ebene die übergeordnete Ebene des aktuellen Elements der ersten Hierarchie auf der ersten Dimension des Typs Zeit in der Measuregruppe.

PeriodsToDate( Level_Expression, Member_Expression ) ist funktionell gleichwertig mit dem folgenden MDX-Ausdruck:

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

Beispiele:

Im folgende Beispiel wird die Summe des Measures.[Order Quantity]-Elements, aggregiert über die ersten acht Monate des Kalenderjahres 2003 in der Date-Dimension, aus dem Adventure Works-Cube zurückgegeben.

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]

Im folgenden Beispiel wird über die ersten zwei Monate des zweiten Semesters des Kalenderjahres 2003 aggregiert.

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]