如何从另一个tablix列中获取总计? (SSRS)

时间:2019-03-22 02:40:46

标签: sql-server-2008 reporting-services ssrs-2008 ssrs-2012 ssrs-2008-r2

您好,stackoverflow的人们!

我需要有关SSRS表达式的简单问题的帮助。 如何在SSRS中执行此操作? enter image description here

您可以在我的excel屏幕截图中的下面第二个表上进行操作。 对于每一行,我们将-BC5 ...- BC10划分为BC4列/行。为了在excel 2018年总列数中获得表2的期望结果,将其插入到列/行BC17至BC22。

我尝试像这样引用我的文本框 ReportItems!TextBox1.Value / ReportItems!TextBox2.Value。 但是给我带来了错误的价值观。 enter image description here enter image description here 有人可以帮忙吗。

谢谢!

2 个答案:

答案 0 :(得分:1)

如果这两个表位于同一个表/ tablix中,则它应该与您编写的表达式一起使用(尝试键入它而不是有时可能会粘贴粘贴)

=(ReportItems!Textbox7.Value /ReportItems!Textbox1.Value) * 100

如果它们不在同一表/ Tablix中,则应编写如下内容:

=(Fields!ColumnName1.Value / Fields!ColumnName2.Value) * 100

设置单元格格式。

答案 1 :(得分:1)

没有足够的信息为您提供确切的答案,但是您应该可以解决它。

您需要做的第一件事是获取要使用的聚合的上下文。因此,单击包含要除数([Sum(DiscountOERestated)])的单元格。在屏幕底部附近的行和列组面板中,查看突出显示的行组。对于此示例,我假设该行组名为grpCategory

现在,我们需要对GrossCatalogRestated做同样的事情。但是,顶部Tablix中的GrossCatalogRestated似乎不是聚合。我假设它应该是数据集的总GrossCatalogRestated。对于此示例,我们将数据集名称命名为dsMyDataSet。如果它在行组中,则只需将数据集名称与其所在的行组名称交换出去,就像我们对DiscountOERestated所做的那样。

所以您的表情看起来像

=SUM(Fields!DiscountOERestated.Value, "grpCategory") / SUM(Fields!GrossCatalogRestated .Value, "myDataSetName")

这将为您带来令人振奋的结果,例如0.025。然后,您只需将格式属性设置为"p1",它就显示为2.5%

如果这不起作用,请编辑问题以在要使用的单元格中显示表达式以及行组和数据集名称。