当按数据分组时,我们如何同时使用sum和max?

时间:2018-05-27 14:08:14

标签: mainframe jcl

如果在JCL中按ID分组

,我们如何在金额和获取最大日期的同时进行总结

输入:

Id   Amount Date
--------------------
123  200    20180516
123  300    20180520
456  100    20180616
456  700    20180420

预期结果:

Id   Amount Date
--------------------
123  500    20180520
456  800    20180616

我已尝试过:

SORTST5  EXEC PGM=SORT
SYSOUT   DD   SYSOUT=*
SYSPRINT DD   SYSOUT=*
SORTIN   DD   DSN=&VNTMPççWRK.INWORK,DISP=SHR
SORTOUT  DD   DSN=&VNTMP..WRK.OUTWORK.OUT.FRM,
              DISP=(,CATLG,DELETE),
              RECFM=FB,LRECL=84, SPACE=(CYL,(100,100), RLSE)
SYSIN    DD   *
SORT FIELDS=(1,3,PD,A)
SUM  FIELDS=(4,3,PD)

1 个答案:

答案 0 :(得分:4)

JCL不是可执行文件,您无法在没有SORT等实用程序的情况下操作JCL中的日期。

我在JCL中使用了ICETOOL(一个实用程序)来达到预期的效果。 First Control语句将使用ID(按升序排列)和Date(按降序排序)对Input进行排序。第二个控制语句将使用第一个控制语句对输出产生SUM FIELDS。

{{1}}