CurrentOrdinal(MDX)

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

구문

  
Set_Expression.CurrentOrdinal  

인수

Set_Expression
집합을 반환하는 유효한 MDX(다차원 식) 식입니다.

설명

Filter(MDX) 또는 Generate(MDX) 함수와 같이 집합을 반복하는 경우 CurrentOrdinal 함수는 반복 번호를 반환합니다.

다음 간단한 예제에서는 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의 실제 사용은 매우 복잡한 계산으로 제한됩니다. 다음 예제에서는 Filter 함수를 활용하기 전에 Order 함수를 사용하여 비어있지 않은 튜플의 순서를 지정하여 고유한 집합의 제품 수를 반환합니다. 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)