CurrentOrdinal (MDX)

Restituisce il numero di iterazioni corrente da un set durante l'iterazione.

Sintassi

  
Set_Expression.CurrentOrdinal  

Argomenti

Set_Expression
Espressione MDX (Multidimensional Expression) valida che restituisce un set.

Commenti

Quando si esegue l'iterazione di un set, ad esempio con le funzioni Filter (MDX) o Generate (MDX ), la funzione CurrentOrdinal restituisce il numero di iterazione.

Esempio

Il semplice esempio seguente illustra come usare CurrentOrdinal con Generate per restituire una stringa contenente il nome di ogni elemento in un set insieme alla relativa posizione nel 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]

L'utilizzo pratico di CurrentOrdinal è limitato ai calcoli molto complessi. Nell'esempio seguente viene restituito il numero di prodotti nel set univoci, usando la funzione Order per ordinare le tuple non vuote prima di usare la funzione Filter . La funzione CurrentOrdinal viene usata per confrontare ed eliminare i confronti.

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]  

Vedere anche

Guida di riferimento alle funzioni MDX (MDX)