CurrentOrdinal (MDX)CurrentOrdinal (MDX)

QUESTO ARGOMENTO SI APPLICA A:sìSQL Server (a partire dalla versione 2008)noDatabase SQL di AzurenoAzure SQL Data Warehouse noParallel Data Warehouse THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Restituisce il numero di iterazioni corrente da un set durante l'iterazione.Returns the current iteration number within a set during iteration.

SintassiSyntax


Set_Expression.CurrentOrdinal  

ArgomentiArguments

Set_ExpressionSet_Expression
Espressione MDX (Multidimensional Expression) valida che restituisce un set.A valid Multidimensional Expressions (MDX) expression that returns a set.

OsservazioniRemarks

Quando si scorre un set, ad esempio con il Filter (MDX) o Generate (MDX) funzioni, il CurrentOrdinal funzione restituisce il numero di iterazioni.When iterating through a set, such as with the Filter (MDX) or Generate (MDX) functions, the CurrentOrdinal function returns the iteration number.

EsempiExamples

Il semplice esempio seguente viene illustrato come CurrentOrdinal può essere utilizzato con genera per restituire una stringa contenente il nome di ogni elemento in un set e la relativa posizione nel set:The following simple example shows how CurrentOrdinal can be used with Generate to return a string containing the name of each item in a set along with its position in the 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.The practical use of CurrentOrdinal is limited to very complex calculations. L'esempio seguente restituisce il numero di prodotti nel set che sono univoci, utilizzando il ordine funzione per ordinare le tuple non vuote prima di applicare il filtro (funzione).The following example returns the number of products in the set that are unique, using the Order function to order the non-empty tuples before utilizing the Filter function. Il CurrentOrdinal funzione viene utilizzata per confrontare ed eliminare i valori equivalenti.The CurrentOrdinal function is used to compare and eliminate ties.

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 ancheSee Also

Riferimento alla funzione MDX ( MDX )MDX Function Reference (MDX)