Focal Point
conditional statements in RECAP

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

June 06, 2005, 03:20 PM
<kj>
conditional statements in RECAP
Can any one elp me in finding a solution for this.

I have to display rank based on the score for each group at summary row of the group. Here is the sample code from my RECAP statement.
X1 is the group average. I am trying to find a rank for the group average with IF .. THEN .. ELSE statemens. I am always getting 0 istead of getting 5.

X1/P8.2 = -.41;
RNK/I2 = IF X1 GE -200.00 AND X1 LE -8.61 THEN 7 ELSE IF X1 GE -8.60 AND X1 LE -.42 THEN 6 ELSE IF X1 GE -.41 AND X1 LE 15.78 THEN 5 ELSE IF X1 GE 15.79 AND X1 LE 28.24 THEN 4 ELSE IF X1 GE 28.25 AND X1 LE 39.13 THEN 3 ELSE IF X1 GE 39.14 AND X1 LE 55.66 THEN 2 ELSE IF X1 GE 55.67 AND X1 LE 200.00 THEN 1 ELSE 0;

I am using wf 5.32 on win2k.
A quick response is heighly appreciated.

Thanks,
kj
June 06, 2005, 04:34 PM
j.gross
The GE tests, after the first line, are extraneous (and may be the root of the problem, since Focus is probably using floating-point throughout) -- what happens when you run with X1 at an interior point, such as -.43?

Instead of
RNK/I2 =<br />     IF X1 GE -200.00 AND X1 LE  -8.61 THEN 7<br />ELSE IF X1 GE   -8.60 AND X1 LE   -.42 THEN 6<br />ELSE IF X1 GE    -.41 AND X1 LE  15.78 THEN 5<br />ELSE IF X1 GE   15.79 AND X1 LE  28.24 THEN 4<br />ELSE IF X1 GE   28.25 AND X1 LE  39.13 THEN 3<br />ELSE IF X1 GE   39.14 AND X1 LE  55.66 THEN 2<br />ELSE IF X1 GE   55.67 AND X1 LE 200.00 THEN 1<br />ELSE 0;                            
simplify it to
RNK/I2 =<br />     IF X1 LT -200.00 THEN 0<br />ELSE IF X1 LE   -8.61 THEN 7<br />ELSE IF X1 LE    -.42 THEN 6<br />ELSE IF X1 LE   15.78 THEN 5<br />ELSE IF X1 LE   28.24 THEN 4<br />ELSE IF X1 LE   39.13 THEN 3<br />ELSE IF X1 LE   55.66 THEN 2<br />ELSE IF X1 LE  200.00 THEN 1<br />ELSE 0;