請幫助創造平均值時某些值爲NULL如何計算某些行不存在時的平均值?
事實表:
立方體:
SELECT NON EMPTY {[Measures].[Score]} * [Date].[Month].allmembers ON COLUMNS
,{[Name].[name].allmembers} ON ROWS
FROM Test
問題:
當我計算平均值時,排除NULL值。我嘗試了COALESCEEMPTY(),但無法正確計算平均值。分數= 0的月份的平均值不正確。繼承人的代碼:
WITH
MEMBER [Measures].[DateCount] AS DISTINCTCOUNT([Data].[date].[date])
MEMBER [Measures].[ScoreX] AS COALESCEEMPTY([Measures].[Score],0)
MEMBER [Measures].[DateCountX] AS COALESCEEMPTY([Measures].[DateCount],0)
MEMBER [Measures].[AvgScore] AS IIF([Measures].[DateCountX]=0,0,[Measures].[ScoreX]/[Measures].[DateCountX])
SELECT NON EMPTY {[Measures].[AvgScore]} * [Date].[Month].allmembers ON COLUMNS
,{[Name].[name].allmembers} ON ROWS
FROM Test
請幫助尋找解決方案。
您需要使用COALESCE_EMPTY用零替換空單元格。 –
我加了COALESCEEMPTY,現在這個表沒有空單元,而是0。儘管如此,「總得分」是一樣的。我怎麼才能讓它計算出正確的值? –
你如何計算[數據計數]?我沒有在你的事實表中看到它。在我看來你是在:(Score1 + Score2)/ 2,我不知道[Data Count]如何進入它。 –