我有一个存储过程(用于旋转和取消旋转值)作为 SSRS 报告的后端运行。用户提供 2 个输入(BeginRange 和 EndRange)。
结果根据用户输入而变化,因此我也需要在报告中反映这些变化。问题是,一旦我完成了报告,只要我提供新的输入,报告就会失败,因为它仍然与旧的列标题绑定。 是否可以动态更改列标题和文本框值?
示例结果数据类似于:
列标题每周都会发生变化。如何在我的 SSRS 报告中获取这份不断变化的报告?
问题并不完全是你想的那样:
是的,您可以动态更改列标题和文本框值。但这对你没有帮助。
数据源返回的字段(列)对于 SQL 数据集不能是动态的。
您需要建立查询将返回的一组固定字段,然后您可以在显示报告时旋转这些字段或动态地从该组列中进行选择。例如,如果我想要显示报告:
June July Aug Sept Oct Nov Dec
Department A 20 25 33 36 48 29 35
Department B 22 24 30 23 40 20 33
然后我会设计我的查询以返回:
Department Month Quantity
Department A June 20
Department A July 25
Department A Aug 33
Department A Sept 36
Department A Oct 48
Department A Nov 29
Department A Dec 35
Department B June 22
...
您提供的查询结果将很难与SSRS一起使用:您可以修改查询或创建另一个查询来返回固定列,类似于我上面指出的那样?至少,您需要更改字段名称(列标题),以便它们不会逐月变化:
month1 month2 month3 ...
关键是转换数据并制作矩阵报告。