【发布时间】:2014-05-29 20:34:44
【问题描述】:
我正在使用 Pentaho-CE 4.8 和 Saiku 插件 2.6,它使用 Mondrian 3.6.5。
在蒙德里安模式中,我定义了一个具有计算成员的虚拟立方体,该成员由两个虚拟度量组成。这些虚拟度量来自两个具有两个共同维度的多维数据集。其中一个 Cube 有一个退化的 Dimension,它也用于虚拟 Cube。
我想按仅与一个虚拟度量相关的维度对计算成员进行分组,但此时我失败了。
伪架构:
<Time Dimension>
<Cube 1>
<Dimension Usage: "Time Dimension">
<Degenerated Dimension>
<Measure 1>
</Cube1>
<Cube 2>
<Dimension Usage: "Time Dimension">
<Measure 2>
</Cube 2>
<Virtual Cube>
<Virtual Measure "Cube 1 Measure 1">
<Virtual Measure "Cube 2 Measure 2">
<Virtual Dimension "Time Dimension">
<Virtual Dimension "Cube 1 Degenerated Dimension"
<Calculated Member: [Virtual Measure "Cube 1 Measure 1"] / [Virtual Measure "Cube 2 Measure 2"]
</Virtual Cube>
在 saiku 中,只要我不使用“Cube 1 Degeneration Dimension”,我就会得到虚拟和计算测量的结果。如果我在行/列上使用它或将其用作过滤器,则仅显示 <Virtual Measure "Cube 1 Measure 1"> 的值,因为此 Measure 来自与该维度相关的多维数据集。
有没有一种方法/解决方法我可以实现这个维度的 CM 也显示?因为理论上蒙德里安可以做到以下几点:
- 根据“Cube 1 Degeneration Dimension”和 Time Dimension 获取 Virtual Measure“Cube 1 Measure 1”,最后聚合这些值。
- 仅根据时间维度获取虚拟度量“Cube 2 Measure 2”。
- 进行计算(划分“Cube 1 Measure 1”/“Cube 2 Measure 2”)
【问题讨论】: