我使用宾得-CE 4.8与Saiku插件2.6,其中使用Mondrian 3.6.5。
在Mondrian中,我定义了一个具有计算成员的虚拟立方体,该成员由两个虚拟度量组成。这些虚拟度量来自两个立方体,它们具有两个共同的维度。其中一个立方体具有退化的维数,它也用于虚拟立方体中。
我想将计算出的成员按一个维度分组,这个维度只有一个虚拟度量是相关的,但我在这一点上失败了。
伪模式:
<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退化维数“,就可以得到虚度量和计算测度的结果。如果我将其用于行/列或作为筛选器,则只显示<Virtual Measure "Cube 1 Measure 1">的值,因为此度量来自与该维度相关的多维数据集。
有没有一种方法/解决办法,我可以实现这一点,CM也显示了这个维度?因为从理论上讲,Mondrian可以做以下工作:
发布于 2014-04-23 12:33:26
我找到了解决这个问题的办法:
使用ValidMeasure()函数如下:
<Calculated Member: [Virtual Measure "Cube 1 Measure 1"] / ValidMeasure([Virtual Measure "Cube 2 Measure 2"])>有效的度量函数将告诉Mondrian,该度量具有不可忽略的非连接维数。措施2将与其他应用的尺寸连接,并将得到一个值,然后可以用于计算。
https://stackoverflow.com/questions/23084564
复制相似问题