2017-11-02 7 views
0

SSRS 2014の古いSSRSレポートを再作成したいと思います。以前のレポートは、SSRS 2005でDundas Chart for Reporting Servicesのサポートを受けて作成されました。 DundasはMicrosoftによって買収されたため、AddonはSSRS 2014で使用できなくなりました。カスタムコードSSRS 2014

レポートの重要な目的は散布図です。古いレポートでは、カスタムコードをDundasグラフに追加することができました。カスタムコードでは、グラフ内の実際のデータのバックグラウンドで、データベースのどこかからのデータを使用して異なるスプライン範囲を持つチャートを作成しました。使用されたコードは以下の通りです:今、私はDUNDASカスタムコードを使用する可能性なしにSSRS 2014年にこのチャートを構築したい

String connString01b = 
"SERVER=SERVER;database=DATABASE;Trusted_Connection=Yes"; 
String commandText01b = "SELECT xx_X, xx_Min, xx_Max 
FROM table WHERE (xx_X IS NOT NULL) ORDER BY 
xx_X;"; 

System.Data.SqlClient.SqlConnection conn01b = new 
System.Data.SqlClient.SqlConnection(connString01b); 
System.Data.SqlClient.SqlCommand command01b = new 
System.Data.SqlClient.SqlCommand(commandText01b, conn01b); 
conn01b.Open(); 
System.Data.SqlClient.SqlDataReader aReader01b = 
command01b.ExecuteReader(System.Data.CommandBehavior.CloseConnection); 

strLegend = "xxx"; 
Series Series01b = chartObj.Series.Add(strLegend); 
Series01b.Type = SeriesChartType.SplineRange; 
Series01b.ChartArea = chartObj.ChartAreas[0].Name; 
Series01b.Color = Color.FromArgb(127, Color.Blue); 

Series01b.Points.DataBind(aReader01b,"xx_X","xx_Min, 
xx_Max 
",""); 

散布図のデータとスプライン範囲を1つのデータセットに結合する必要がないのですか?
また、データを1つのデータセットにまとめることができたとしても、実際のデータに対して選択したカテゴリとシリーズグループのために結果が得られないと思います。

私は既にLookup関数について考えましたが、データには同じ列がないため、これもできません。

答えて

0

カスタムアセンブリ(DLLにコンパイルされ、SSRSサーバーにロードされ、RDLで参照されるかなりのC#クラス)を使用してデータベース(データセット外)に対してクエリを実行できます。

私は過去にこれを行っています。 C#クラスは、問合せを表す文字列を入力として効率的に取り込み、その問合せをデータベース(ハードコードまたは別のパラメータとして提供)で実行しました。あなたは一日中セキュリティとアクセス許可について議論することができます。私は確信しています。あなたはそこであなた自身の決定を下す必要があります。

VBAカスタムコードと同じように、式でカスタムコードを呼び出します。

私は、あなたが1つ以上の値を返すことができ、SSRSのそれらの値に作用できるかどうかわかりません。カスタムアセンブリを呼び出して1つのスカラー値を取得するというユースケースしかありませんでした。

+0

ありがとうございました。 問題はコードをどこで呼び出すかです。 Dundas for Reporting Servicesのようにカスタムコードをチャートと別に呼び出すことは可能ですか? チャートのデータで呼び出すと、散布図のカテゴリと系列のグループに接続されてしまいます。これは、それが慣れた方法で表示できなくなります。 –

関連する問題