CurrentOrdinal (MDX)

Mengembalikan nomor perulangan saat ini dalam satu set selama perulangan.

Sintaks

  
Set_Expression.CurrentOrdinal  

Argumen

Set_Expression
Ekspresi Ekspresi Multidimensi (MDX) yang valid yang mengembalikan satu set.

Keterangan

Saat melakukan iterasi melalui set, seperti dengan fungsi Filter (MDX) atau Generate (MDX ), fungsi CurrentOrdinal mengembalikan nomor iterasi.

Contoh

Contoh sederhana berikut menunjukkan bagaimana CurrentOrdinal dapat digunakan dengan Generate untuk mengembalikan string yang berisi nama setiap item dalam satu set bersama dengan posisinya dalam 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]

Penggunaan praktis CurrentOrdinal terbatas pada perhitungan yang sangat kompleks. Contoh berikut mengembalikan jumlah produk dalam set yang unik, menggunakan fungsi Pesanan untuk memesan 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]  

Lihat juga

Referensi Fungsi MDX (MDX)