Focal Point
[CLOSED] Drill on MISSING value in 8203

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

May 17, 2018, 11:07 AM
capples
[CLOSED] Drill on MISSING value in 8203
We are in the process of upgrading to 8203 and I am having some issues with trying to drill on a field with a MISSING value in 8203.

In 8105, the drill passes a period for the MISSING and the drilldown report works correctly.

In 8203, the drill still passes a period, but the underlying report does not filter correctly for this MISSING value.

Is there a server setting that controls this behavior that might not be set in our 8203 environment?

Thanks

This message has been edited. Last edited by: FP Mod Chuck,


WF 8.2.0.3
Windows 10 64bit
HTML, AHTML, PDF, Excel
May 17, 2018, 11:12 AM
BabakNYC
What's your output format?


WebFOCUS 8206, Unix, Windows
May 17, 2018, 11:31 AM
capples
quote:
Originally posted by BabakNYC:
What's your output format?

HTML


WF 8.2.0.3
Windows 10 64bit
HTML, AHTML, PDF, Excel
May 17, 2018, 11:36 AM
BabakNYC
If you click NoData in this report does it take you to IB's home page?
  
SET NODATA = NoData
DEFINE FILE CAR
Define_1/A100 MISSING ON NEEDS SOME DATA=IF CAR.ORIGIN.COUNTRY EQ 'ENGLAND' THEN MISSING ELSE CAR.ORIGIN.COUNTRY;
END
TABLE FILE CAR
SUM
     CAR.BODY.SALES
BY  CAR.ORIGIN.Define_1
BY  CAR.ORIGIN.COUNTRY
ON TABLE SET PAGE-NUM NOLEAD
ON TABLE SET ASNAMES ON
ON TABLE NOTOTAL
ON TABLE PCHOLD FORMAT HTML
ON TABLE SET HTMLCSS ON
ON TABLE SET STYLE *
TYPE=REPORT,
     LINES-PER-PAGE=20,
$
TYPE=DATA,
     COLUMN=N1,
     DRILLMENUITEM='DrillDown 1',
          URL=http://informationbuilders.com,
          TARGET='_blank',
$
ENDSTYLE
END



WebFOCUS 8206, Unix, Windows
May 17, 2018, 11:56 AM
capples
Yes, it does


WF 8.2.0.3
Windows 10 64bit
HTML, AHTML, PDF, Excel
May 17, 2018, 11:59 AM
BabakNYC
Then I'm guessing there's something going on in the Drill report. Can you post a simple example? Do you get any errors?


WebFOCUS 8206, Unix, Windows
May 17, 2018, 12:48 PM
capples
I think I figured out what is causing the issue, but I'm not sure how to resolve it.

I created two reports using the car file, sample code is below. You will have to update based on your folder structure.

ReportDrillTest1
 DEFINE FILE CAR
NULLFIELD/A20 MISSING ON = IF COUNTRY EQ 'ITALY' THEN MISSING ELSE COUNTRY ;
END
TABLE FILE CAR
PRINT *
NULLFIELD

ON TABLE SET STYLE *

TYPE=DATA,
     COLUMN=COUNTRY,
	 FOCEXEC=IBFS:/WFC/Repository/Utilities/SampleCodes/ReportDrillTest2.fex( \
     NULLFIELD=NULLFIELD \
   ),
          TARGET='_blank',
$
ENDSTYLE
END 


ReportDrillTest2
 DEFINE FILE CAR
NULLFIELD/A20 MISSING ON = IF COUNTRY EQ 'ITALY' THEN MISSING ELSE COUNTRY ;
END
TABLE FILE CAR
PRINT *
NULLFIELD
WHERE NULLFIELD EQ '&NULLFIELD' ;
END 


When I drill on Italy, which passes the MISSING value, the parameter that is passed is the %20 character space value in 8203 and the drill report correctly filters for Italy. This is different than the period (.) that is being passed in my other report that is not working.

When I went to my other report and tried to drill on a value again, it is still passing a period for MISSING. When I swapped this period for the %20 character, I received the correct results in my report.

So it seems like there is some setting that is controlling what value for MISSING is being passed, but I don't know what it is or how to change it.


WF 8.2.0.3
Windows 10 64bit
HTML, AHTML, PDF, Excel
May 17, 2018, 01:17 PM
BabakNYC
ReportDrillTest2 needs a test for missing not '.', so you have to code it this way:

  
-SET &ECHO=ALL;
-SET &NULLFIELD=IF &NULLFIELD EQ . THEN _FOC_MISSING ELSE &NULLFIELD;
DEFINE FILE CAR
NULLFIELD/A20 MISSING ON = IF COUNTRY EQ 'ITALY' THEN MISSING ELSE COUNTRY ;
END
TABLE FILE CAR
PRINT *
NULLFIELD
WHERE NULLFIELD EQ '&NULLFIELD' ;
END 




WebFOCUS 8206, Unix, Windows
May 17, 2018, 02:17 PM
capples
Here's the output of the echo from your code:

-SET &NULLFIELD=IF   EQ . THEN _FOC_MISSING ELSE  ;
DEFINE FILE CAR
NULLFIELD/A20 MISSING ON = IF COUNTRY EQ 'ITALY' THEN MISSING ELSE COUNTRY ;
END
TABLE FILE CAR
PRINT *
NULLFIELD
WHERE NULLFIELD EQ '_FOC_MISSING' ;
END
(FOC757) WARNING. YOU REQUESTED PRINT * OR COUNT * FOR A MULTIPATH FILE
0 NUMBER OF RECORDS IN TABLE=        4  LINES=      4
0 HOLDING HTML FILE ON PC DISK ...



I get the same results as I received before (showing Italy for instance), but I'm not sure what this tells me. I don't understand why one report would pass '.' in a parameter for MISSING and another would pass %20.


WF 8.2.0.3
Windows 10 64bit
HTML, AHTML, PDF, Excel
May 17, 2018, 03:16 PM
BabakNYC
The syntax for checking for null is
WHERE FIELDNAME EQ MISSING;

In the example you provided the ECHO shows this:
WHERE FIELSNAME EQ '.';

Since '.' means look for a dot, it can't find it in your data and you get a blank report. _FOC_MISSING is a reserved word and has a specific meaning to the language. So when WebFOCUS sees that, it actually looks for null values.


WebFOCUS 8206, Unix, Windows
May 17, 2018, 04:14 PM
capples
I received a response from IBI support confirming the behavior I described. They said they would forward it on to support and notify me of any feedback.

I'm guessing I'll just have to go through all of our drill procedures and have checks for IF &PARAMETER EQ '.' THEN '_FOC_MISSING' ELSE &PARAMETER. This will be extremely time consuming if true.


WF 8.2.0.3
Windows 10 64bit
HTML, AHTML, PDF, Excel
August 09, 2018, 12:40 PM
capples
I still have not received a response from IBI on this issue and it is creating more problems with other reports.

Has anyone else experienced this issue with drilling on fields and passing null parameters in 8.203? These reports worked just fine in 8105 and now they are mess in 82


WF 8.2.0.3
Windows 10 64bit
HTML, AHTML, PDF, Excel
August 09, 2018, 01:38 PM
MartinY
Try adding this at the top of your fex
SET NODATA = ''

If it solve the issue you will probably need to add it in a global server profile instead of having to add it everywhere.
The actual default is possibly
SET NODATA =

And the above result of having MISSING data displayed as "."

Another option is the have the below
TYPE=DATA,
     COLUMN=COUNTRY,
	 FOCEXEC=IBFS:/WFC/Repository/Utilities/SampleCodes/ReportDrillTest2.fex( \
     NULLFIELD=NULLFIELD.QUOTEDSTRING \
   ),
          TARGET='_blank',
$

But it does need you to change every single drill


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