olap4J - 关于成员分组的计算

时间:2014-10-20 08:46:51

标签: mondrian olap4j

我试图编写一个olap4j(Mondrian)查询,该查询将按范围对行进行分组。 假设我们有每个孩子的卡数和孩子的年龄。 我想按年龄范围计算卡数量,所以我将有0-5,5-10,10-15岁的计数,依此类推。 这可以用olap4j完成吗?

1 个答案:

答案 0 :(得分: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很容易在维度上定义第一个级别。