NonEmpty (многомерные выражения)
Возвращает набор непустых кортежей из заданного набора, основываясь на прямом произведении заданного набора со вторым набором.
Синтаксис
NONEMPTY(set_expression1 [,set_expression2])
Аргументы
set_expression1
Допустимое многомерное выражение, возвращающее набор.
set_expression2
Допустимое многомерное выражение, возвращающее набор.
Замечания
Эта функция возвращает непустые кортежи из первого заданного кортежа, полученные с учетом кортежей второго набора. Функция NonEmpty учитывает вычисления и сохраняет повторяющиеся кортежи. Если второй набор не предоставлен, выражение рассматривается в контексте текущих координат элементов иерархий атрибута и мер в кубе.
Заметка
Используйте эту функцию вместо нерекомендуемой функции NonEmptyCrosjoin (МНОГОМЕРНЫЕ выражения).
Внимание
Непустота — характеристика ячеек, на которые ссылаются кортежи, а не самих кортежей.
Примеры
В следующем запросе показан простой пример NonEmpty, возвращающий все клиенты, которые имели непустое значение для суммы продаж в Интернете 1 июля 2001 года:
SELECT [Measures].[Internet Sales Amount] ON 0,
NONEMPTY(
[Customer].[Customer].[Customer].MEMBERS
, {([Date].[Calendar].[Date].&[20010701], [Measures].[Internet Sales Amount])}
)
ON 1
FROM [Adventure Works]
В следующем примере возвращается набор кортежей, содержащих клиентов и даты покупки, с помощью функции фильтра и функций NonEmpty для поиска последней даты, которую каждый клиент сделал покупку:
WITH SET MYROWS AS FILTER
(NONEMPTY
([Customer].[Customer Geography].[Customer].MEMBERS
* [Date].[Date].[Date].MEMBERS
, [Measures].[Internet Sales Amount]
) AS MYSET
, NOT(MYSET.CURRENT.ITEM(0)
IS MYSET.ITEM(RANK(MYSET.CURRENT, MYSET)).ITEM(0))
)
SELECT [Measures].[Internet Sales Amount] ON 0,
MYROWS ON 1
FROM [Adventure Works]
См. также
DefaultMember (многомерные выражения)
Фильтр (многомерные выражения)
IsEmpty (многомерные выражения)
Справочник по функции многомерных выражений (многомерные выражения)
NonEmptyCrossjoin (многомерные выражения)