I have the following code. Table Y has multiple rows for the same key as in Table X. The join is JOIN=ALL, LEFT OUTER. I am still getting multiple rows from Y (more than one EFF_DT3). Can anyone tell me why? I just want the row with the highest EFF_DT from table y where the Year and Month of EFF_DT is LE the Year and Month entered into the prompts.
-PROMPT &MO.Enter Month (mm).; -PROMPT &YR.Enter Year (yyyy).;
TABLE FILE X SUM X.DLRS Y.DEALERS BY HIGHEST 1 EFF_DT3 WHERE EFF_DT3 LE PROMPT_YR_MO ; ON TABLE HOLD AS HOLDTBL1 FORMAT FOCUS END -RUNThis message has been edited. Last edited by: Ted Michalski,
7.7.02 Windows EXCEL, PDF, CSV, TEXT
July 13, 2012, 03:20 PM
ReddyP
I am assuming that you have the join like this. join filed in tablex to all field in tabley as j1 if you want the date from tabley, shouldnt you be using the date in define as EFF_DT1/YYM= Y.EFF_DT; instead of x.dateeff? EFF_DT1/YYM= X.EFF_DT;
7.7.01,windows2008 R2
July 16, 2012, 11:53 AM
Darin Lee
quote:
BY HIGHEST 1 EFF_DT3 WHERE EFF_DT3 LE PROMPT_YR_MO ;
I have not ever seen this work reliably when combining lines. Separate them and see if it works:
BY HIGHEST 1 EFF_DT3 WHERE EFF_DT3 LE PROMPT_YR_MO;
You also might want to test all your defines by including them in the PRINT/SUM to make sure everything is calculating as you expect. You can remove or NOPRINT them after checking them all.
Regards,
Darin
In FOCUS since 1991 WF Server: 7.7.04 on Linux and Z/OS, ReportCaster, Self-Service, MRE, Java, Flex Data: DB2/UDB, Adabas, SQL Server Output: HTML,PDF,EXL2K/07, PS, AHTML, Flex WF Client: 77 on Linux w/Tomcat