MDX NON EMPTY

MDX NON EMPTY 关键字将写入所有值为非 NULL 的指定成员。例如,在显示不良绩效产品时,您可能会发现少数产品的值为 NULL。为了删除 NULL 值,我们可以使用此 NON EMPTY 关键字。请参考下表以了解 NON EMPTY 的输出。

度量 1 值度量 2 值结果
空字符空字符NON Empty 关键字将不显示此记录
空字符非 NULLNON Empty 将显示此记录
非 NULL空字符NON Empty 将显示此记录
非 NULL非 NULLNON Empty 将显示此记录

在本文中,我们将通过示例向您展示如何在多维表达式或 MDX 查询中使用 NON EMPTY 关键字。为此,我们将使用以下显示数据。

Source Table 1

MDX NON Empty 示例

在此示例中,我们将使用 Non Empty 来查找每个日历年且销售额非 NULL 的经销商销售额。

SELECT 
  [Measures].[Reseller Sales Amount] ON COLUMNS,
  NON EMPTY [Date].[Calendar].[Calendar Year].ALLMEMBERS ON ROWS
FROM [Adventure Works]

MDX NON EMPTY 2

在上面的 MDX 查询中,我们在列上使用了 [Reseller Sales amount]

[Measures].[Reseller Sales Amount] ON COLUMNS

下面代码中的 MDX Non Empty 关键字将查找经销商销售额非 NULL 的日历年,并将其作为输出显示。

NON EMPTY [Date].[Calendar].[Calendar Year].ALLMEMBERS ON ROWS

众所周知,从 2005 年到 2009 年以及 2014 年都没有销售额,这就是为什么 Non Empty 显示 2010 年、2011 年、2012 年和 2013 年的经销商销售额。

Non Empty 示例 2

在此示例中,我们将使用多个度量来更仔细地向您展示 Non Empty 的行为。

SELECT 
  { [Measures].[Reseller Sales Amount],
    [Measures].[Internet Sales Amount]
  } ON COLUMNS,
  NON EMPTY [Date].[Calendar].[Calendar Year].ALLMEMBERS ON ROWS
FROM [Adventure Works]
MDX NON EMPTY 3

在上面的 MDX 查询中,我们在列上使用了 [Reseller Sales amount] 和 [Internet Sales amount]

{
 [Measures].[Reseller Sales Amount],
 [Measures].[Internet Sales Amount]
} ON COLUMNS

下面代码中的 MDX Non Empty 关键字将查找 [Reseller Sales amount] 和 [Internet Sales amount] 值非 NULL 的日历年。它将显示结果,如我们在上表中解释的那样。

 NON EMPTY [Date].[Calendar].[Calendar Year].ALLMEMBERS ON ROWS

众所周知,从 2005 年到 2009 年没有经销商销售额和互联网销售额。这就是为什么 Non Empty 显示 2010 年、2011 年、2012 年、2013 年和 2014 年的经销商销售额。