Непустой (MDX)

Возвращает множество кортежей, которые не пусты из заданного множества, на основе векторного произведения указанного множества со вторым множеством.

Syntax

  
NONEMPTY(set_expression1 [,set_expression2])  

Arguments

set_expression1
Допустимое выражение многомерных выражений (MDX), которое возвращает множество.

set_expression2
Допустимое выражение многомерных выражений (MDX), которое возвращает множество.

Remarks

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

Замечание

Используйте эту функцию вместо устаревшей функции NonEmptyCrossjoin (MDX ).

Important

Непустое — это характеристика ячеек, связанных кортежами, а не самих кортежей.

Примеры

Следующий запрос показывает простой пример 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]  

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