SSRS:我可以用 ReportItems 创建图表吗?

SSRS: Can I create a chart out of ReportItems?

我在 SSRS 中工作,我有一个计算在其他两个单元格引用(它们本身是从我编写的存储过程生成的)之间产生百分比差异。

=Format((ReportItems!CCM01.Value-ReportItems!PCM01.Value)/ReportItems!PCM01.Value,"P1")

事实上,我有其中的 12 个(因为这份报告是针对连续 12 个月的报告),CCM01-12 和 PCM01-12。

有没有办法使用这些计算单元格来生成图表?或者使用一系列公式生成图表的方法?或者我是否必须返回到存储过程并编写一个公式来生成 DataSet 中的项目,然后我将使用这些项目来填充图表?

我不认为你可以,因为它会给出一个关于报表项表达式的错误,只允许同一分组范围内的报表项。无论如何,有更好的方法来实现这一点。

首先,您不想这样做:

=Format((ReportItems!CCM01.Value-ReportItems!PCM01.Value)/ReportItems!PCM01.Value,"P1")

因为这将 return 一个字符串,如果不转换回 double 就很难进行计算。所以你的表达应该是:

=(ReportItems!CCM01.Value-ReportItems!PCM01.Value)/ReportItems!PCM01.Value

并将格式放入Format 属性;将其设置为 P1

但实际上,在字段上计算比在报表项上计算更容易:

=(Fields!CCM01.Value-Fields!PCM01.Value)/Fields!PCM01.Value

我们可以通过将这些表达式添加到数据集字段集合来使其成为数据集的一部分。因此,您将根据上面的计算创建 12 个计算字段(右键单击数据集,添加计算字段),我们将它们称为 PCD01PCD12

现在这些字段都在数据集中,很容易将它们添加到 table,我们可以将它们绘制成图表。理想情况下,我们将对数据进行逆透视,而不是在一行中处理三个数据点中的每一个的 12 列,我们将有三个数据点和 12 行 - 那么你的 table 和图表将非常简单,你会只需要一个计算字段。但是,让我们继续我们所拥有的。

在您的报告中添加图表。在“图表数据”面板的顶部 Ʃ Values 部分,按 + 号并将每个 PCD01 添加到 PCD12