如何计算“进步/开放边缘”在4周内的每周平均销售额?

时间:2018-12-20 14:43:06

标签: openedge progress-4gl

我是新来的进步者,我想知道, 如何编写代码以找出产品在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)

谢谢。

1 个答案:

答案 0 :(得分:1)

break by sale日期将为您提供每个日期的“休息”指示。对于每周的日期,您将不得不对查询进行分组,否则,请使用指示星期编号的字段或通过其他方法进行分组。

一种方法可能是通过带有开始日期和结束日期的过程来运行各个日期。

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

类似这样的事情(使用伪造的表和字段名): 将变量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".