SSRS 2014的自定义代码



我想为SSRS 2014重新创建一个旧的SSRS报告。旧报告是在Dundas Chart for Reporting Services的支持下于2005年SSRS中编制的。由于Dundas被微软收购,Addon在2014年的SSRS中不再可用。

该报告的关键对象是散点图。在旧的报告中,可以将自定义代码添加到Dundas图表中。使用自定义代码,我们构建了一个图表,该图表具有不同的样条曲线范围,其中数据来自数据库中的某个位置,位于图表中实际数据的背景中。使用的代码如下:

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
","");

现在我想在SSRS2014中构建这个图表,而不可能使用dundas自定义代码。

有没有机会做到这一点,而不必将散点图和样条曲线范围的数据组合成一个数据集
此外,即使我能够将数据组合成一个数据集,我认为我也无法获得我想要的结果,因为实际数据选择了类别和序列组。

我已经考虑过Lookup函数,但这也是不可能的,因为数据没有相同的列。

您可以使用自定义程序集(这些程序集几乎是编译到DLL、加载到SSRS服务器、然后在RDL中引用的C#类)对数据库(数据集之外)运行查询。

我过去也这样做过。C#类有效地将表示查询的字符串作为输入,然后在数据库中执行该查询(硬编码或作为另一个参数提供)。你可以整天讨论安全和权限,我相信。。。你需要在那里做出自己的决定。

可以像调用VBA自定义代码一样调用表达式中的自定义代码。

我不知道的是,您是否可以返回超过1个值,并在SSRS中对这些值执行操作。我只遇到过调用自定义程序集以获得1个标量值的用例。

最新更新