Questa funzione restituisce le tuple del primo set specificato che risultano non vuote quando vengono valutate sulle tuple del secondo set. La funzione NonEmpty tiene conto dei calcoli e mantiene le tuple duplicate. Se non viene specificato un secondo set, l'espressione viene valutata nel contesto delle coordinate correnti dei membri delle gerarchie degli attributi e delle misure del cubo.
Nella query seguente viene illustrato un esempio semplice di NonEmpty, che restituisce tutti i clienti che hanno un valore diverso da Null in Internet Sales Amount alla data 1 luglio 2001:
SELECT [Measures].[Internet Sales Amount] ON 0,
NONEMPTY(
[Customer].[Customer].[Customer].MEMBERS
, {([Date].[Calendar].[Date].&[1], [Measures].[Internet Sales Amount])}
)
ON 1
FROM [Adventure Works]
Nell'esempio seguente viene restituito il set di tuple contenente i clienti e le date di acquisto, utilizzando le funzioni Filter e NonEmpty per individuare l'ultima data in cui ogni cliente ha eseguito un acquisto:
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]