0

累積されたリード値を表示する半複雑なレポートを CRM に作成する必要があります。このレポートが機能する唯一の方法は、いくつかの一時テーブルを作成し、カーソルを使用してデータを計算/蓄積するストアド プロシージャを作成することです。次に、ストアド プロシージャからデータを取得して、Reporting Server レポートからアクセスできるようにするという問題があります。それが可能かどうか誰にもわかりますか?カスタム SQL ステートメントを記述してレポート データを生成するオプションがあれば、それは素晴らしいことです。

ポインタはありますか?

編集:

カーソルの使用法を明確にするために、カーソルで何をしているのかを正確に説明できます。

私のレポート(これはチャートである必要があります)の基礎は、3つの関連する列を持つテーブル(table1)です:

Start date
Number of months
Value

次の列を含む一時テーブル (temp1) を作成します。

Year
Month number
Month name
Value

最初に、最初のテーブルの行をループ処理し、月ごとに temptable に行を挿入し、月を増やしながら、値を合計値を月で割った値に設定します。すなわち:

2009-03-01,4,1000 の table1 利回り

2009,03,March,250
2009,04,April,250
2009,05,May,250
2009,06,June,250

temp1 テーブルで。

次に、新しいカーソルを使用して、temp1 の値を合計して現在の合計を作成し、それを temp2 に入力します。temp2 は、チャートのデータとして呼び出し元に返されます。

temp1 データの例:

2009,03,March,250
2009,04,April,200
2009,04,April,250
2009,05,May,250
2009,05,May,100
2009,06,June,250

temp2 データが得られます。

2009,03,March,250,250
2009,04,April,450,700
2009,05,May,350,1050
2009,06,June,250,1300

最後の列は現在の合計で、新しい年ごとにゼロから始まります。

4

4 に答える 4

0

ビューの使用を検討しましたか。非常に複雑な場合は、ビューの階層を使用してください。各ビューは、一時テーブルの1つを表します。

コメントに基づいて編集

私はSQLビューについて考えていました。これは、基本的に、ストアドプロシージャで記述したものと同じSQLです。

于 2009-07-13T08:34:09.030 に答える
0

私はこれをしていません-私がどのように始めるかを考えているだけです。ストアドプロシージャが一時テーブルにデータを取り込むときに、データのプルにフィルタービューを使用することを確認します。次に、SPを実行するためのアクセスを、フィルターされたビューと同じセキュリティロールを持つように設定します(これは、PrivReportingGroupのメンバーを許可するためにほぼ必要です)。

これで、レポートでSPを実行できるようになると思います。事前にSPを設定した場合、SSRS設計者は、利用可能なデータを表示し、設計時にSPを選択するための何らかの手段を持っていると思います。しかし、私はそれを確かに知りません。

于 2009-07-13T16:44:56.627 に答える