Hi, Hoping this is an easy one.. I defined a field in car file called SEATSA, it is simply spelling out each of the seats: SEATSA/A5=IF SEATS EQ 2 THEN 'TWO' ELSE IF SEATS EQ '4' THEN 'FOUR' ELSE 'FIVE';
I now want to count seats BY CAR BY SEATSA, but I want to see all of the SEATSA values for each CAR. For example for Alpha Romeo I want to see FIVE count 0, FOUR Count 1, TWO Count 2.
Here is my code:
DEFINE FILE CAR
SEATSA/A12=IF SEATS EQ 2 THEN 'TWO' ELSE IF SEATS EQ '4' THEN 'FOUR' ELSE 'FIVE';
END
TABLE FILE CAR
SUM CNT.SEATS
BY CAR
BY SEATSA
WHERE CAR EQ 'ALFA ROMEO';
END
I am not getting the value of FIVE of course, since 5 does not exist for Alpha Romeo. How do I show FIVE and have a count of 0?
Thank you.This message has been edited. Last edited by: nickz,
October 25, 2019, 03:22 PM
SeyedG
Hi Nick, You could try something like this.
DEFINE FILE CAR
SEATS_2/I2= IF SEATS EQ 2 THEN 1 ELSE 0;
SEATS_4/I2= IF SEATS EQ 4 THEN 1 ELSE 0;
SEATS_5/I2= IF SEATS EQ 5 THEN 1 ELSE 0;
END
TABLE FILE CAR
SUM CAR NOPRINT
SEATS_2 AS 'TWO'
SEATS_4 AS 'FOUR'
SEATS_5 AS 'FIVE'
BY CAR
END
October 25, 2019, 04:45 PM
Pku
nickz, can you try this if it works for you?
SET NODATA = 0
TABLE FILE CAR
SUM CNT.SEATS
BY CAR
BY SEATS AS 'SEATS' ROWS 2 AS 'TWO' OVER 3 AS 'THREE' OVER 4 AS 'FOUR' OVER 5 AS 'FIVE'
WHERE CAR EQ 'ALFA ROMEO';
END
Thanks, Pku
Focus, WebFocus 8201 on Windows
October 25, 2019, 07:28 PM
nickz
Thank you Pku, This solution is exactly what I was looking for.