1

SSRS 2008 R2を使用していて、複数値パラメーターで選択された値ごとにサブレポートを生成できるかどうか疑問に思っていますか?

4つの値(Value1、Value2、Value3、Value4)が選択された複数値のパラメーター「parameterA」があるとします。これらの値ごとにサブレポートを生成したいと思います(値を単一のパラメーターとして渡します)。もちろん、複数値のパラメーターを処理するようにプロシージャを変更することはできますが、パフォーマンスとキャッシングのため、実際には変更したくありません。

アドバイスありがとうございます。

4

1 に答える 1

4

これを行うには、サブレポートをリストまたはタブリックスに配置する必要があります。私の知る限り、そのリストまたはTablixで複数値パラメーターの値を反復処理する簡単な方法はありません。データセットのみを受け入れます。

したがって、私が考えることができる唯一の回避策は、パラメーターをデータセット内の行のセットに分割することです。これは可能ですが、SQLでは簡単ではありません。ただし、パラメーターに使用可能な値がデータセットからのものである場合は、状況が改善されます。tablix/ listをデータセットにフックし、パラメーターで選択されていないアイテムをフィルター処理するだけです。

編集:データセットクエリを式として作成することにより、複数値パラメーターをデータセット に拡張するための少しハックな解決策を見つけました。パラメータを想定すると、@MultiParamXこの式は、選択されたすべての値を1つの列に出力するクエリを作成します。

="SELECT '" 
&
 Join(Parameters!MultiParamX.Value, "' MyParam UNION ALL SELECT '")
&
"' MyParam"

これにより、次のようなクエリが生成される場合があります(読みやすくするために再フォーマットされています)。

SELECT 'A' MyParam
UNION ALL
SELECT 'B' MyParam
UNION ALL
SELECT 'C' MyParam
-- Etc. for all selected values

これにより、次のような結果セットが生成されます。

┌─────────┐
│ MyParam │
├─────────┤
│ A       │
│ B       │
│ C       │
│ Etc.    │
└─────────┘
于 2012-09-17T14:12:23.440 に答える