CurrentOrdinal(MDX)CurrentOrdinal (MDX)

적용 대상:예SQL Server Analysis Services아니요Azure Analysis ServicesAPPLIES TO:yesSQL Server Analysis ServicesnoAzure Analysis Services

반복하는 동안 집합 내의 현재 반복 번호를 반환합니다.Returns the current iteration number within a set during iteration.

구문Syntax


Set_Expression.CurrentOrdinal  

인수Arguments

Set_ExpressionSet_Expression
집합을 반환하는 유효한 MDX 식입니다.A valid Multidimensional Expressions (MDX) expression that returns a set.

주의Remarks

와 같은 집합을 통해 반복 하는 경우는 Filter (MDX) 또는 Generate (MDX) 함수는 CurrentOrdinal 함수 반복 번호를 반환 합니다.When iterating through a set, such as with the Filter (MDX) or Generate (MDX) functions, the CurrentOrdinal function returns the iteration number.

Examples

간단한 예에서는 다음 방법을 CurrentOrdinal 함께 사용할 수 있습니다 생성 집합에서의 위치가 집합의 각 항목의 이름을 포함 하는 문자열을 반환 하려면:The following simple example shows how CurrentOrdinal can be used with Generate to return a string containing the name of each item in a set along with its position in the set:

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은 매우 복잡한 계산에서만 일반적으로 사용됩니다.The practical use of CurrentOrdinal is limited to very complex calculations. 사용 하 여 고유한 집합에 제품의 수를 반환 하는 다음 예제는 순서 이용 하기 전에 먼저 비어 있지 않은 튜플을 정렬 하는 함수는 필터 함수입니다.The following example returns the number of products in the set that are unique, using the Order function to order the non-empty tuples before utilizing the Filter function. CurrentOrdinal 함수를 비교 하 고 동률 제거를 사용 합니다.The CurrentOrdinal function 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]  

관련 항목:See Also

MDX 함수 참조 ( Mdx)MDX Function Reference (MDX)