如何计算 Progress / open edge 4 周内的每周平均销售额?

How can I calculate weekly average sales over a 4 week period in Progress / open edge?

我是新手,我想知道, 我如何编写代码来找出产品在 4 周内的每周平均销售额?

到目前为止我已经试过了

for each Product no-lock
    where sale-date GE 03/01/2018
    and sale-date LE 05/30/2018
    Break by sale-date:

Display Product-cost(average)

谢谢。

break by sale 日期将为您提供每个日期的 "break" 指示。对于每周日期,您必须以其他方式对查询进行分组,或者使用指示周数的字段或通过其他方法。

一种方法可能是 运行 通过采用开始和结束日期的过程来确定单独的日期。

关于计算平均值,有一些内置函数可以累加数字。 ACCUMULATEACCUMAVERAG 等。不过我不会打扰。我会计算记录的数量并总结销售额然后除法。

类似这样的东西(使用伪造的 table 和字段名称): 将变量 iNum 定义为整数 NO-UNDO。 将变量 iSum 定义为整数 NO-UNDO。

PROCEDURE sales:
    DEFINE INPUT  PARAMETER pFrom AS DATE NO-UNDO.
    DEFINE INPUT  PARAMETER pTo AS DATE NO-UNDO.
    DEFINE OUTPUT PARAMETER piNum AS INTEGER NO-UNDO.
    DEFINE OUTPUT PARAMETER piSum AS INTEGER NO-UNDO.

    FOR EACH sales NO-LOCK WHERE sales.date >= pFrom 
                             AND sales.date <= pTo :
      piNum = piNum + 1.
      piSum = piSum + sales.value.
   END.
END.

RUN sales (03/01/2018, 03/08/2018, OUTPUT iNum, OUTPUT iSum).

DISPLAY iNum iSum iSum / iNum LABEL "Average".