olap4J - расчеты по группировке членов

Я пытаюсь написать запрос olap4j (Mondrian), который сгруппирует строки по диапазонам. Предположим, у нас есть количество карточек на ребенка и возраст детей. Я хочу суммировать количество карт по возрастным диапазонам, поэтому у меня будет счет в возрасте 0-5,5-10,10-15 и так далее. Это можно сделать с помощью olap4j?

1 ответ

Для этого вам нужно определить вычисляемые члены:

With member [Age].[0-4] as [Age].[0]:[Age].[4]
member [Age].[5-9] as [Age].[5]:[Age].[9]

и т.п.

В качестве альтернативы вы можете изменить дизайн таблицы измерений. Я предполагаю, что у вас есть возраст как вырожденное измерение в таблице фактов. Я предлагаю создать отдельное измерение dim_age с такой структурой:

age_id, age, age_group
0, null, null
1, 0, 0-4
2, 1, 0-4
(...)

Тогда легко определить первый уровень в измерении на основе age_group.

Другие вопросы по тегам