1

私は単純な問題を抱えていると思いますが、グーグルで検索しても解決策が見つかりません。MeasureA、MeasureB、および MeasureC を持つキューブがあります。3 つのメジャーすべてに各レコードの値があるわけではありません。場合によっては null になることもありますが、適用可能かどうかによって異なります。

合計については、平均化する必要がありますが、平均値は null を考慮してはいけません。どんな助けでも大歓迎です。メジャーを表示すると、null 値がゼロとして表示されます。

4

4 に答える 4

0

NonEmpty()MDX関数を使用して、平均化するセットをラップできますか?

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

于 2010-05-19T14:21:59.387 に答える
0

デフォルトでは、SQL Server は null を無視します - したがって、メッセージが表示されます -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
于 2010-05-19T13:56:32.240 に答える
0

メジャーごとに、そのプロパティでソース列の設定に移動し、NullProcessing="Preserve" を選択すると、メジャーは 0 ではなく NULL を返します。

于 2012-02-17T15:44:19.153 に答える
0

AVG() 関数を使用せずに平均を計算してみませんか?

例:
([MEASURES].[MEASUREA] + [MEASURES].[MEASUREB] + [MEASURES].[MEASUREC]) / 3

もちろん、これは、この平均が 3 つのメジャーのみで構成される場合にのみ機能します。セットを評価する必要がある場合にのみ、AVG() 関数を実際に使用します

于 2010-05-19T13:53:36.187 に答える