質問

SQL Serverレポートサービスを使用しています。私のクエリのほとんどは、単にPDFとしてエクスポートされるレポートとして実行されます。

実際のSQLクエリで実行する必要がある場合、どのタイプの計算が行われ、どのタイプがSSRS IDE(Business Intelligence Studio)を使用して計算するかを知りたいと思います。

たとえば、最近の3か月の販売平均が必要な12か月の販売レポート(12か月)がある場合、その平均はどこで計算する必要がありますか?

ほとんどの計算/集約はプレゼンテーションレイヤーで実行する必要がありますか?例外はありますか?

役に立ちましたか?

解決

これは2つの方法で見ることができます。

  • ビジネスロジックをどこに置きますか
  • 計算には時間が必要であり、より効率的です

これらのいずれかに対する答えは「依存する」です。トレンドを表示した12か月のレポートの例では、データを取得するために使用されるロジックを変更するパラメーターがいくつかある場合、SQLストアドプロシージャで可能な限り実行するように誘惑されます(平均)そして、レポートをかなり「愚か」にして、結果を表示するだけです。レポートが非常に単純な場合、またはロジックがそのレポートのみに固有の場合、レポートでは機能する可能性があります。

再利用性のために、私はSQLで物事を行うことを好みます。複雑なディスプレイ(ヒートマッピング、グラフなど)の場合、レポートではおそらく優れています。

他のヒント

レポートのロジックをレポートに保管してください。 SQL Serverはデータを提供しますが、レポートでカスタマイズされたロジックを保持することをお勧めします。

私は、計算のためにレポートをデータベースに往復させることから離れています。ストアドプロシージャのグループ化と注文がレポートレイアウトと一致する場合、SSRSは集約計算を行うのにかなり効率的です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top