MDX查询 - 如果为空,则为0

时间:2011-06-15 21:31:41

标签: sql-server-2005 ssas mdx cube

很难做到这一点:返回0而不是“null”

SELECT
{
    [Measures].[Count]
} ON COLUMNS 
, {
CASE WHEN  
        [TimeDMY].[Month] = 0
    Then 0
    Else 
    [TimeDMY].[Month]
    End

} ON ROWS 
FROM [Views]
WHERE {
    (
    [TimeDMY].[Year -  Month -  Date].[Month].&[2011-07-01T00:00:00]

如果给定月份的Count不为null,则返回正确的值。

如果某个月的值为null,我会得到:

  

查询(20,1)该函数需要a   元组设置表达式为1   论点。字符串或数字   表达被使用。

我试图用IIF和IsEmpty函数来完成这项工作......并取得了类似的成功。

1 个答案:

答案 0 :(得分:1)

我会使用calculated measure

with member [Measures].[count-x] as 
      IIF( isEmpty( ([Measures].[Count], [TimeDMY].[Month].currentMember) ), 
           0, 
           ( [Measures].[Count], [TimeDMY].[Month].currentMember ) 
      )

SELECT 
  [Measures].[count-x]  ON 0,
  [TimeDMY].[Month].members on 1  
FROM [Views]