3

SSRS 2005 で「毎日のダッシュボード」レポートを作成しました。このレポートには、@pDate というパラメーターがあり、既定値は「=Now」です。

この同じレポートをリンクされたレポートで使用して、昨日の最終的なダッシュボード (サブスクリプション経由で郵送される) を表示し、パラメーターの既定値を別の式 "=dateadd(d,-1,Now) でオーバーライドしたいと考えています。 " しかし、デフォルトのパラメーターを変更すると、データ不一致エラー (natch) が発生します。

これで終わりだと思います。デフォルトの @pDate が昨日のデイリー ダッシュボード レポートのコピーをデプロイする必要があるだけですが、ここに投稿して、誰かがこれを達成するための気の利いたショートカットを持っているかどうかを確認したいと思いました。 2 つの RDL を維持する必要はありません。

更新: MSDNでこれを見つけました:

デフォルト値が値を受け入れる場合、レポートで使用されるデータ処理拡張機能に有効な定数または構文を入力できます。

「データ処理拡張機能」は明らかにSQLサーバーに変換されるため、定数ではない有効なシングルトン選択(GETDATE()、「04/27 /」+ YEAR(GETDATE())など)を試しましたが、まだ何もありません。

4

2 に答える 2

1

そこで、私の問題を発見しました。メイン レポートのパススルー パラメーターを使用しているサブレポートがメイン レポート内にある場合は、サブレポート内のすべてのパラメーターが同じデータ型を使用していることを確認してください。私のサブレポートの 2 つは、@pDate フィールドに DateTime ではなく String データ型を使用していたため、サブスクリプションが失敗していました (ただし、何らかの理由でレポートのライブ バージョンはこの矛盾を許容しています)。

私は現在、データ駆動型サブスクリプションを使用して @pDate を動的に設定していますが、すべて正常に動作しているようです。

于 2009-04-15T20:39:02.310 に答える