CurrentOrdinal (MDX)
Zwraca numer bieżącego iteracji zestaw podczas iteracji.
Set_Expression.CurrentOrdinal
Argumenty
- Set_Expression
Prawidłowe wyrażenie Multidimensional Expressions (MDX), która zwraca zestaw.
Remarks
Podczas iteracji zestaw, na przykład z Filtr (MDX) or Generowanie (MDX) funkcjiCurrentOrdinal 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 zestaw wraz z jego pozycji 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 ograniczona do bardzo złożonych obliczeń.W poniższym przykładzie zwraca liczbę produktów zestaw, które są unikatowe, za pomocą Order Funkcja Zamawianie krotek niepusty przed wykorzystaniem Filter Funkcja. The CurrentOrdinal funkcja is used to compare and eliminate ties.
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]