CurrentOrdinal (MDX)

Mengembalikan angka iterasi saat ini dalam satu himpunan selama iterasi.

Syntax

  
Set_Expression.CurrentOrdinal  

Arguments

Set_Expression
Ekspresi Multidimensional Expressions (MDX) valid yang mengembalikan set.

Remarks

Saat melakukan iterasi melalui sebuah himpunan, seperti dengan fungsi Filter (MDX) atau Generate (MDX), fungsi CurrentOrdinal mengembalikan angka iterasi.

Examples

Contoh sederhana berikut menunjukkan bagaimana CurrentOrdinal dapat digunakan bersama Generate untuk mengembalikan string yang berisi nama setiap item dalam sebuah himpunan beserta posisinya dalam himpunan:

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]  

Penggunaan praktis CurrentOrdinal terbatas pada perhitungan yang sangat kompleks. Contoh berikut mengembalikan jumlah produk dalam himpunan yang unik, menggunakan fungsi Order untuk mengurutkan tuple yang tidak kosong sebelum menggunakan fungsi Filter . Fungsi CurrentOrdinal digunakan untuk membandingkan dan menghilangkan ikatan.

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]