Udostępnij za pośrednictwem


CurrentOrdinal (MDX)

Zwraca bieżącą liczbę iteracji w zestaw podczas iteracji.

Składnia

Set_Expression.CurrentOrdinal

Argumenty

  • Set_Expression
    Prawidłowe wyrażenie Multidimensional Expressions (MDX), które zwraca zestaw.

Uwagi

Gdy iteracja zestaw, na przykład z Filtr (MDX) lub Generate (mdx) funkcje, CurrentOrdinal funkcja zwraca liczbę iteracji.

Przykłady

W poniższym przykładzie prosty sposób CurrentOrdinal może być używany z Generate zwraca ciąg zawierający nazwę każdego element w zestaw wraz z jego element w zestaw:

WITH SET MySet AS [Customer].[Customer Geography].[Country].MEMBERS

MEMBER MEASURES.CURRENTORDINALDEMO AS

GENERATE(MySet, CSTR(MySet.CURRENTORDINAL) + ") " + MySet.CURRENT.ITEM(0).NAME, ", ")

SELECT MEASURES.CURRENTORDINALDEMO ON 0

FROM [Adventure Works]

Praktyczne wykorzystanie CurrentOrdinal jest ograniczone do bardzo złożone obliczenia.Poniższy przykład zwraca liczbę produktów w zestaw , które są unikatowe, za pomocą Order Funkcja Zamawianie krotek niepusty przed wykorzystaniem Filter funkcji.CurrentOrdinal Funkcja jest używana do porównania i wyeliminować więzi.

WITH MEMBER [Measures].[PrdTies] AS Count
   (Filter
      (Order
        (NonEmpty
          ([Product].[Product].[Product].Members
          , {[Measures].[Reseller Order Quantity]}
          )
       , [Measures].[Reseller Order Quantity]
       , BDESC
       ) AS OrdPrds
    , NOT((OrdPrds.CurrentOrdinal < OrdPrds.Count 
       AND [Measures].[Reseller Order Quantity] = 
          ( [Measures].[Reseller Order Quantity]
            , OrdPrds.Item
               (OrdPrds.CurrentOrdinal
               )
            )
         )
         OR (OrdPrds.CurrentOrdinal > 1 
            AND [Measures].[Reseller Order Quantity] = 
               ([Measures].[Reseller Order Quantity]
               , OrdPrds.Item
                  (OrdPrds.CurrentOrdinal-2)
                )
             )
          ))
       )
SELECT {[Measures].[PrdTies]} ON 0
FROM [Adventure Works]

Zobacz także

Odwołanie