5

マトリックスのフィルターに集計関数を使用できないことはわかっています。

これがAdventureWorksの状況です。私は3つのレベルを持っています:

  1. カテゴリー
  2. サブカテゴリ
  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 でフィルターを使用すると、同様にエラーがスローされることです。

なんで?

4

1 に答える 1