我试图编写一个olap4j(Mondrian)查询,该查询将按范围对行进行分组。 假设我们有每个孩子的卡数和孩子的年龄。 我想按年龄范围计算卡数量,所以我将有0-5,5-10,10-15岁的计数,依此类推。 这可以用olap4j完成吗?
答案 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很容易在维度上定义第一个级别。