【问题标题】:How to get total from another tablix column? (SSRS)如何从另一个 tablix 列中获取总数? (SSRS)
【发布时间】:2019-03-22 02:40:45
【问题描述】:

你好 stackoverflow 的人!

我需要帮助解决我的 SSRS 表达式的一个简单问题。 我怎么能在 SSRS 中做到这一点?

您可以在我的 excel 屏幕截图中的第二张表中看到。 对于每一行,我们将 -BC5...-BC10 划分为列/行 BC4。在 excel column total 2018 中将表 2 的预期结果放入 BC17 到 BC22 的列/行中。

我试过像这样引用我的文本框 ReportItems!TextBox1.Value / ReportItems!TextBox2.Value。 但是给了我错误的价值观。 有人可以帮忙吗?

谢谢!

【问题讨论】:

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


    【解决方案1】:

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

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

    如果它们不在同一个 Table/Tablix 中,那么您应该编写如下:

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

    格式化你的单元格。

    【讨论】:

    • 你好@Sai!谢谢您的答复!我尝试按照您所说的进行操作,但与上图中 SSRS 的结果仍然相同。我在 2nd tablix/table total 2018 第一行中得到 -18 而不是 -1.83 的值。所以我仍然没有得到正确的结果。
    • 我认为是格式问题或计算问题。尝试更改单元格的格式如果这不起作用,请检查您使用的公式。
    【解决方案2】:

    没有足够的信息给你一个准确的答案,但你应该能够解决。

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

    现在我们需要对 GrossCatalogRestated 执行相同的操作。但是,顶部 tablix 中的 GrossCatalogRestated 似乎不是一个聚合。我假设它应该是数据集的总 GrossCatalogRestated。对于这个例子,我们会说数据集名称是dsMyDataSet。如果它在一个行组中,只需将数据集名称与它所在的行组名称交换出来,就像我们对 DiscountOERestated 所做的那样。

    所以你的表达看起来像

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

    这会给你一个十进制的结果,类似于 0.025 。然后您只需将格式属性设置为 "p1",因此它显示为 2.5%

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

    【讨论】:

    • 感谢您的帮助!
    猜你喜欢
    • 2014-11-19
    • 2019-04-10
    • 1970-01-01
    • 2021-10-19
    • 1970-01-01
    • 2018-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多