Поделиться через


CurrentOrdinal (многомерные выражения)

Добавления: 17 июля 2006 г.

Возвращает номер текущей итерации в наборе во время итерации.

Синтаксис

Set_Expression.CurrentOrdinal

Аргументы

  • Set_Expression
    Допустимое многомерное выражение, возвращающее набор.

Замечания

Во время итерации внутри набора, например функциями Filter (многомерные выражения) или Generate (многомерные выражения), функция CurrentOrdinal возвращает номер итерации.

Aa337085.note(ru-ru,SQL.90).gifПримечание.
Указанный набор должен быть псевдонимом и не может быть именованным набором.

Пример

В следующем примере возвращается количество товаров в уникальном наборе, с помощью функции Order осуществляется упорядочивание непустых кортежей перед вызовом функции Filter. Функция 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
    , (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]

См. также

Справочник

Справочник по функциям многомерных выражений (многомерные выражения)

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

17 июля 2006 г.

Измененное содержимое
  • Обновлены синтаксис и аргументы для облегчения понимания.
  • Добавлены обновленные примеры.