これは、私が SO に投稿した別の質問の続きです。だから、何が起こっているのかはCOUNT(NONEMPTY
私にカウントされるようですが、そうでDISTINCTCOUNT
はありません。関数を実行している(値の)セットは、実際には異なります。私が使用しているクエリは次のとおりです。
WITH MEMBER Measures.[x] AS
Count(
NONEMPTY(
[Request].[RequestID].children
, {([Measures].[Average of Late Tasks])}
)
)
MEMBER Measures.[y] AS
DISTINCTCOUNT((
[Request].[RequestID].children
, {([Measures].[Average of Late Tasks])}
) )
WITH MEMBER Measures.[z] AS
Count(DISTINCT
NONEMPTY(
[Request].[RequestID].children
, {([Measures].[Average of Late Tasks])}
))
)
SELECT
{Measures.[x], Measures.[y]} ON 0,
[Calendar].[CalendarMonthName].children ON 1
FROM [Model]
WHERE
([Calendar].[CalendarYear].&[2014],
[User].[UserID].&[033343])
出力
x y z
January 1 0 1
February 1 0 1
March 1 0 1
April 1 0 1
May 1 0 1
June 1 0 1
July 1 0 1
August 6 0 6
September 6 0 6
October 7 0 7
November 0 0 0
December 0 0 0
質問は、なぜ機能COUNT(NONEMPTY(
するのに DISTINCTCOUNT が機能しないのですか? RequestID がすべて異なる場合も同様です。
たとえば、8 月の RequestID を確認しました (カウント = 6、上記の結果を参照)。
以下の MDX を実行しました。
SELECT
[Measures].[Average of Late Tasks] ON 0,
non empty ([Calendar].[CalendarMonthName].&[August], [Request].[RequestID].children) ON 1
FROM [Model]
WHERE
([Calendar].[CalendarYear].&[2014],
[User].[UserID].&[033343])
出力
Average of Late Tasks
August 3157 0.00
August 3337 0.00
August 3769 0.00
August 4012 0.00
August 4191 0.00
August 1.22
つまり、それらはすべて別個の要求です。それでも、DISTINCTCOUNT
0 を返します。ここでバックグラウンドで何が起こっているのでしょうか?!