2009-05-22 13 views
0

私は、親子が分析サービスの次元に関係の属性持っ[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を削除する場合、レポートは動作します:いくつかの観測の周りの多くの演奏の後。グラフには集計されたデータがありますが、明らかに個人会員はいません。

答えて

0

ご協力いただければ幸いです。

  1. サービスを報告における集約関数は、例えば集約(フィールド!Child.value、「ParentGroup」)
  2. あなたのデータプロバイダがこの機能をサポートしている必要があります...「スコープ」パラメータが必要です。そうでなければ "Nothing"が返されます。下記のリンクを参照してください...

Aggregate機能のドキュメントを確認してください。

+0

scopeパラメータはオプションであり、Analysis ServicesはAggregate関数をサポートしています。 –

+0

スコープを指定しないと、スコープは現在のスコープを使用します。現在のスコープは確実ですか? – Mozy

+0

私はChart内のChildIDでgrouppingを行っているだけで、scopeパラメータには何も指定することはできません。 –

関連する問題