2016-07-28 78 views
2

我需要用我的SSAS cube替換null與。什麼是實現這一目標的正確方法?如何用0代替SSAS立方體中的空值

這是我當前的查詢:從當前查詢

SELECT {([Measures].[Employee Age Count])} 
ON COLUMNS, { ([Dim Gender].[Gender Name].[Gender Name].ALLMEMBERS * 
[Dim Age Ranges].[Age Range ID].[Age Range ID].ALLMEMBERS) } ON ROWS 
FROM (SELECT ({ [Dim Location].[Location].[Location Grp Name].&[BOSTON] }) ON COLUMNS 
FROM [People Dashboard]) 
WHERE ([Dim Location].[Location].[Location Grp Name].&[BOSTON]) 

結果:

enter image description here

回答

2

我認爲IIF(ISEMPTY...是非常標準的。

WITH MEMBER [Measures].[MEASURE_NONEMPTY] AS 
    IIF(
    ISEMPTY([Measures].[Service Period Count]) 
    ,0 
    ,[Measures].[Service Period Count] 
) 
SELECT 
    {[Measures].[MEASURE_NONEMPTY]} ON 0, 
     [Dim Gender].[Gender Name].[Gender Name].ALLMEMBERS 
    * [Dim Age Ranges].[Age Range ID].[Age Range ID].ALLMEMBERS 
    ON 1 
FROM [People Dashboard] 
WHERE [Dim Location].[Location].[Location Grp Name].&[BOSTON] 
; 
0

我沒有測試過,但你可以嘗試像下面如果它的工作原理,

SELECT {COALESCE (([Measures].[Employee Age Count]),"0") as AgeCount} 
ON COLUMNS, { ([Dim Gender].[Gender Name].[Gender Name].ALLMEMBERS * 
[Dim Age Ranges].[Age Range ID].[Age Range ID].ALLMEMBERS) } ON ROWS 
FROM (SELECT ({ [Dim Location].[Location].[Location Grp Name].&[BOSTON] }) ON COLUMNS 
FROM [People Dashboard]) 
WHERE ([Dim Location].[Location].[Location Grp Name].&[BOSTON]) 
+0

返回COALESCE功能在Microsoft SQL Server分析服務不存在:

我也被刪除了不少括號&也動邏輯出來的子查詢到一個基本WHERE條款簡化您的腳本。我嘗試使用COALESCEEMPTY(([Measures]。[Employee Age Count]),「0」,並在以下代碼中出現錯誤:Query(1,9)該函數需要1個參數的元組表達式。 。 –

+0

讓我檢查它,因爲我告訴你我目前無法測試它,但讓我再次檢查它 – Vickyexpert

+0

你也可以在這裏查看:http://www.w3schools.com/sql/sql_isnull.asp – Vickyexpert

0
WITH MEMBER [Measures].[MEASURE_NONEMPTY] AS COALESCEEMPTY([Measures].[Service Period 
Count], 0) 
SELECT {[Measures].[MEASURE_NONEMPTY]} ON COLUMNS, { ([Dim Gender].[Gender Name].[Gender 
Name].ALLMEMBERS * [Dim Age Ranges].[Age Range ID].[Age Range ID].ALLMEMBERS) 
} ON ROWS FROM (SELECT ({ [Dim Location].[Location].[Location Grp Name].& 
[BOSTON] }) ON COLUMNS FROM [People Dashboard]) WHERE ([Dim Location]. 
[Location].[Location Grp Name].&[BOSTON]) 

我用上面的代碼來解決我的問題。

相關問題