Focal Point
[CLOSED] ACROSS IF?

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/5437093196

June 28, 2019, 03:00 PM
mbondr
[CLOSED] ACROSS IF?
I need to sum columns by month, quarter, or year, depending on radio button selected. Is something like this possible?

ACROSS IF &Agro EQ 1 THEN J0.CMSBESTPRACTICESDATA.DATE_MYY AS 'Month Year'
ELSE IF &Agro EQ 3 THEN J0.CMSBESTPRACTICESDATA.HEAD_QUARTER AS 'Quarter Year'
ELSE J0.CMSBESTPRACTICESDATA.HEAD_YEAR AS 'Year';

This message has been edited. Last edited by: mbondr,


WebFOCUS 8.2.04 (and climbing)
Windows 10, AppStudio
June 28, 2019, 03:05 PM
MartinY
-* &BYSELECT it's your input parameter that will assigne the proper field / title
-DEFAULTH &BYSELECT = 2
-SET &BYACR = DECODE &BYSELECT (1 REGION
-                               2 ST
-                               3 CITY
-                            ELSE DATE);

-SET &BYACRT = DECODE &BYSELECT (1 'Region'
-                                2 'State'
-                                3 'City'
-                             ELSE 'Date');

TABLE FILE GGSALES
SUM DOLLARS
ACROSS &BYACR AS '&BYACRT'
END



WF versions : Prod 8.2.04M gen 33, Dev 8.2.04M gen 33, OS : Windows, DB : MSSQL, Outputs : HTML, Excel, PDF
In Focus since 2007
June 28, 2019, 03:50 PM
mbondr
CMSBESTPRACTICESDATA.CMSBESTPRACTICESDATA.PROVIDER IN CMSBESTPRACTICESDATA
TAG J0 AS J0
END
SET NODATA = 0
SET &Bound = DECODE &Agro (1 J0.CMSBESTPRACTICESDATA.DATE_MYY 3 J0.CMSBESTPRACTICESDATA.HEAD_QUARTER ELSE J0.CMSBESTPRACTICESDATA.HEAD_YEAR);
SET &Header = DECODE &Agro (1 'Month Year' 3 'Quarter Year' ELSE 'Year');
TABLE FILE HOLDFILEDATA
-*ON TABLE PCHOLD FORMAT XLSX
SUM
J0.CMSBESTPRACTICESDATA.TOTAL_CASES AS 'Total Cases'
J0.CMSBESTPRACTICESDATA.DENOMINATOR_CALC_2 AS 'Opportunities'
J0.CMSBESTPRACTICESDATA.NUMERATOR_CALC_2 AS 'Failures'
BY HOLDFILEDATA.SEG01.PROVIDER AS 'Provider'
BY J0.CMSBESTPRACTICESDATA.SERVICE AS 'Service'
-* ACROSS LOWEST J0.CMSBESTPRACTICESDATA.DATE_MYY AS 'Month Year'
ACROSS &Bound AS '&Header'

When I run this, the report asks for the values of &Bound and &Header. It has the their default values and it runs with those, but the SET statements don't seem to have executed, or maybe they have as they would return the same as the default, but the report doesn't continue with their values.


WebFOCUS 8.2.04 (and climbing)
Windows 10, AppStudio
June 28, 2019, 03:52 PM
MartinY
You need a - (dash) before the SET of Bound and Header


WF versions : Prod 8.2.04M gen 33, Dev 8.2.04M gen 33, OS : Windows, DB : MSSQL, Outputs : HTML, Excel, PDF
In Focus since 2007
June 28, 2019, 03:58 PM
BabakNYC
@mbondr: -SET populates variables in DIALOGUE MANAGER (https://webfocusinfocenter.informationbuilders.com/wfappent/pdfs4/wfappslang.pdf). SET adjusts the environment. MartinY's code is using -SET.


WebFOCUS 8206, Unix, Windows
June 28, 2019, 04:17 PM
mbondr
Added the hyphens in front of SET to no effect, still just the default values and the report isn't running with them, but instead is waiting for values.

Could it be where the SET's are? As you may have guessed, I'm a total untrained nube tossed into the deep end.

(see?)

-SET &Bound = DECODE &Agro (1 J0.CMSBESTPRACTICESDATA.DATE_MYY 3 J0.CMSBESTPRACTICESDATA.HEAD_QUARTER ELSE J0.CMSBESTPRACTICESDATA.HEAD_YEAR);
-SET &Header = DECODE &Agro (1 'Month Year' 3 'Quarter Year' ELSE 'Year');


WebFOCUS 8.2.04 (and climbing)
Windows 10, AppStudio
June 28, 2019, 04:45 PM
cldiaz
This should get you what you need

 -DEFAULT &BYDISPLAY = '_FOC_NULL';


-SET &BYDATE = IF &BYDISPLAY EQ 'Quarter' THEN 'CMSBESTPRACTICESDATA.CMSBESTPRACTICESDATA.DATE_QYY' ELSE IF &BYDISPLAY EQ 'Year' THEN 'CMSBESTPRACTICESDATA.CMSBESTPRACTICESDATA.DATE_YY' ELSE 'CMSBESTPRACTICESDATA.CMSBESTPRACTICESDATA.DATE_MYY';
-SET &BYDATENAME = IF &BYDISPLAY EQ 'Quarter' THEN 'Quarter' ELSE IF &BYDISPLAY EQ 'Year' THEN 'Year' ELSE 'Month';

TABLE FILE DATA
SUM
field 1
field 2
ACROSS LOWEST &BYDATE AS &BYDATENAME
 



WebFOCUS 8204
Windows, All Outputs