Crystal Reports - 计算组的公式/如何根据总和创建平均值

时间:2011-09-02 21:02:49

标签: crystal-reports

我正在制作一份报告,显示包含多个采购订单编号,订单数量和发货数量的零件编号。首先,我将零件号分组。

Part # 21104-2F    PO # S7CEO    Order Qty: 10    Shipped Qty: 0
                   PO # S7CEO    Order Qty: 10    Shipped Qty: 0
                   PO # S8LVU    Order Qty: 5     Shipped Qty: 0

有时我们会在采购订单中拆分作业。例如:(查看上面的PO#S7CEO)您订购了部件#21004-2F中的20个。我们将它分成两个部分(或工作),每个部分10个部分。在本报告中,我只想看到您订购了20.为了实现这一目标,我创建了第二组采购订单编号并插入了一个总和,这样我才能看到您订购了20个零件。

Part # 21104-2F    PO # S7CEO    Order Qty: 20    Shipped Qty: 0
                   PO # S8LVU    Order Qty: 5     Shipped Qty: 0

我的困境:我需要根据您订购的零件数量显示平均值(因此20个零件的平均值,而不是10个零件),但CR给出了基于10个零件的平均值。

如何根据总和创建平均值?

我尝试使用公式来计算总和然后除以行数。有3个“行”但是一旦我分组并插入摘要,就有2个不同的采购订单。行数公式计算“3”行。我想要计算我有多少组,所以它会提出“2”。然后我将能够将“groupcount”(2)除以总订单数量,这将给我一个平均值。有没有一个公式可以帮助我实现这个目标?

提前谢谢!

2 个答案:

答案 0 :(得分:1)

是的,Count计算所有记录。使用DistinctCount代替值:

    Sum({OrderQty})/DistinctCount({PO})

这应该在分母中给你2而不是3。

答案 1 :(得分:0)

只要您将数据输出到组页脚,就可以使用SUM(发货数量)/ COUNT(PO#)来获取平均零件/货件。

e.g。

Part#(组#1)和PO#(组#2)的两级分组。您将在Group Footer#2字段中输出实际数据。要进行平均值,您需要在该页脚中添加两个汇总值:SUM(已发货数量)和COUNT(PO#)。然后是一个简单的公式字段来执行这两个值的SUM / COUNT,并且您已获得每个出货值的平均值。