通常我们将表设计为在报表中包含x个行和y个列。但是,我们如何根据存储过程的结果创建一个在运行时动态添加行和列的报告?
例如,学生A赞助了学生sdf,学生B赞助了两名学生,如下表所示。因此,我需要在矩阵或表格中动态添加新成员名称(nm_name)和新成员ID(nm_id)列。
+-------+-----+-------+---------+-------+-------+
| St_id | Name| nm_id | nm_name |nm_id | nm_nme|
+-------+-----+-------+---------+-------+-------+
|1 | a | 5 | sd | 8 | fgf |
|2 | b | 39 | bgj | | |
|3 | c | 78 | fhf | 2 | 2 |
+-------+-----+-------+---------+-------+-------+
我想在SSRS中使用上面的报告布局。
答案 0 :(得分:1)
我从您的解释中了解到,您希望动态添加3列,但SSRS
不允许在runtime
添加列,因为您可以使用该技巧下面,
1) Add three(whatever number of columns you need) extra columns in your existing matrix
2) Then set there visibility expression depending upon when you want to show the columns
3) As You mention that if sponsored by some other student then show the column so your expression can be
= IIF(Fields!studentsponserd.value ,False,True)
通过这种方式,您可以设置列的可见性,这将根据您的表达式条件显示。 因为我不确定你的特殊情况我不能给你正确的表达。表达式可能需要根据您的需要进行调整。 您可以看到this blog for more.