Focal Point
[CLOSED] Multiple when condition for a single formatting row

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

November 18, 2013, 05:16 AM
Shankar
[CLOSED] Multiple when condition for a single formatting row
Hi

can i Use multiple WHEN condition in my stylesheet.
I need to put two condition together

WHEN=A EQ B AND WHEN =C EQ 'abc'

is there any solution to use two condition together.
I tried to use
TYPE=DATA,COLUMN=P1,FOCEXEC=joe,WHEN=A EQ 1,$
TYPE=DATA,COLUMN=P1,FOCEXEC=frank,WHEN=B EQ 2,$

but it not applies both condition together

This message has been edited. Last edited by: <Kathryn Henning>,


WF 8.1.04,Windows 7,
DataBase: Oracle 11g,Output :Excel,PDF,HTML
November 18, 2013, 05:26 AM
MichaelBalle
You have to do a COMPUTE (or DEFINE)like

ctrl /I2 = IF (A EQ B) AND (C EQ 'abc') THEN 0 ELSE 1;

and then your formatting:

TYPE=DATA,COLUMN=P1,FOCEXEC=joe,WHEN=ctrl EQ 1,$
TYPE=DATA,COLUMN=P1,FOCEXEC=frank,WHEN=ctrl EQ 0,$



WebFOCUS 7.6, 7.7
Windows, All Output formats
November 19, 2013, 06:59 AM
Shankar
Thanks Michael
I tried your code in my pdf format but its not working...
Condition are fine formatting section is not reflected in my report.

Please suggest


WF 8.1.04,Windows 7,
DataBase: Oracle 11g,Output :Excel,PDF,HTML
November 19, 2013, 09:37 AM
njsden
what Michael suggested is the technique to use.

If something is not working for you, I'd suggest that you post your code (just the relevant pieces) for us to take a look. Better yet, try and replicate the issue using a TABLE FILE CAR statement and post it here.

Just a question, are you declaring the "control" field in a COMPUTE or DEFINE statement? If DEFINE, make sure to add the field to your TABLE FILE request using NOPRINT.

Now, try also to declare your control field using an alpha type instead of numbers, the reason being that if you declare it in a DEFINE but you're using a SUM verb, your field will be aggregated and therefore your WHEN=ctrl EQ 0 clause may never be true.



Prod/Dev: WF Server 8008/Win 2008 - WF Client 8008/Win 2008 - Dev. Studio: 8008/Windows 7 - DBMS: Oracle 11g Rel 2
Test: Dev. Studio 8008 /Windows 7 (Local) Output:HTML, EXL2K.
November 19, 2013, 11:49 AM
Francis Mariani
here's a working example:

SET BYDISPLAY=ON

TABLE FILE CAR
SUM 
SALES
COMPUTE CONDITION1/A10 = 
     IF COUNTRY EQ 'JAPAN' THEN '1' 
ELSE IF MODEL EQ 'TR7' THEN '2'
ELSE '3'; NOPRINT

BY COUNTRY
BY MODEL

ON TABLE SET STYLE *
TYPE=DATA,COLUMN=P1,FOCEXEC=JOE,WHEN=CONDITION1 EQ '1', $
TYPE=DATA,COLUMN=P1,FOCEXEC=FRANK,WHEN=CONDITION1 EQ '2', $
ENDSTYLE
END



Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server