1

異なる場所で異なる書式を設定したい価格メジャーがあります。たとえば、書式はディメンションの値に依存します。書式設定が異なる複数のメジャーを使用できますが、それによって他の多くのことが複雑になります。

私が理解している限り、標準の IFormatter フレームワークには位置情報がありません。

これを後処理の措置として実装できると思いますか?価格の種類ごとにオブジェクトの種類を変えて、オブジェクトの種類をオンにした IFormatter の実装を使用することもできますか?

これのベストプラクティスはありますか - 長所/短所はありますか?

4

1 に答える 1

0

ActivePivot では、フォーマッタは、セルが生成されたキューブの場所を知りません (実際には、MDX 構造を使用すると、どの場所にも関連付けられていない一部のセル値を計算できます)。

しかし、ActivePivot はオブジェクト ベースであるため、必要なことを行うためのソリューションが常に存在します。

価格測定の場合、数値を使用するだけでなく、金額と通貨を含む「Price」Java クラスを作成できます。初期状態の ActivePivot はこれらの価格を集計する方法を認識していないため、カスタムの集計関数も記述します ( com.quartetfs.biz.pivot.aggfun.impl.GenericAggregationFunctionを拡張します)。

次に、Price クラスのtoString()メソッドを実装できます。これは、ActivePivot がこれをデフォルトの書式設定に使用するためです。また、フォーマット時に通貨にアクセスできます。もちろん、より分離されたデザインやユーザーベースのコンテキスト フォーマットが必要な場合は、PriceFormatter を記述して価格インスタンスをフォーマットすることもできます。

于 2013-03-11T09:04:58.263 に答える