1

私がやろうとしていることは単純であるべきです。これまで SSRS 変数を使用したことがありませんでしたが、これはおそらく非常に優れたソリューションです。しかし、これは現在私にとってはうまくいきません。複数のサブレポートを含む 1 つの親レポートがあります。親レポートは 6 列のみを返し、この場合は 2 行のみを返します。これらの行の両方に Program という列があり、両方の行でたまたま同じ値になっています。ここで、この Program 値をサブレポートの 1 つに渡したいと思います。SSRS でこの値を渡せない理由はわかりませんが、このサブレポートのパラメーター値を構成するときに、親データセットとこのプログラム フィールドを選択しました。しかし、親レポートを実行しようとすると、このサブレポートにエラーが発生します:

Data retrieval failed for the subreport, 'Subreport1', located at: /Incoming/Risk Assessment 25mar13. Please check the log files for more information.

そこで、このサブレポートを単独でテストして、問題があるかどうかを確認することにしました。しかし、このサブレポート (Risk Assessment 25mar13) を親レポートから取得したプログラム値で実行すると、0 レコードが生成されました。ただし、代わりに「すべての」プログラムを選択すると、このサブレポートにデータが表示されました。親レポート データセットからこれらのサブレポートのいずれかに値を渡すにはどうすればよいですか? サブレポートの Program パラメーター値に対して次の式を試しました。

=Fields!program_providing_service.Value

ただし、親レポートにはまだこのエラーがあるか、タイムアウトします。この同じ Program 値でこのサブレポートを実行すると、わずか数秒でレンダリングされました。したがって、サブレポートが問題だとは思いません。

もう 1 つの注意点は、親レポートには 1 つの Tablix があることです。この Tablix には、Tablix 全体をカバーする 1 つの行グループがあります。そして、この Sureport は、これらの Tablix 行の 1 つを占有します。この行グループは、「event_log_id」フィールドの親レポート データセットのフィールドでグループ化されます。ただし、このサブレポートには、パラメーター値の 1 つとして event_log_id がありません。

ただし、親レポート データセットには、プログラム フィールドの値など、サブレポートに送信される他の値があります。また、親レポートのテキスト ボックスに式を作成して、親データセットの最初のフィールド レコードを表示したため、親レポートからこのサブレポートに正しい値を送信していることがわかります。これらのフィールド レコードは、1 つの DATETIME 値を除いてすべて UNIQUEIDENTIFier 値です。

また、サブレポートのパラメーター値を次のように設定しようとしました。

=First(Fields!program_providing_service.Value, "DataSetName")

親データセットには複数のレコードがあるため、パラメーターごとに。

4

1 に答える 1

3

両方のレポートに共通のパラメーターを設定します。1 つのチームをパラメーターとして使用している場合。レポートにサブレポートを保持する場合

サブレポートのプロパティ ---> パラメーター -> パラメーターの追加 に移動し、正確なパラメーターに値を指定して、[OK] をクリックします。

これにより、レポートが実行されます

于 2013-03-26T17:29:04.863 に答える