2011-06-15 109 views
0

有一個很難做這個簡單的事:而不是「空」MDX查詢 - 0,如果空

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] 

這將返回如果計數不爲空,特定月份的正確值返回0。

如果該值是無效對於給定的月份,我得到:

查詢(20,1)函數需要爲1個 參數一 元組集合的表達。使用了字符串或數字 表達式。

我試圖使這個工作與IIF和IsEmpty函數..與此類似的成功。

回答

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]