结果集 MDX 中不允许任何空值

Not allow any null values in resultset MDX

我想排除在我的 MDX 查询中有空值的所有行。听起来很简单:

SELECT 
 NON EMPTY{
 ....
 }
 ON 0
etc...

但是,我的一列有值,即使其他列只包含空值。 示例:

Area | ComputerSales | Areadirector
WA     (Null)             Steve
NY     21312              Mary

如何删除第一行,那里有一个(空)值?

您可以使用例如 FILTER 和 ISEMPTY 函数

SELECT
      [Measures].[Fac Count] on 0,
FILTER(
       [Time].[Date Key].children,
       NOT ISEMPTY([Measures].[Fac Count])
       )
       on 1
FROM
   [Test]

这个简单的查询returns只有 Fac Count 度量的日期键具有非空值。

你可以使用 HAVING

SELECT 
  {
    [Measures].[Computer Sales]
   ,[Measures].[Areadirector]
  } ON 0
 ,[AreaDimension].[Area].[Area] HAVING 
  (NOT 
    IsEmpty([Measures].[Computer Sales])) ON 1
FROM [YourCube];

或者先在WITH子句中设置:

WITH 
  SET [S] AS 
    NonEmpty
    (
      [AreaDimension].[Area].[Area]
     ,[Measures].[Computer Sales]
    ) 
SELECT 
  {
    [Measures].[Computer Sales]
   ,[Measures].[Areadirector]
  } ON 0
 ,[S] ON 1
FROM [YourCube];

第二种方法可能更有效。