私は特に Pentaho 5.0 で使用するために Mondrian スキーマを構築しようとしてきました (ここでバージョンが重要かどうかはわかりません)。私が繰り返し直面する問題の 1 つは、データ対データの表示を制御する方法です。自体。例を挙げて説明しましょう。
次のような立方体を想像してください: (D はディメンション、H は階層、L はレベル)
D: time
H: default
L: year
L: month
L: day
D: currency
H: default
L: name
L: code
のメンバーについて考えてみると、全員time.year
が..., 2008, 2009, 2010, 2011, 2012, 2013, ...
. それでは、に移りましょうtime.month
。ここで物事は面白くなります。数字で表すtime.month
か、言葉で表すか。両方を持っていないのはなぜですか?
Mondrian は、メンバーの名前とメンバーの「キャプション」を指定する方法を提供します。これは、メンバーの名前とは異なるプレゼンテーションの値を提供します。すごい!ただし、キャプションを提供すると、Pentaho ではキャプションのみが表示されます。決して元のメンバー名ではありません。より適切な方をユーザーに選択させるにはどうすればよいですか?
月レベル (および日レベル、および複数のレベルを持つ階層) は、別の混乱の原因となります。月が 12 の値の 1 つとして表される場合 (ここでは数字でも単語でも違いはありません)、実際のメンバー値はtime.[2012].[1], time.[2012].[2], ..., time.[2012][12], time.[2013].[1], ...
です。なので6月(6月)は などのメンバーが多い..., time.[2009].[6], time.[2010].[6], time.[2011].[6], ...
です。したがって、メンバーのリストが表示され、メンバー名の月の部分のみが含まれている場合は、 が表示されます1,2,3,4,5,6,7,8,9,10,11,12,1,2,3,4,5,6,7,8,9,10,11,12,1,2,3,...
。等しい月を区別することはできません。「年の列も含めてください」とあなたは言います。はい、それは理にかなっていますが、フィルタリングダイアログなど、Pentaho がそれを行うオプションを提供していない他の場所があります。メンバーのキャプションに年を含めることを考えていたので、単に6
またはの代わりにJune
、2012 June
. 残念ながら、これも理想的とは言えません。階層の各レベルが存在する場合 (そして、1 日についてもこのパターンに従ったとします)、各行は次のようになり2012 | 2012 June | 2012 June 13 | your_measure
ます。もちろん、これはばかげています。しかし、これは、Pentaho でレポートを掘り下げるときに簡単に発生する可能性があります。
2 番目の次元にも同様の問題があります。世界の通貨タイプのデータ セットを想像してみてください。3 文字の ISO 標準通貨コードと、正式な通貨名があります。これら 2 つの値は 1:1 であり、互いに完全に依存しています。それぞれが一意のキーです。この 2 つの間に実際の階層関係はありません。私はそれらを単純に、同じデータの 2 つの異なる表現と見なしています。ここでの最大の障害は、それらが同じ階層にない場合、Pentaho では自由に反対の軸に配置できることです。これにより、次のようなばかげたレポートが作成されます。
United States Dollar | Canadian Dollar | Euro | ...
USD | 12345 | - | - |
CAD | - | 12345 | - |
EUR | - | - | 1234 |
...
コードは、簡潔さが必要な場合に最適です。ただし、いくつかの一般的でない通貨が関係する特定の状況に対処していて、レポートの読者がよりあいまいなコードの意味を調べる必要がないようにしたい場合があります。私は要素の使用を調査しました<Property>
が、Pentaho には、プロパティ値も表示するためにメンバー列を表示する必要があるという点で、やはり柔軟性がありません。名前がコード メンバーのプロパティである場合、レポートに通貨名だけを表示する方法はなく、コードも含める必要はありません。これは冗長です。
最終的には、データの表示を制御するメカニズムや、Pentaho で分析を行っているエンド ユーザーに賢明で一貫したエクスペリエンスをもたらすスキーマ設計のテクニックがあることを願っています。