マトリックスのフィルターに集計関数を使用できないことはわかっています。
これがAdventureWorksの状況です。私は3つのレベルを持っています:
- カテゴリー
- サブカテゴリ
- 製品
そして 1 つの Calc_Member:
=With MEMBER Calc_Member as [Measures].[Internet Average Sales Amount]
そして実際には:
[Measures].[Internet Average Sales Amount]=
[Measures].[Internet Sales Amount]/[Measures].[Internet Order Count]
階層内のレベルごとに異なる集計が必要です。サブカテゴリと製品の場合、フォーミュラCalc_Member
は前に述べたとおりです。
[Measures].[Internet Average Sales Amount]
しかし、カテゴリレベルでは、関連するサブカテゴリの平均が必要です:
WITH MEMBER Calc_Member AS
Average(existing [Product].[Subcategory].[Subcategory].members
, [Measures].[Internet Average Sales Amount])
分析サービスではこれは正常に機能しますが、レポート サービスにはこのデータセットに基づくレポートがあります。
- カテゴリー
- サブカテゴリ
- 製品
- Calc_member
ssrs では、3 つの行グループを持つマトリックスを使用し、各グループの合計を追加します。カテゴリ レベル 1 の場合、ssrs で集計関数を使用したい (分析サービスで定義された式を使用する) と、再び正常に動作します。
しかし、一部のメンバー (カテゴリ、サブカテゴリ、製品など) でフィルターを使用したい場合、次のエラーがスローされます。
集計関数「Aggregate」は、フィルターを含むレポートでは使用できません
このエラーも許容できますが、私が理解していないのは、Matrix1 で集計関数を使用し、Matrix2 でフィルターを使用すると、同様にエラーがスローされることです。
なんで?