请帮助创造平均值时某些值为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]如何进入它。 –