1

多くの異なるソースから多くのデータをキャプチャするSSRS要約レポートを作成する必要があります。レポートは、3つの異なるタイプの約12の要約番号についてレポートする必要があります。各数値の計算はかなり複雑なので、レポート全体を最適化したいと思います。

X / Y /Zを「タイプ」と呼び、A / B / C / D / E/Dを「アイテム」と呼びます。

例:

      XYZ
A 10 12 14
B 8 6 11
C 12 0 99
D 10 12 14
E 8 6 11
F 12 0 99

各数値を生成するSQLがあります。X/Y/Zを渡すだけの「行」ごとの関数です。

私の質問は、すべてのデータをまとめてレポートする方法です。私は出来ます:

  1. 各データポイントをサブクエリとして作成し、説明的な列名を使用して1つの長いステートメントにまとめます。

  2. 各タイプのすべてのデータを1つのproc/functionに結合するため、1つの結果セットで1番目と2番目の列、別の結果セットで1番目と3番目の列、3番目の結果セットで1番目と4番目の列を取得します。それなら、これらを一緒に結合できると思います。

  3. 各データポイントを行(つまり、A; X; 10)として生成し、それらをすべて一緒にピボットします。

また、アイテムごとに関数を作成するのが最善なので、fnA(X)を呼び出して10を取得しますか?procでSQLを単につなぎ合わせるのとは対照的に?

私はSQLにかなり精通していますが、SSRSに慣れているだけなので、それを行うためのより簡単な方法がない可能性があります。私はSQLですべてのデータを取得し、それをSSRSで使用しようとしていますが、SSRSでより多くのことを行い、SQLでより少ないデータを行う必要がある場合は、それを受け入れます。

ご入力いただきありがとうございます。

4

2 に答える 2

0

結局、カーソルを使用して、各X / Y / Zタイプの各データポイントを調べてプルし、それを一時テーブルに挿入しました。次に、SSRSを使用してマトリックスに表示しました。ちょっと汚いけど、うまくいく...

于 2012-06-12T03:45:27.190 に答える
0

次の 2 つの形式のいずれかで SQL クエリからデータが返された場合、SSRS はデータを簡単に処理できます。

       XYZ
 あ 10 12 14
 乙 8 6 11
 C 12 0 99
 D 10 12 14
 E 8 6 11
 F 12 0 99

また

アイテム タイプ 値
 AX10
 12年度
 AZ 14
 BX8
 BY 6
 BZ11
 CX12
 0年
...

これが単一のクエリから返された場合、SSRS での作業が確実に簡単になります。複数のクエリから結果を取得する方法はいくつかありますが、1 つのクエリの結果を操作するほど簡単ではありません。

次に問題は、SQL から返すのがより簡単になるのはどれかということになります。いくつかのオプションをうまく処理しているように聞こえます。答えは、db スキーマと、SQL のさまざまな機能に対する快適さ (または傾向) によって異なります。

SSMS でいくつかのアプローチを試してみます。必要に応じて、最もクリーンなコードまたは最高のパフォーマンスが得られる方を使用します。

于 2012-04-12T19:49:14.730 に答える