私はmdxを初めて使用し、次の問題を約1日解決しようとしています。どんな助けでも大歓迎です:
私のクエリ:
select {[Measures].[Kunden]} ON COLUMNS,
NON EMPTY Hierarchize(Union({CurrentDateMember([dimZeit], "[\di\mZeit]
\.[yyyy]"), CurrentDateMember([dimZeit], "[\di\mZeit]\.[yyyy]").Children},
CurrentDateMember([dimZeit], "[\di\mZeit]\.[yyyy]\.[q]").Children))) ON ROWS
FROM Center
予想どおり、次の結果が得られます。
Zeit Kunden
2010 1561
- Q1 523
- Q2 470
- Q3 256
- Q4 312
- Nov. 312
ここで、達成したいのは、「クンデン」列を列「クンデン < 5 分」と「クンデン > 5 分」に分割することです。これは、5 分未満またはそれ以上待っていた顧客を意味します。
私が得ることができた最も近いものは次のとおりでした:
WITH
MEMBER [Measures].[LT5] AS
Aggregate(
Filter([Measures].[Kunden], [Measures].[Wartezeit] < 3000))
select {[Measures].[LT5]} ON COLUMNS,
NON EMPTY Hierarchize(Union({CurrentDateMember([dimZeit], "[\di\mZeit]\.[yyyy]"),
CurrentDateMember([dimZeit], "[\di\mZeit]\.[yyyy]").Children},
CurrentDateMember([dimZeit], "[\di\mZeit]\.[yyyy]\.[q]").Children)) ON ROWS
FROM Center
結果は次のとおりです。
Zeit Kunden
2010 -
- Q1 75
- Q2 23
- Q3 86
- Q4 71
- Nov. 71
この原因は、2010 年全体の集計された [Measure].[Wartezeit] が 3000 秒を超えているためだと理解しています。しかし、待ち時間が 3000 秒未満の顧客の数を知りたいので、2010 年の場合は 75+23+86+71 = 255 になるはずです。