-SET &CNTRY1 = 'ENGLAND'; -SET &CNTRY2 = 'JAPAN'; -SET &CNTRY3 = 'CHINA'; -SET &NBPARM = 3; TABLE FILE CAR SUM RETAIL_COST/D8 AS 'RETAIL_COST' BY TOTAL COMPUTE FND /A1 = 'Y'; BY COUNTRY/A10 AS 'COUNTRY' WHERE COUNTRY IN (&CNTRY1.QUOTEDSTRING, &CNTRY2.QUOTEDSTRING, &CNTRY3.QUOTEDSTRING); ON TABLE HOLD AS EXTDATA END -RUN TABLE FILE EXTDATA BY COUNTRY ON TABLE HOLD AS EXTCNTRY END -RUN -SET &NBCNTRY = &LINES; -SET &HASDFLT = 'N'; -IF &NBCNTRY EQ &NBPARM THEN GOTO NODEFAULT; -SET &J = 0; -REPEAT FNDCNTRY FOR &I FROM 1 TO &NBCNTRY -DEFAULTH &CNTRY = '' -DEFAULTH &FND = '' -DEFAULTH &FND&I.EVAL = '' -READFILE EXTCNTRY -SET &FND&I.EVAL = TRIM_(BOTH, ' ', &COUNTRY); -TYPE -->&FND&I.EVAL<-- -FNDCNTRY -REPEAT CNTRYFND FOR &X FROM 1 TO &NBPARM -SET &CNTRYFND = 'N'; -REPEAT CHECKFND FOR &Y FROM 1 TO &NBCNTRY -SET &CNTRYFND = IF &CNTRY&X.EVAL EQ &FND&Y.EVAL THEN 'Y' ELSE &CNTRYFND; -CHECKFND -IF &CNTRYFND EQ 'Y' THEN GOTO CNTRYFND; -SET &J = &J + 1; -SET &MISCNTRY = &CNTRY&X.EVAL; TABLE FILE CAR SUM COMPUTE RETAIL_COST /D8 = 0; BY COUNTRY NOPRINT BY TOTAL COMPUTE FND /A1 = 'N'; BY TOTAL COMPUTE COUNTRY /A10 = '&MISCNTRY.EVAL'; WHERE READLIMIT EQ 1; ON TABLE HOLD AS EMPTYDATA&J.EVAL END -RUN -CNTRYFND TABLE FILE EMPTYDATA1 SUM RETAIL_COST BY FND BY COUNTRY ON TABLE HOLD AS EMPTYDATA -REPEAT MRGFILE FOR &K FROM 2 TO &J MORE FILE EMPTYDATA&K.EVAL -MRGFILE END -RUN -SET &HASDFLT = 'Y'; -NODEFAULT TABLE FILE EXTDATA SUM RETAIL_COST BY FND BY COUNTRY ON TABLE HOLD AS RPTDATA -IF &HASDFLT EQ 'N' THEN GOTO NOEMPTY; MORE FILE EMPTYDATA -NOEMPTY END -RUN DEFINE FILE RPTDATA RETCST /A20V = IF FND EQ 'N' THEN 'No Data Available' ELSE FPRINT(RETAIL_COST, 'D8', 'A20'); END TABLE FILE RPTDATA SUM RETCST AS 'Retail Cost' BY COUNTRY AS 'Country' ON TABLE PCHOLD AS 'MyReport' FORMAT XLSX ON TABLE SET COMPOUND BYTOC ON TABLE SET STYLE * TYPE=DATA, COLUMN=RETCST, JUSTIFY=RIGHT, $ ENDSTYLE END -RUN
quote:WHERE BDCA_CODE IN (&BDCA1, &BDCA2, &BDCA3);
WHERE BDCA_CODE IN (&BDCA1.QUOTEDSTRING, &BDCA2.QUOTEDSTRING, &BDCA3.QUOTEDSTRING);
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 |
-SET &Region1 = 'East'; -SET &Region2 = 'Midwest'; -SET &Region3 = 'West'; SET ASNAMES=ON, HOLDMISS=ON TABLE FILE GGSALES SUM UNITS DOLLARS BY REGION AS 'REGION' ROWS '&Region1' OVER '&Region2' OVER '&Region3' BY ST BY CITY ON TABLE HOLD AS REPDATA END TABLE FILE REPDATA PRINT UNITS DOLLARS BY REGION BY ST BY CITY ON REGION SUBHEAD "No data Available for Region <REGION" WHEN UNITS IS MISSING AND DOLLARS IS MISSING ON TABLE SET COMPOUND 'BYTOC 1' ON TABLE PCHOLD FORMAT XLSX END