2010-05-19 126 views
1

我有一個簡單的問題,我認爲,但我已經搜索並找不到解決方案。我有一個有MeasureA,MeasureB和MeasureC的立方體。並非所有三項衡量指標都有每項記錄的價值,有時它們可​​以爲零,這取決於是否適用。總計和空值超過平均值SQL Server 2008 Analysis Services

現在我的總數,我需要平均,但平均值不能把空值考慮在內。任何幫助都感激不盡。當我查看度量值時,空值顯示爲零。

回答

0

爲什麼不使用AVG()函數計算平均值?

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

當然,這僅適用於如果該平均值將只有3個措施組成。我想只有真正使用AVG()函數,如果你需要評估在一組:
http://msdn.microsoft.com/en-us/library/ms146067.aspx

0

默認情況下,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 
0

對於每一個措施,它的屬性去源列設置,選擇NullProcessing =「保存」,然後該措施將返回NULL,而不是0