CurrentOrdinal (MDX)

Retourne le numéro d'itération actuel dans un jeu lors d'une itération.

Syntaxe

  
Set_Expression.CurrentOrdinal  

Arguments

Set_Expression
Expression MDX (Multidimensional Expressions) valide qui retourne un jeu.

Remarques

Lors de l’itération au sein d’un jeu, par exemple avec les fonctions Filter (MDX) ou Generate (MDX), la fonction CurrentOrdinal retourne le numéro d’itération.

Exemples

L’exemple simple suivant montre comment CurrentOrdinal peut être utilisé avec Generate pour renvoyer une chaîne contenant le nom de chaque élément d’un jeu ainsi que sa position dans l’ensemble :

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'utilisation pratique de CurrentOrdinal est limitée aux calculs très complexes. L’exemple suivant retourne le nombre de produits uniques dans l’ensemble, à l’aide de la fonction Order pour classer les tuples non vides avant d’utiliser la fonction Filter . La fonction CurrentOrdinal est utilisée pour comparer et éliminer les liens.

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]  

Voir aussi

Guide de référence des fonctions MDX (MDX)