私は、親子が分析サービスの次元に関係の属性持っ[Dim].[Child]
が[Dim].[Parent]
の子であると言うと、私は、クエリを持って、それはセットを返しReporting Servicesの集計は、親子関係のために働いていない
UNION( [Dim].[Parent].Members * [Dim].[Child].Members, [Dim].[Parent].[ALL] * [Dim].[Child].Members )
軸1に出力され、軸0に出力されます。クエリは、管理スタジオで実行すると正常に動作します。
今、私は、Reporting Servicesでx軸に[Dim].[Child]
、Y軸にAggregate(some_output)
のグラフを作成しようとしています。すべての親(この場合はただ1つ)について集計された出力、すなわち{ [Dim].[Parent].[ALL], [Dim].[Child].&[TheChildID] }
から取られたデータをx軸上の子メンバーに見ることが期待されます。上記のように、クエリは実際に正しいデータでこの行を返します。
ただし、この場合のAggregate
関数はNULLを返します。この動作は、親子属性を使用し、子をX軸に置くときに常に存在します。同じことは、タブリックスの行に子を入れ、集計された出力を列に追加するときにも起こります。レポートサーバーは、集約が1つのメンバーだけに起こり、それを実行することを拒否していることを認識しているようです。
別の同じクエリを作成した場合、異なるリレーションシップを持つ属性を入れてください。 [Time].[Month]
と[Time].[DayOfMonth]
の場合、集計はうまくいきます。なぜなら、今は同じ日が何ヶ月にもわたっており、データを集約する必要があるからです。
なぜこれが起こっているのかわかりません。レポートサーバーは、OLAPデータソースを実際にクエリして関係を把握していますか?または、私が気づいていないALL行を返すクエリにいくつかの魔法がありますか?関係があるように思われない場合の唯一の相関関係。
編集:私は唯一の[Parent].ALL * [Child].&[ID]
行を取得するためにそれを強制的に、クエリから行[Parent].Members * [Child].Members
を削除する場合、レポートは動作します:いくつかの観測の周りの多くの演奏の後。グラフには集計されたデータがありますが、明らかに個人会員はいません。
scopeパラメータはオプションであり、Analysis ServicesはAggregate関数をサポートしています。 –
スコープを指定しないと、スコープは現在のスコープを使用します。現在のスコープは確実ですか? – Mozy
私はChart内のChildIDでgrouppingを行っているだけで、scopeパラメータには何も指定することはできません。 –