![]() |
||||||||||||
Go ![]() | New ![]() | Search ![]() | Notify ![]() | Tools ![]() | Reply ![]() | ![]() |
Silver Member |
Hi All, Problem displaying nodata. I want my report to display the title if there is no data for the particular cilumn eg; DEFINE FILE CAR ROW_NAME/A225V = IF SEATS EQ '1' THEN 'ROW1' ELSE IF SEATS EQ '2' THEN 'ROW2' ELSE IF SEATS EQ '3' THEN 'ROW3' ELSE ''; END TABLE FILE CAR PRINT CNT.ROW_NAME BY ROW_NAME BY COUNTRY WHERE COUNTRY EQ 'INDIA' if in the above code if for INDIA there is no value for 1 and 2 i still want the reprot to display like below row_name country count ROW1 INDIA 0 ROW2 INDIA 0 ROW3 INDIA 6This message has been edited. Last edited by: Kerry, 769 Excel,PDF and HTML | ||
|
Virtuoso |
This is not a question of NODATA as such. NODATA comes into play when a field within a record has not been assigned a value. What you are looking for is displaying entire records that are not existing. That requires a totally different approach. You would have to invent a means of providing those non-existing records and add them to the report. It is possible to do this using, for instance, the MATCH command. GamP
| |||||||||
|
Platinum Member |
Try this DEFINE FILE CAR ROW_NAME/A225V = IF SEATS EQ '1' THEN 'ROW1' ELSE IF SEATS EQ '2' THEN 'ROW2' ELSE IF SEATS EQ '3' THEN 'ROW3' ELSE ''; END TABLE FILE CAR CNT.ROW_NAME FOR ROW_NAME ROW1 OVER ROW2 OVER ROW3 WHERE COUNTRY EQ 'INDIA' END | |||
|
<JG> |
Naturally you tested that before posting it.
| ||
|
Gold member |
Shru - is there any sort of join prior to your report that may affect your define or missing data? Otherwise, if I understand correctly, you might be able to use ROWS...OVER like this: BY ROW_NAME ROWS ROW1 OVER ROW2 OVER ROW3 This creates "buckets" for all possible values in your BY field whether there is data or not. In addition, if you use this and are exporting to Excel and want to set your NODATA value, you need to set another command: SET EMPTYCELLS = OFF SET NODATA = [your value] Bob WF (App Studio) 8.2.01m / Windows Mainframe FOCUS 8 | |||
|
<JG> |
Bob read the last 2 posts | ||
|
Platinum Member |
JG, There are zero records because there is no data in the CAR file for 'INDIA' not because the code is wrong. Try If COUNTRY EQ 'ENGLAND' and BTW change the PRINT to a SUM for a more meaningful result. The point was to show the use of OVER to create rows in the report even when data does not exist in the file being reported from. | |||
|
<JG> |
That's exactly the point. Shru wants to generate an output when there are no rows | ||
|
Platinum Member |
OK but what's the point of that? | |||
|
Guru |
If there always has to be output for certain values, even if there is no data, you might want to create a control file with all the possible values that must appear (countries in this case). You then do an outer join between your control file and your data. (Prod: WebFOCUS 7.7.03: Win 2008 & AIX hub/Servlet Mode; sub: AS/400 JDE; mostly Self Serve; DBs: Oracle, JDE, SQLServer; various output formats) | |||
|
Powered by Social Strata |
![]() | Please Wait. Your request is being processed... |
|