SECID FROMDATE PRICE 12345 20071112 17.50 12345 20080213 16.00 12345 20080516 12.00 12345 20080722 13.33
CLTNR SECID DATE NUMBER 0001 12345 20071201 250 0001 12345 20080101 275 0001 12345 20080201 245 ... 0001 12345 20080401 230 ... 0001 12345 20080701 300
CLTNR SECID DATE NUMBER PRICE 0001 12345 20071201 250 17.50 (price 20071112) 0001 12345 20080101 275 17.50 (price 20071112) 0001 12345 20080201 245 17.50 (price 20071112) 0001 12345 20080401 230 16.00 (price 20080213) 0001 12345 20080701 300 12.00 (price 20080516)
Frank | |
prod: WF 7.6.10 platform Windows, databases: msSQL2000, msSQL2005, RMS, Oracle, Sybase,IE7 test: WF 7.6.10 on the same platform and databases,IE7 |
FILEDEF MFD DISK mfd1.mas -RUN -WRITE MFD FILENAME=MFD1, SUFFIX=FIX, $ -WRITE MFD SEGNAME=MFD1, $ -WRITE MFD FIELDNAME=SECID , FORMAT=A5 , ACTUAL=A5 , $ -WRITE MFD FIELDNAME=FROMDATE, FORMAT=YYMD , ACTUAL=A8 , $ -WRITE MFD FIELDNAME=PRICE , FORMAT=D12.2, ACTUAL=A5 , $ FILEDEF MFD1 DISK mfd1.ftm -RUN -WRITE MFD1 123452007111217.50 -WRITE MFD1 123452008021316.00 -WRITE MFD1 123452008051612.00 -WRITE MFD1 123452008072213.33 FILEDEF MFD DISK mfd2.mas -RUN -WRITE MFD FILENAME=MFD2, SUFFIX=FIX, $ -WRITE MFD SEGNAME=MFD2, $ -WRITE MFD FIELDNAME=CLTNR , FORMAT=A4 , ACTUAL=A4 , $ -WRITE MFD FIELDNAME=SECID , FORMAT=A5 , ACTUAL=A5 , $ -WRITE MFD FIELDNAME=DATE , FORMAT=YYMD , ACTUAL=A8 , $ -WRITE MFD FIELDNAME=NUMBER , FORMAT=I4 , ACTUAL=A3 , $ FILEDEF MFD2 DISK mfd2.ftm -RUN -WRITE MFD2 00011234520071201250 -WRITE MFD2 00011234520080101275 -WRITE MFD2 00011234520080201245 -WRITE MFD2 00011234520080401230 -WRITE MFD2 00011234520080701300 TABLE FILE MFD1 PRINT * COMPUTE BLANK/A1 = ''; COMPUTE TODATE/YYMD = IF LAST FROMDATE EQ 0 THEN &YYMD ELSE LAST FROMDATE; BY HIGHEST FROMDATE NOPRINT ON TABLE HOLD END TABLE FILE HOLD PRINT PRICE BY BLANK BY SECID BY FROMDATE BY TODATE ON TABLE HOLD AS FT FORMAT FOCUS INDEX BLANK END JOIN BLANK WITH CLTNR IN MFD2 TO ALL BLANK IN FT TAG RT AS J DEFINE FILE MFD2 BLANK/A1 WITH CLTNR = ' '; END TABLE FILE MFD2 PRINT PRICE FROMDATE TODATE BY CLTNR BY SECID BY DATE BY NUMBER WHERE MFD2.DATE GE RT.FROMDATE AND MFD2.DATE LE RT.TODATE END
- Using AS 8.2.01 on Windows 10 - IE11. | |||
in Focus since 1988 |
Frank | |
prod: WF 7.6.10 platform Windows, databases: msSQL2000, msSQL2005, RMS, Oracle, Sybase,IE7 test: WF 7.6.10 on the same platform and databases,IE7 |
EX -LINES 5 EDAPUT MASTER,STOCKPRICES,CF,MEM,FILENAME=STOCKPRICES, SUFFIX=FOC,$ SEGNAME=ONE, SEGTYPE=S1 ,$ FIELD=SECID, ,I9 ,I9 ,FIELDTYPE=I, $ FIELD=FROMDATE, ,YYMD ,YYMD ,$ FIELD=PRICE, ,D12.2 ,D12.2 ,$ -RUN EX -LINES 6 EDAPUT MASTER,CLIENTPOSITIONS,CF,MEM,FILENAME=CLIENTPOSITIONS, SUFFIX=FOC,$ SEGNAME=ONE, SEGTYPE=S1 ,$ FIELD=CLTNR, ,A4 ,A4 ,$ FIELD=SECID, ,I9 ,I9 ,FIELDTYPE=I, $ FIELD=DATE, ,YYMD ,YYMD ,$ FIELD=NUMBER, ,D12 ,D12 ,$ -RUN CREATE FILE STOCKPRICES MODIFY FILE STOCKPRICES FREEFORM SECID FROMDATE PRICE DATA 12345,20071112,17.50,$ 12345,20080213,16.00,$ 12345,20080516,12.00,$ 12345,20080722,13.33,$ END -RUN CREATE FILE CLIENTPOSITIONS MODIFY FILE CLIENTPOSITIONS FREEFORM CLTNR SECID DATE NUMBER DATA 0001,12345,20071201,250,$ 0001,12345,20080101,275,$ 0001,12345,20080201,245,$ 0001,12345,20080401,230,$ 0001,12345,20080701,300,$ 0002,12345,20071201,250,$ 0002,12345,20080201,275,$ 0002,12345,20080301,245,$ 0002,12345,20080401,230,$ 0002,12345,20080501,300,$ END -RUN JOIN CLEAR * JOIN SECID IN CLIENTPOSITIONS TO MULTIPLE SECID IN STOCKPRICES AS J1 -* TABLE FILE CLIENTPOSITIONS PRINT DATE NUMBER FROMDATE PRICE BY CLTNR BY SECID WHERE FROMDATE LE DATE ON TABLE HOLD AS FRDUTCH END -RUN TABLE FILE FRDUTCH PRINT NUMBER PRICE BY CLTNR BY SECID BY DATE BY HIGHEST 1 FROMDATE ON TABLE SET HTMLCSS ON ON TABLE SET PAGE NOLEAD ON TABLE SET STYLE * GRID=OFF,SIZE=9, $ ENDSTYLE END
In FOCUS since 1986 | WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2 | ||
WebFOCUS App Studio 8.2.06 standalone on Windows 10 |
quote:EX -LINES 5 EDAPUT MASTER,STOCKPRICES,CF,MEM,FILENAME=STOCKPRICES, SUFFIX=FOC,$
Frank | |
prod: WF 7.6.10 platform Windows, databases: msSQL2000, msSQL2005, RMS, Oracle, Sybase,IE7 test: WF 7.6.10 on the same platform and databases,IE7 |
TABLE FILE mfd1 COUNT ENTRIES NOPRINT BY SECID PRINT PRICE FROMDATE NOPRINT SECID NOPRINT COMPUTE TODATE/YYMD = IF (SECID NE LAST SECID) THEN '&YYMD' ELSE LAST FROMDATE; BY SECID BY HIGHEST FROMDATE ON TABLE SET HOLDLIST PRINTONLY ON TABLE HOLD AS FT FORMAT FOCUS INDEX SECID END -RUN JOIN SECID IN mfd2 TO UNIQUE SECID IN FT TAG RT AS J END TABLE FILE mfd2 PRINT NUMBER PRICE FROMDATE TODATE BY CLTNR BY SECID BY DATE WHERE DATE GE RT.FROMDATE AND DATE LT RT.TODATE ; END