Compartilhar via


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 expressão MDX (Multidimensional Expressions) válida que retorna um conjunto.

  • set_expression2
    Uma expressão 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.

ObservaçãoObservação

Use essa função em vez da função Função NonEmptyCrossjoin (MDX)preterida.

Observação importanteImportante

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]