【问题标题】:Crystal Reports - Formula to count groups/How to create an average based on sumsCrystal Reports - 计算组的公式/如何根据总和创建平均值
【发布时间】:2013-09-03 23:48:22
【问题描述】:

我正在编写一份报告,该报告显示具有多个采购订单编号、订单数量和发货数量的零件编号。首先,我将零件编号分组。

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)您订购了 20 个零件 #21004-2F。我们将其分成两行(或作业),每个作业 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)除以总订单数量,这会给我一个平均值。是否有公式可以帮助我实现这一目标?

提前谢谢你!

【问题讨论】:

    标签: crystal-reports


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      例如

      Part #(组 #1)和 PO #(组 #2)的两级分组。您将在 Group Footer #2 字段中输出实际数据。要进行平均,您需要在该页脚中添加两个汇总值:SUM(装运数量)和 COUNT(PO #)。然后是一个简单的公式字段来对这两个值进行求和/计数,您就得到了每批货物的平均零件值。

      【讨论】:

        猜你喜欢
        • 2011-04-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-09-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多