2011-07-06 25 views
0

に基づいてマトリックスを追加する私は、SSRSでの作業を開始し、しかし、私は行列を持っている必要がキューブに私のMDXクエリを接続し、マトリックスSSRS:2つのデータセット

にそれをプラグインする方法を考え出しました各セクションでは、別のDataSetを呼び出す必要があります。例えば

行列1がDATASETAオフに基づいて、繰り返しセクションを持っているでしょう(のは、その顧客センターをしましょう)。 DATASETAからを使用して、私はDatasetBを呼び出す式を、持っているでしょう行列1の各セクション(顧客センター)で

、パラメータ として(のは、それが別のMDXクエリは、いくつかを得るだろうと言ってみましょう顧客センターIDに基づく他の情報)。

=First(Fields!MTD_Trades.Value, "DatasetB") 

それは、この時点からのパラメータを使用してMDXクエリフィルタ(またはwhere句)を渡すことが可能である:

はそうTablixのセル内からの私の表現は、このようなものでしょうか?

理想的にはこのようなもの(擬似コード)であろう:

=First(Fields!MTD_Trades.Value, "DatasetB") WHERE Fields!Where_Filter.Value 

セクションは動的であるMDX がオフに基づいて、これらの線に沿って何か..別のクエリ

UPDATE - 溶液説明

ここに私がやっていることの例があります:アプリケーションは航空交通に基づいており、ビジネスユーザーはここにいくつかの航空権者がいるとしましょう。私はその人に、見たいスライスを定義させるUIを与えます。例えば、彼らは入って、n個のスライス(すなわち、国際線、米国を離れる便、深夜に到着する航空便、50人以上の乗客を持つフライト)を作成することができる。ご覧のように、各スライスに必要なフィルターを自由に追加することができます。

そして彼らの行動(GUIを使用)に基づいて、私は必要MDXクエリ(各スライスに対して1つ)を生成します。ここ

私の挑戦は、これらのスライスの各1(1-N)のために別の行が表示されますSSRSレポートを作成することです。私の謎を理解するのに役立つことを願っています。クエリの最初の部分は各スライス(フライトの#)で同じになりますが、レポートのWHEREセクションは異なり動的です。

答えて

1

lookup()関数を使用して、レポートアイテム内から別のデータセットのデータにアクセスできますが、レポート内で複数のサブクエリを実行することはできません。これは、1つのパラメータを別のクエリ駆動型パラメータの入力にすることができるパラメータ内でのみ実行できます。

元のクエリを変更して、マトリックスに必要なすべてのデータが含まれるようにすることをお勧めします。

EDIT:多値パラメータを使用する必要があるようです。「スライス」パラメータで

  1. は、このパラメータを受け入れるデータセット内allow multiple values
  2. に設定したパラメータフォームを後藤=Join(Parameters!Slices.Value,",")ある式に値を設定します。
  3. クエリで文字列を引き離し、各サブクエリを実行してから、セットとして返します。
+0

ありがとう、私のソリューションについてのことは、ユーザーが見たいクエリのインスタンス数と、各インスタンスをフィルタリングする対象を決めることができるということです。だから私は1つの大きなクエリ。クエリがクエリのコレクションでなければ、何とかそれらをループして、行列の各行に対して実行することができますか?それは基本的に私の要件です..それは可能ですか? –

+0

ジム、私はSSRSで何をしようとしているのかをより分かりやすく解説するセクションを追加しました。 –

関連する問題