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


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

Изменения: 17 июля 2006 г.

Возвращает набор, получающийся в результате фильтрации заданного набора на основе условия поиска.

Синтаксис

Filter(Set_Expression, Logical_Expression )

Аргументы

  • Set_Expression
    Допустимое многомерное выражение, возвращающее набор.
  • Logical_Expression
    Допустимое многомерное выражение иерархии, принимающее значение «true» или «false».

Замечания

Функция Filter вычисляет указанное логическое выражение для каждого кортежа в заданном наборе. Функция возвращает набор, состоящий из всех кортежей указанного набора, для которых логическое выражение принимает значение true. Если выражение не принимает значение true ни для каких кортежей, возвращается пустой набор.

Функция Filter работает аналогично функции IIf. Функция IIf возвращает только одно из двух значений, исходя из многомерного логического условия. Функция Filter возвращает набор кортежей, удовлетворяющих заданному условию поиска. Фактически функция Filter выполняет функцию IIf(Logical_Expression, Set_Expression.Current, NULL) для каждого кортежа набора и возвращает результирующий набор.

Пример

В следующем примере возвращается сумма значений Measures.[Order Quantity], собранных за первые девять месяцев 2003 г. и содержащихся в измерении Date куба Adventure Works. Функцией PeriodsToDate определяются кортежи в наборе, который передается функции Aggregate. Функция Filter ограничивает возвращаемые кортежи теми, у которых значения меры Reseller Sales Amount за предыдущий период меньше.

WITH MEMBER Measures.[Declining Reseller Sales] AS Count
   (Filter
      (Existing
         (Reseller.Reseller.Reseller), 
            [Measures].[Reseller Sales Amount] < 
               ([Measures].[Reseller Sales Amount],[Date].Calendar.PrevMember)
        )
    )
MEMBER [Geography].[State-Province].x AS Aggregate 
( {[Geography].[State-Province].&[WA]&[US], 
   [Geography].[State-Province].&[OR]&[US] } 
)
SELECT NON EMPTY HIERARCHIZE 
   (AddCalculatedMembers 
      ({DrillDownLevel
         ({[Product].[All Products]})}
        )
    ) DIMENSION PROPERTIES PARENT_UNIQUE_NAME ON COLUMNS 
FROM [Adventure Works]
WHERE ([Geography].[State-Province].x, 
   [Date].[Calendar].[Calendar Quarter].&[2003]&[4],
   [Measures].[Declining Reseller Sales])

См. также

Справочник

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

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

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

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

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

17 июля 2006 г.

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