我是 mdx 的新手,大约一天以来一直在尝试解决以下问题。任何帮助,将不胜感激:
我的查询:
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
现在,我想要实现的是将“Kunden”列拆分为“Kunden < 5 min”和“Kunden > 5min”列,这意味着等待时间少于或超过 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。