【问题标题】:SSRS count only visible group headers (footers)SSRS 仅计算可见组页眉(页脚)
【发布时间】:2019-03-21 06:46:41
【问题描述】:

我有这样的记录: GR_ID, “debit”, “credit”, “balance”

例子:

1, 100.00, 0.00, 100.00
1, 200.00, 50.00, 150.00
1, 0.00, 50.00, -50.00
2, 300.00, 0.00, 300.00
2, 0.00, 300.00, -300.00
3, 200.00, 0.00, 200.00
3, 100.00, 200.00, -100.00

我只需要打印组总计,但前提是“余额”0.00 的组总计并且我需要计算它们。 GR_ID=2 的组应该不可见,因为balance=0 的总数和结果如下所示:

1, 300.00, 100.00, 200.00
3, 300.00, 200.00, 100.00

计数:2:借方总额:600.00,贷方总额:300.00;总余额:300.00

我找不到在 SSRS 中获取 COUNT 的方法。 我知道我可以通过使用 SQL 过滤记录和使用 SSRS CountDistinct() 函数来做到这一点,但我对 SSRS 解决方案感兴趣。

【问题讨论】:

    标签: reporting-services


    【解决方案1】:

    终于找到解决办法了! “TOTALS”行中的“Count”字段应使用以下公式计算: =CountDistinct(iif(Sum(Fields!Balance.Value, "Gr_ID")=0,nothing,Fields!Gr_ID.Value))

    【讨论】:

      【解决方案2】:

      我尝试了各种方法,唯一能够让它工作的方法是在表中的 GR_ID 单元格的标题中使用报告项目计数。

      =COUNT(ReportItems!GR_ID.Value)
      

      我认为我可以通过分组和使用相同的分组过滤器将它放在表中,但我仍然得到 3 而不是 2。显然它在应用过滤器之前计数。

      【讨论】:

      • 抱歉,这对我不起作用。我用表达式 =COUNT(ReportItems!GR_ID.Value) 创建了一个文本框,并将其放在页脚,结果 =1。当我把它放在页眉上时,结果=0。你能告诉我更多细节吗?
      • 嗯 - 你确定它是表中文本框的名称,在你的示例中可以是 1 或 3。我在答案中添加了图片,看看您是否输入了错误的文本框。
      • 抱歉,我还不清楚。我想把我的图片放在这里,但我不知道怎么做。以下是其他详细信息: - “余额”是计算字段/列;详细信息行已隐藏,因此仅打印带有 GR_ID 和 Sum(Fields!Debit.Value)、Sum(Fields!Creit.Value)、Sum(Fields!Balance.Value) 的组页脚。并且组页脚具有条件可见性(如果:=Sum(Fields!Balance.Value)=0,则隐藏)。
      • 我只是重复了你的结果,它可以工作......但它会打印页面的计数,而不是总计数。:(所以看起来报表生成器无法做到!跨度>
      • 终于找到解决办法了! “TOTALS”行中的“Count”字段应使用以下公式计算: =CountDistinct(iif(Sum(Fields!Balance.Value, "Gr_ID")=0,nothing,Fields!Gr_ID.Value))
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多