【问题标题】:Crystal Report Sum of Average水晶报表平均值总和
【发布时间】:2014-06-18 15:29:19
【问题描述】:

我是 Crystal Report 的新手。我尝试了很多方法,但几天都无法解决这个问题。有人可以帮助解决我的问题吗?

这是我在将表 A 与表 B 连接后显示在详细信息部分的结果

Id   | Charge | Type

D428 | 35     | L

D440 | 54     | L

D440 | 54     | L

D435 | 28     | W

D435 | 28     | W

D448 | 32     | L

D452 | 37     | L

D465 | 20     | W
D465 | 20     | W

如何根据条件“Type”和“Id”分组计算“Charge”的平均值总和?

例如:

Sum Avg Type L : 35(D428) + 54(D440) + 32(D448) + 37(D452) = 158

Sum Avg Type W : 28(D435) + 20(D465) = 48

Avg for L: 258 / 4 id = 39.5

Avg for W: 48 / 2 = 24  

我尝试运行总字段来计算平均值,但无法在评估部分结合条件和分组依据。可以选择任一公式:type = 'L' 或 group by Id。

【问题讨论】:

  • 我可以看到有重复记录...是否符合要求?
  • 您希望显示效果如何?任何示例记录?
  • 谢谢。这些重复记录是由于表 A 和表 B 连接造成的。但是需要对每个 Id 计费一次,即使它是重复的。
  • 显示是得到每种类型的平均费用:L和W,不关心Id。示例:L 的平均费用为 39.5,W 的平均费用为 24

标签: crystal-reports


【解决方案1】:
  1. 要消除重复记录,请使用数据库菜单中的选项Select distinct records

  2. Type 分组并将IDCharge 放入Detail 部分

  3. 现在将SumChargecountID 放在组页脚中。

  4. 创建一个公式@Average 并在此处编写以下代码:将公式放在摘要和计数之后的最右侧

    Sum ({Charge}, {Type})/count({Charge}, {Type})
    

以上只是一个示例,当您进行汇总和计数,然后根据报告更改值。

  1. L 组中,您的 L 平均值在 W 组中,您的平均值为 W

【讨论】:

  • 感谢您的回复。我尝试了您的解决方案,但似乎不是我想要的。但是,我创建了 2 个组 Id 一个类型。因此,我运行总字段以获取平均费用,评估组 ID 的变化并在组类型的变化时重置。因此它可以显示每个 ID 的平均值。我还计算了每种类型的 Id 数量。因此,下一步是对每种类型的平均值求和并除以每种类型的计数。我
  • 我创建了运行总计字段来计算每种类型的平均值,以便使用公式: type='L' 。但这是不可能的。您的公式为每个 Id 产生平均值,而不是每种类型。该报告需要显示每种类型的平均值。在这种情况下,L=39.5 和 W=24。非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多