如何计算 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" 指示。对于每周日期,您必须以其他方式对查询进行分组,或者使用指示周数的字段或通过其他方法。
一种方法可能是 运行 通过采用开始和结束日期的过程来确定单独的日期。
关于计算平均值,有一些内置函数可以累加数字。 ACCUMULATE
、ACCUM
、AVERAG
等。不过我不会打扰。我会计算记录的数量并总结销售额然后除法。
类似这样的东西(使用伪造的 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".
我是新手,我想知道, 我如何编写代码来找出产品在 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" 指示。对于每周日期,您必须以其他方式对查询进行分组,或者使用指示周数的字段或通过其他方法。
一种方法可能是 运行 通过采用开始和结束日期的过程来确定单独的日期。
关于计算平均值,有一些内置函数可以累加数字。 ACCUMULATE
、ACCUM
、AVERAG
等。不过我不会打扰。我会计算记录的数量并总结销售额然后除法。
类似这样的东西(使用伪造的 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".