CurrentOrdinal (MDX)

Yineleme sırasında bir küme içindeki mevcut yineleme numarasını döndürür.

Syntax

  
Set_Expression.CurrentOrdinal  

Arguments

Set_Expression
Bir küme döndüren geçerli bir Çok Boyutlu İfadeler (MDX) ifadesi.

Remarks

Bir küme boyunca yineleme yaparken, örneğin Filtre (MDX) veya Oluştur (MDX) fonksiyonları gibi, CurrentOrdinal fonksiyonu yineleme numarasını döndürür.

Examples

Aşağıdaki basit örnek , CurrentOrdinal'inGenerate ile birlikte her bir öğenin adını ve kümedeki konumunu içeren bir diziyi nasıl döndürebileceğini göstermektedir:

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'in pratik kullanımı çok karmaşık hesaplamalarla sınırlıdır. Aşağıdaki örnek, Filtre fonksiyonu kullanılmadan önce boş olmayan tuple'ları sıralamak için Order fonksiyonu kullanılarak kümedeki benzersiz çarpımların sayısını geri döndürür. CurrentOrdinal fonksiyonu, beraberlikleri karşılaştırmak ve ortadan kaldırmak için kullanılır.

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]