删除MDX查询中所有(度量)列为空的行

时间:2016-03-02 16:05:58

标签: sql-server mdx

我有以下MDX查询

extern "C"

结果我得到了

SELECT

NON EMPTY
{                  
    [Measures].[Date]   
    ,[Measures].[count]  
    ,[Measures].[Growth]
    ,[Measures].[Growth percentage]
}
ON COLUMNS,

NON EMPTY
(
    NONEMPTY(
     [Business Unit].[BU Number].[BU Number])
    ,[Department].[Deptnumber].[Deptnumber]
    ,SelectedPeriod
)
ON ROWS

FROM Cube

我只想要填充至少一个字段的位置 (伯爵   发展   增长百分比 ) 所以当我看到所有空值时应该删除该行

非空在本例中不会那样做

那么如何修复

感谢

2 个答案:

答案 0 :(得分:2)

试试这个:

SELECT
{                  
    [Measures].[Date]   
    ,[Measures].[count]  
    ,[Measures].[Growth]
    ,[Measures].[Growth percentage]
}
ON COLUMNS,
NONEMPTY(
    [Business Unit].[BU Number].[BU Number].Members
     *[Department].[Deptnumber].[Deptnumber].Members
     *SelectedPeriod,
    {
     [Measures].[count]  
    ,[Measures].[Growth]
    ,[Measures].[Growth percentage]
    }
)
ON ROWS

FROM Cube

答案 1 :(得分:0)

我添加了一个成员来使measure.date为null,如果其他任何其他为null 这有效,但现在表现不存在。它适用于数据的某些过滤器,但98%在长时间等待后不会产生结果

MEMBER [Measures].[Date calc] AS 
(
   IIF( [Measures].[Date] = null  
    AND [Measures].[count] = null 
    AND [Measures].[Growth] = null
    AND [Measures].[Growth percentage] = null, Null, [Measures].[Date]  )  
)

我用过 非空     CROSSJOIN(         Hierarchize(),
        Hierarchize()         SelectedPeriode     )
ON ROWS

这解决了性能问题