我正处于创建SSRS报告的过程中,该报告包含一个Tablix和一个图表,两者都描述了相同的数据,即相同的数据库查询。
Tablix的实际列数由查询返回的行数动态决定。我们以COLUMN-WISE方式显示记录。
示例:
如果查询返回5条记录,则Tablix中将显示5列...
如果查询返回8条记录,则Tablix中将显示8列...
查询返回的记录数是动态的,因此Tablix的宽度是动态的。
现在关于图表,图表的宽度始终保持固定,但我们希望它应该与tablix的宽度相同,这意味着我们要求条形图的条形应与Tablix的列对齐因为每个图表栏都描绘了Tablix每列中的数据。
我们可以手动更改图表的宽度,但它并不总是与Tablix的宽度对齐。
我们尝试过哪些没效果
将图表放在Tablix的第一行内。这没有正确对齐。
我们已经读过,我们可以使用图表的 DynamicWidth 和 DynamicHeight 属性,但我们不知道如何使用它。
任何人都知道我们如何将图表与动态宽度Tablix对齐?
答案 0 :(得分:1)
列数是动态的,但您知道每列的宽度,因为所有动态列的宽度都相同。您还知道数据集中的行数,因此可以使用DynamicWidth中的表达式使图表宽度等于列宽的总和。
例如,如果动态列的宽度为2.5厘米,并且您有一个名为Dataset1的数据集,那么图表的DynamicWidth属性的表达式将为:
=2.5*CountRows("DataSet1") & "cm"
如果表格中有任何静态列,那么您还需要将其宽度添加到表达式中。
说了这么多,你提到将条形图的条形与每列对齐。如果您希望单个栏与每列中的值相关联,那么您可以选择在动态列的单元格内添加面向列的数据栏,而不是单独的图表。