다음을 통해 공유


CurrentOrdinal(MDX)

반복하는 동안 집합 내의 현재 반복 번호를 반환합니다.

구문

Set_Expression.CurrentOrdinal

인수

  • Set_Expression
    집합을 반환하는 유효한 MDX 식입니다.

주의

집합을 반복할 때 CurrentOrdinal 함수는 Filter(MDX) 또는 Generate(MDX) 함수와 마찬가지로 반복 번호를 반환합니다.

다음의 간단한 예에서는 CurrentOrdinal을 Generate와 함께 사용하여 집합에 있는 각 항목의 위치와 이름을 포함하는 문자열을 반환하는 방법을 보여 줍니다.

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]

CurrentOrdinal은 매우 복잡한 계산에서만 일반적으로 사용됩니다. 다음 예에서는 Order 함수를 사용하여 비어 있지 않은 튜플을 정렬한 후 Filter 함수를 사용하여 집합에서 고유한 제품의 수를 반환합니다. CurrentOrdinal 함수는 동률을 비교하고 제거하는 데 사용됩니다.

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]

참고 항목

참조

MDX 함수 참조(MDX)