总计和空值超过平均值SQL Server 2008 Analysis Services

问题描述:

我有一个简单的问题,我认为,但我已经搜索并找不到解决方案。我有一个有MeasureA,MeasureB和MeasureC的立方体。并非所有三项衡量指标都有每项记录的价值,有时它们可​​以为零,这取决于是否适用。总计和空值超过平均值SQL Server 2008 Analysis Services

现在我的总数,我需要平均,但平均值不能把空值考虑在内。任何帮助都感激不尽。当我查看度量值时,空值显示为零。

为什么不使用AVG()函数计算平均值?

例如:
(。[措施] [MEASUREA] + [措施] [MEASUREB] + [措施] [MEASUREC])/ 3

当然,这仅适用于如果该平均值将只有3个措施组成。我想只有真正使用AVG()函数,如果你需要评估在一组:
http://msdn.microsoft.com/en-us/library/ms146067.aspx

默认情况下,SQL Server会忽略空值 - 因此消息你 - Warning: Null value is eliminated by an aggregate or other SET operation.

例子:

create table #test (id int null) 
insert #test values (1) 
insert #test values (1) 
insert #test values (null) 
insert #test values (1) 

select avg(id), sum(id), count(id) from #test 

您可以使用NonEmpty()MDX函数来包装您正在平均出来的集合吗?

http://msdn.microsoft.com/en-us/library/ms145988.aspx

对于每一个措施,它的属性去源列设置,选择NullProcessing =“保存”,然后该措施将返回NULL,而不是0