NonEmpty (MDX)
Retorna o conjunto de tuplas que não estão vazias a partir de um conjunto especificado, com base no produto cruzado do conjunto especificado com um segundo conjunto.
Sintaxe
NONEMPTY(set_expression1 [,set_expression2])
Argumentos
set_expression1
Uma linguagem MDX válida que retorna um conjunto.set_expression2
Uma linguagem MDX válida que retorna um conjunto.
Comentários
Essa função retorna as tuplas do primeiro conjunto especificado que não estão vazias, quando avaliadas pelas tuplas do segundo conjunto. A função NonEmpty leva em conta os cálculos e preserva as tuplas duplicadas. Se um segundo conjunto não for fornecido, a expressão será avaliada no contexto das coordenadas atuais dos membros das hierarquias de atributos e medidas no cubo.
Dica
Use essa função em vez da função Função NonEmptyCrossjoin (MDX)preterida.
Importante
Não vazia é uma característica das referências de células pelas tuplas, não as próprias tuplas.
Exemplos
A consulta a seguir mostra um exemplo simples de NonEmpty, retornando todos os Clientes que tinham um valor não nulo para a Quantidade de Vendas pela Internet em 1º de julho de 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]
O exemplo a seguir retorna o conjunto de tuplas que contêm clientes e datas de compra, usando a função Filter e a função NonEmpty para localizar a data da última compra feita pelo cliente:
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]