$Monitoring キューブに次の MDX ステートメントがあります。
WITH
MEMBER [Measures].[Unique Users] AS distinctcount(([User].[User].[User L].members
, [Measures].[Open Report Count])),format_string="#,#0"
SELECT
NON EMPTY { {[Measures].[Unique Users],[Measures].[Open Report Count]} } ON COLUMNS,
NON EMPTY { [Time].[Time].[Day L] } ON ROWS
FROM ( SELECT
{ lag(strtomember("[Time].[Time].["+right("0"+str(day(SchemaRefreshTime())),2) +"-"+ right("0"+str(month(SchemaRefreshTime())),2) + "-"+str(year(SchemaRefreshTime()))+ "]"), 6):strtomember("[Time].[Time].["+right("0"+str(day(SchemaRefreshTime())),2) +"-"+ right("0"+str(month(SchemaRefreshTime())),2) + "-"+str(year(SchemaRefreshTime()))+ "]") } ON 0 FROM [$Monitoring])
/*ic3navigation*/
axis 1 NON EMPTY order(nonempty(Descendants([Report].[Report], ,leaves),[Open Report Count]),[Open Report Count],desc)
FILTERBY /*ic3*/ {[Time].[Time].[ALL].&[2015].&[2015-11-27].&[27-11-2015]}
FILTERBY /*ic3*/ {[User].[User].[All Users].&[<user>]}
- *)
<user>
実際のユーザー名で変更 - *) ...lag.. 式は、スキーマの更新時間に基づいて過去 7 日間を与えるために使用されます
- ***) 既存のユーザーを入力した場合、この MDX クエリは任意の $Monitoring キューブで実行できます。
私は、distinctcount 関数が FILTERBY を考慮に入れることを期待しています。したがって、結果は 1 になります (選択されたユーザーは 1 人だけです)。奇妙なことに、そうではありません。複数のユーザーが表示されるため、ユーザーの FILTERBY は、distinctcount では考慮されていないと思います。
FILTER BY を AXIS または ROWS または COLUMNS に移動すると、同じことが起こります。
これはバグですか、それとも icCube で MDX/MDX++ がどのように機能するのか?
お知らせ下さい。