分享方式:


CurrentOrdinal (MDX)

傳回反復專案期間集合內的目前反覆運算編號。

語法

  
Set_Expression.CurrentOrdinal  

引數

Set_Expression
傳回集合的有效多維度運算式 (MDX) 運算式。

備註

逐一查看集合時,例如使用 Filter (MDX) Generate (MDX) 函式, CurrentOrdinal 函 式會傳回反覆運算編號。

範例

下列簡單範例示範 CurrentOrdinal 如何 搭配 Generate 使用,以傳回字串,其中包含集合中每個專案的名稱,以及其在集合中的位置:

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]

CurrentOrdinal 的實際使用僅限於非常複雜的計算。 下列範例會傳回集合中唯一的產品數目,使用 Order 函式在使用 Filter 函式之前排序非空白 Tuple。 CurrentOrdinal 函式可用來比較和消除系結。

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]  

另請參閱

MDX 函數參考 (MDX)