【问题标题】:Group Calculated Member Aggregates by partly related Dimension按部分相关的维度对计算的成员聚合进行分组
【发布时间】: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”,我就会得到虚拟和计算测量的结果。如果我在行/列上使用它或将其用作过滤器,则仅显示 &lt;Virtual Measure "Cube 1 Measure 1"&gt; 的值,因为此 Measure 来自与该维度相关的多维数据集。

有没有一种方法/解决方法我可以实现这个维度的 CM 也显示?因为理论上蒙德里安可以做到以下几点:

  1. 根据“Cube 1 Degeneration Dimension”和 Time Dimension 获取 Virtual Measure“Cube 1 Measure 1”,最后聚合这些值。
  2. 仅根据时间维度获取虚拟度量“Cube 2 Measure 2”。
  3. 进行计算(划分“Cube 1 Measure 1”/“Cube 2 Measure 2”)

【问题讨论】:

    标签: mdx pentaho mondrian


    【解决方案1】:

    我找到了解决问题的方法:

    像这样使用 ValidMeasure() 函数:

        <Calculated Member: [Virtual Measure "Cube 1 Measure 1"] / ValidMeasure([Virtual Measure "Cube 2 Measure 2"])>
    

    有效度量函数将告诉 Mondrian,该度量具有可以忽略的非连接维度。度量 2 将与其他应用的维度相结合,并获得一个值,然后可以将其用于计算。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多