Я новичок в 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 минут» и «Kunden> 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
Я понимаю, что причина этого в том, что совокупный показатель [Мера]. [Wartezeit] за весь 2010 год превышает 3000 секунд. Но я бы хотел видеть количество клиентов со временем ожидания ниже 3000 секунд, поэтому в 2010 году оно должно составлять 75 + 23 + 86 + 71 = 255.