我使用的pentahoCE4.8与赛库插件2.6使用蒙德里安3.6.5.
在蒙德里安模式中,我定义了一个具有计算成员的虚拟立方体,该成员由两个虚拟度量组成。这些虚拟度量来自两个具有两个共同维度的立方体。其中一个立方体具有退化的维度,该维度也用于虚拟立方体。
我想按一个维度对计算成员进行分组,其中只有一个虚拟度量值与之相关,但我在这一点上失败了。
伪架构:
<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退化维度”,我就会得到虚拟和计算度量的结果。如果我在Row/Colum或作为过滤器使用它,则仅的值
有没有一种方法/变通方法可以实现这一点,也显示了这个维度的CM?因为理论上蒙德里安可以做以下事情:
我找到了解决问题的方法:
像这样使用ValidMeasure()函数:
<Calculated Member: [Virtual Measure "Cube 1 Measure 1"] / ValidMeasure([Virtual Measure "Cube 2 Measure 2"])>
有效度量函数将告诉蒙德里安,该度量具有可以忽略的非连接维度。度量2将与其他应用的维度连接,并将获得一个值,然后可以用于计算。