1

文字列値をメジャー値の 1 つとして表示したい。ファクト テーブルにそれぞれ整数値と文字列値があり、外部テーブルのキーもある場合。その後、整数値をメジャー値として表示できましたが、文字列値をメジャー値として表示できませんでした。キューブのスキーマ(XML で記述)のMeasure 要素では、メジャー値に「アグリゲータ」(メジャー値の集計関数を指定)を持たないことが許可されていないためです。もちろん、一部の文字列値を集計できないことは理解しています。しかし、階層の最新レベルの文字列値を表示したい。

以下の記事を読みました。(このページの中央付近) は、メジャー値として文字列値を含むキューブを示しています。ただし、これは Dimension テーブルの Property 値の例であるため、この文字列値はファクト テーブルには含まれません。実際のテーブルに含まれる文字列値を表示したい。

モンドリアン キューブの単純な日付ディメンション

文字列値をメジャー値として表示できるアイデアはありますか? または、Mondrian のソース コードを編集する必要がありますか?

4

2 に答える 2

4

同じ問題がありaggregator、測定タグの属性を に設定して解決しましたmax。例えば

\<Measure name="Comment" datatype="String" column="comment" caption="Comment" aggregator="max"/\>
于 2012-09-06T12:04:43.380 に答える
1

なぜそれが尺度である必要があるのですか?

集計が自然に適用されず、文字列値のみが必要な場合、それはメジャーではなくディメンションです。それを強制的に測定しようとするのは最善の方法ではありません。

あなたが参照している図はドリルスルーを示しているだけで、実際の 測定値は売上高だけだと思います。レポートのレイアウトは、ディメンションとメジャーに関して若干誤解を招く可能性があります。

何らかの理由でこれを別の物理テーブルに分割したくない場合は、スキーマ内でファクト テーブルをディメンション テーブルとして再度使用できます。

文字列は整数に対してカーディナリティが高く、おそらく1:1のように聞こえます。キューブのサイズによっては、これがパフォーマンス上の問題になる場合とそうでない場合があります。しかし、それを尺度にしようとしないでください。

幸運を!

于 2012-09-07T20:51:50.507 に答える