3

OLAP データベース icCube のアカウントに親子関係を使用しています。金融ロジックを含めるために、単項演算子を使用します。さらに、多対多の関係を使用していくつかのアカウント階層を設定しましたが、... を除いてすべてが非常にスムーズに機能しています。

結果に時間ロジックを適用する場合、たとえば、2014 年 4 月 30 日の YTD 値を次のように表示します。

Aggregate(crossjoin ({[View].[View].[Periodiek]},PeriodsToDate([Tijd].[Kalender].[jaar],[Tijd].[Kalender].currentmember)))

メッセージが表示されます:

Aggregate() : 集計 'unary-operator' はサポートされていません (メジャーまたは計算されたメジャー/メンバー:[メジャー].[bedrag])

どうやら、これはこれを行う方法ではありません。

この設定でどのように累積数値 (現在までの期間) を達成できますか?

4

2 に答える 2

2

icCube の現在のバージョン - 4.8.2 - は、集計タイプが「単項演算子」のメジャーの集計関数をサポートしていません。集計関数のドキュメントはこちらを参照してください。

多対多の関係と特別なメジャー集計タイプを使用している場合、Aggregate 関数は少し危険です。例えば ​​:

     Aggregate( { [Account1], [Account2] }, [Measures].[Special] )

[Special] が「Sum」集計タイプのメジャーで、[Account1] と [Account2] が多対多の関係にある場合、同じ「共有」金額を 2 回カウントします (つまり、同じ行が 2 回カウントされます)。

集計タイプを使用するその他のメジャーは、予期しない結果を避けるためにサポートされていません。これは、Open / Close / Distinct Count の集計タイプに適用されます。

あなたの場合の解決策は、Sum 関数を使用することです。

コンパクト セットを使用すると、セットを数日または数時間使用している場合にセットをコンパクトにすることができます。パフォーマンスブースターです。

m2m 関係と特別なメジャー集計タイプを適切に処理したい場合は、icCube でカテゴリを使用できます。こちらの一部のドキュメントを参照してください。迅速に、メンバーをタプルのセットとして動的に定義できます。

Aggregate を適切にサポートするには、icAggregate などの新しいメソッドを追加する必要があります。これは、Categories を使用するように機能します。Aggregate 関数は少し奇妙です。当面は少し SSAS を模倣します...

于 2015-01-05T10:04:39.370 に答える
1

Sourav のコメントを証明するには、メジャーを次のように変更してみてください。

Aggregate(
  {[View].[View].[Periodiek]}
  * PeriodsToDate([Tijd].[Kalender].[jaar],[Tijd].[Kalender].currentmember)
  , [Measures].[MEASURE_NOT_bedrag]    //<<replace with actual
  )

それでも同じエラーが発生しますか?

于 2015-01-04T23:32:05.900 に答える