2

名前、説明、メッセージの列があります。ssrsでこれらの列を表示するために、日付フィルターが適用されます。ただし、日付が短いとエラーが発生します。エラー:リソース制限に達したため、プロバイダーによって実行が終了しました。私の質問は次のとおりです。データベースに存在する最後の日付にデータフィルターを減らすことは可能ですか。このようにして、データベース内の最後の既存の日付にデータフィルターを適用すると、エラーが解消されます。

前もって感謝します。

編集1:

タイムスタンプ| 名前| 説明| メッセージ|

2011年11月12日10:50:51AM| EBKBH 2349 | ポンプ|機能|

2012年1月8日10:50:51AM| ZDFWH 2989 | センサー| クローズ|

そして、1/08/12がデータベースの最後の日付であるとしましょう。しかし、フィルターで01/01/13から02/02/13までの日付を選択すると、アプリが非常に長く実行され、前述のエラー

4

1 に答える 1

1

SSRS で複数の DataSource を選択できるのに、なぜ Openquery を実行しているのかわかりません。

私はそれよりも簡単なことをします。

  1. テーブルの日付のデータソースを設定し、実際のデータが他の場所にある場合は別のデータソースを設定します。
  2. 次のような最後の日付のデータセットを設定し、「MaxDate」と呼びます。

    Select Max(Date) as MaxDate
    From (tableName)
    

    これにより、テーブル全体の最大日付が得られます。

  3. 2 でこのデータセットを取得するパラメーターを設定します。パラメーターを選択して、「クエリから値を取得」を使用します。これを選択して、MaxDate を ID およびラベルとして使用します。

  4. ここで、メイン クエリのデータセットを好きなように設定し、次のように述語を実行します。

    Where dt between @Start and @MaxDate
    
  5. 日付値に必要なものを使用して @Start パラメータを設定できますが、@MaxDate は指定した最大日付にバインドされます。

** オプション: 別の Date フィールドを @End として設定し、@MaxDate を使用する必要がない柔軟性が必要な場合は、@MaxDate の値をデフォルトに設定します。3 番目の変数 @End を作成し、[デフォルト値] ペインで [値の指定] を選択するだけです。「Fx」(式)ボタンを押してから、Parameters!MaxDate.Value を選択すると、最大日付にデフォルト設定されます。ただし、前の日付を選択することもできます。

私は通常、共有データセットからの日付のデフォルトを使用してほとんどのレポートを設定し、設定された日付範囲ですべてのレポートを実行し続けます。

于 2013-02-12T17:06:18.070 に答える