0
我正在尝试编写一个olap4j(Mondrian)查询,该查询将按范围对行进行分组。 假设我们有每个孩子和孩子年龄的卡片数量。 我想根据年龄范围来计算卡的数量,所以我会计算年龄0-5,5-10,10-15等等。 这可以用olap4j完成吗?olap4J - 计算成员分组
我正在尝试编写一个olap4j(Mondrian)查询,该查询将按范围对行进行分组。 假设我们有每个孩子和孩子年龄的卡片数量。 我想根据年龄范围来计算卡的数量,所以我会计算年龄0-5,5-10,10-15等等。 这可以用olap4j完成吗?olap4J - 计算成员分组
您需要定义计算成员为:
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尺寸的第一级。
是的,这是一个不错的想法,但我的范围大小是动态的。因此,预先定义表格中的范围不会起到诀窍的作用。 – 2014-10-22 07:20:06
在这种情况下,您需要在查询时创建它们。如果它们是动态的“但不是那么多”,则可以在维度中定义多个分组。 – nsousa 2014-10-22 07:37:46
这可能与没有MDX的olap4j api? – 2014-10-22 11:19:51