提问者:小点点

Mondrian Schema,数据和表示的分离


我一直在尝试构建一个专门用于Pentaho 5.0的Mondrian模式(我不确定版本在这里是否很重要。)我似乎反复遇到的一个问题是,如何控制数据的呈现与数据本身。让我举一个例子来说明。

想象一个立方体,例如:(D表示维度,H表示层次结构,L表示级别)

D: time
  H: default
    L: year
    L: month
    L: day
D: currency
  H: default
    L: name
    L: code

如果我们考虑time.年的成员,我相信我们都会同意他们将是…,2008,2009,2010,2011,2012,2013,…。所以让我们继续time.月。这里事情变得有趣了。我们将time.月表示为数字还是单词?为什么不两者兼而有之呢?

Mondrian提供了一种方法来指定成员的名称以及成员的“标题”,它提供了与成员名称不同的表示值。太好了!但是,如果我提供标题,那么在Pentaho中,您只能看到标题。永远不会看到原始成员名称。我如何让我的用户选择更合适的名称?

我们的第二维度也有类似的问题。想象一下世界货币类型的数据集。有3个字母ISO标准货币代码和一个官方货币名称。这两个值是1:1并且完全相互依赖。每个都是唯一的键。两者之间没有实际的层次关系。我只是将它们视为同一条数据的两种不同表示。这里最大的障碍是,如果它们不在同一个层次结构中,那么Pentaho可以自由地允许您将它们放在相反的轴上。这使得看起来很荒谬的报告如下:

     United States Dollar | Canadian Dollar | Euro | ...
USD |               12345 |               - |    - | 
CAD |                   - |           12345 |    - |
EUR |                   - |               - | 1234 |
...

当您希望简洁时,代码非常出色。但是,也许您正在处理涉及几种不常见货币的特定情况,并且您不想让报告读者不得不查找更晦涩代码的含义。我探索了的使用

最终,我希望有一些机制来控制数据的呈现,或者模式设计中的一些技术,为最终用户在Pentaho中进行分析带来明智、连贯的体验。


共1个答案

匿名用户

这很常见。

关于属性——你不能在分析器中重新排序它们,这很烦人,它们似乎是二等公民。由于它们在Saiku中仍然不受支持或显示,这通常意味着它们无论如何都不能使用。然而,在你的例子中,这确实是对属性的预期正确使用——事实上是一个很好的描述!

所以有一个解决方案,但它不是非常干净。您可以根据用户偏好定义不同的层次结构,然后使用基于角色的安全性对最终用户隐藏一个或另一个层次结构。

我所做的一个主题的变体是让管理员级别、高级级别和初学者级别访问相同的多维数据集,在这些多维数据集中,您可以根据权限看到不同的级别和层次结构。

我没有时间去蒙德里安,这可能会改善这里的情况,因为现在一切都只是一个属性——但我不是100%确定。

最后,我肯定会在支持下提出这个问题(听起来你有一个支持合同),看看可以做些什么改进。在这里发布jira,我一定会支持它!