你好,stackoverflow的人!
我需要帮助解决SSRS表达式的一个简单问题。我怎么能在SSRS中这样做?
您可以在我的excel屏幕截图中的下面第二个表格中找到。对于每一行,我们将-BC5 ...- BC10划分为列/行BC4。为了获得excel列2018中的表2到BC17到BC22的列/行的期望结果。
我尝试过引用我的文本框,就像这个ReportItems!TextBox1.Value / ReportItems!TextBox2.Value。但是给了我错误的价值观。 有人可以帮忙。
谢谢!
没有足够的信息给你一个确切的答案,但你应该能够解决它。
您需要做的第一件事是获取您想要使用的聚合的上下文。因此,单击包含要分割的数字的单元格([Sum(DiscountOERestated)]
)。在屏幕底部附近的行和列组面板中,查看突出显示的行组。对于这个例子,我假设行组被称为grpCategory
。
现在我们需要为GrossCatalogRestated做同样的事情。但是,顶部Tablix中的GrossCatalogRestated似乎不是聚合。我假设它应该是数据集的总GrossCatalogRestated。对于这个例子,我们会说数据集名称是dsMyDataSet
。如果它在一个行组中,只需将数据集名称与它所在的行组名称交换出来,就像我们对DiscountOERestated所做的那样。
所以你的表达看起来像
=SUM(Fields!DiscountOERestated.Value, "grpCategory") / SUM(Fields!GrossCatalogRestated .Value, "myDataSetName")
这将给出一个小数结果,如0.025。然后您只需要将format属性设置为"p1"
,因此它显示为2.5%
如果这不起作用,请编辑您的问题以显示您正在使用的单元格中的表达式以及行组和数据集名称。
如果这两个表在同一个表/ tablix中,那么它应该与您编写的表达式一起使用(尝试键入它而不是复制粘贴,有时可能有效)。
=(ReportItems!Textbox7.Value /ReportItems!Textbox1.Value) * 100
如果它们不在同一个Table / Tablix中,那么你应该写如下:
=(Fields!ColumnName1.Value / Fields!ColumnName2.Value) * 100
格式化单元格。