Focal Point
Dynamic Graphs

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

October 16, 2007, 02:29 PM
PBrightwell
Dynamic Graphs
I have a program that creates a dynamic graph. It displays a pie chart of the top competitors (across) and will create one chart for each of the selected by fields (Region, Service Line, Customer, Category or Question). The possible selection criteria is the same as the possible By field. I can run the graph for "ALL" Regions, Service Line, Customer or Category by any of those fields and it is fine but when I try to run by Question is get a grey block where the graph should be. It is only BY QUESTION and only if "ALL" is chosen on every option that this happens. Any suggestions?

The server in this case is NT, WebFocus 5.3 and using Focus Database.


Pat
WF 7.6.8, AIX, AS400, NT
AS400 FOCUS, AIX FOCUS,
Oracle, DB2, JDE, Lotus Notes
October 16, 2007, 03:09 PM
Tony A
Being completely facetious and because it's Tuesday -

Don't let the user select ALL!!

Sorry, couldn't resist Wink I am sure someone will be able to help.

I guess you have checked out the code that is produced?

T



In FOCUS
since 1986
WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2  
WebFOCUS App Studio 8.2.06 standalone on Windows 10 
October 16, 2007, 04:55 PM
PBrightwell
I used graph assist to create and style the graph initially, but I have been in editor ever since. This is a case where anything other than "ALL" produces a where statement that limits the data. I thought this might have something to do with the amount of data being pulled in or the size of the graphs, but running one question at a time all of the graphs work. In all cases, I am displaying only the top 10 competitors with everything else grouped in "Other". Running by question should produce 9 graphs, 1 for each question. It appears that the program is working, the accompaning report prints out, but where the graphs should be is a grey block. All headings and footings are printed. Output is HTML.


Pat
WF 7.6.8, AIX, AS400, NT
AS400 FOCUS, AIX FOCUS,
Oracle, DB2, JDE, Lotus Notes
October 16, 2007, 05:08 PM
FrankDutch
Can you copy this script to the CAR database and try if the result is the same.

If so, post the script (for CAR of one of the other databases we all have) and we can try if the problem is reproducible.




Frank

prod: WF 7.6.10 platform Windows,
databases: msSQL2000, msSQL2005, RMS, Oracle, Sybase,IE7
test: WF 7.6.10 on the same platform and databases,IE7

October 17, 2007, 08:38 AM
PBrightwell
I can't even get the same result if I run it with my "BY" on any of the other options.


Pat
WF 7.6.8, AIX, AS400, NT
AS400 FOCUS, AIX FOCUS,
Oracle, DB2, JDE, Lotus Notes
October 17, 2007, 10:05 AM
Tony A
P,

It now being a Wednesday and as per Frank, can you give us an idea of what your code is doing by way of an example using one of the IB base tables (CAR, GGORDER, GGSALES etc.)?

It might give us enough to help you out more.

T



In FOCUS
since 1986
WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2  
WebFOCUS App Studio 8.2.06 standalone on Windows 10 
October 17, 2007, 10:09 AM
PBrightwell
This is too confusing, I put my &EHCO on and checked my output stream. I have left off where I set the &variables but they all appear to be displaying correctly. I am not getting an error message. This is what I get when I run ALL Questions, Regions, Customers, Categories and Service Lines BY QUESTION:

PLEASE NOTICE where this stops:

DEFINE FILE CQRRANK
CAT/A16=DECODE CATEGORY('C' 'Communication'
'A' 'Availability'
'P' 'Performance'
'T' 'Technology'
'Q' 'Quality');
-IF Q EQ 'NONE' GOTO NOCOMPBY;
COMPBY/A36=IF 'Q' EQ 'NONE' THEN SUBSTR(254,COMPRANK1,1,36,36,'A36')
ELSE SUBSTR(254,COMPRANK1,1,20,20,'A20')||SUBSTR(254,QUESTION,1,16,16,'A16');
-GOTO SKIPCBY;
-SKIPCBY
END
TABLE FILE CQRRANK
SUM
CNT.COMPRANK1 AS 'CNT_RNK'
COMPBY
BY COMPRANK1
BY QUESTION
ON TABLE HOLD AS RNK1
END
?FF RNK1
-RUN
0 NUMBER OF RECORDS IN TABLE= 12419 LINES= 196
FILENAME= RNK1
COMPRANK1 E01 A50
QUESTION E02 A30
CNT_RNK E03 I5
COMPBY E04 A36
TABLE FILE RNK1
PRINT COMPRANK1 COMPBY
BY QUESTION
BY HIGHEST 10 CNT_RNK
WHERE CNT_RNK GT 1
-* WHERE RECORDLIMIT EQ 20
ON TABLE HOLD AS HIGHRNK
END
-RUN
0 NUMBER OF RECORDS IN TABLE= 134 LINES= 134
(BEFORE TOTAL TESTS)
TABLE FILE HIGHRNK
PRINT *
END
-* -EXIT
?FF HIGHRNK
-RUN
0 NUMBER OF RECORDS IN TABLE= 107 LINES= 107

WebFOCUS Version 5.3.2 compiled and linked on Thu Sep 30 01:32:43 EDT 2004 (Gen WEB53:252)
-->


This is what I get if I this is what I get for REGION EQ 'HOUSTON' and ALL customers, categories, questions and service lines BY QUESTION:


SET ASNAMES = ON
DEFINE FILE CQRRANK
CAT/A16=DECODE CATEGORY('C' 'Communication'
'A' 'Availability'
'P' 'Performance'
'T' 'Technology'
'Q' 'Quality');
-IF Q EQ 'NONE' GOTO NOCOMPBY;
COMPBY/A36=IF 'Q' EQ 'NONE' THEN SUBSTR(254,COMPRANK1,1,36,36,'A36')
ELSE SUBSTR(254,COMPRANK1,1,20,20,'A20')||SUBSTR(254,QUESTION,1,16,16,'A16');
-GOTO SKIPCBY;
-SKIPCBY
END
TABLE FILE CQRRANK
SUM
CNT.COMPRANK1 AS 'CNT_RNK'
COMPBY
BY COMPRANK1
BY QUESTION
WHERE BJREGION EQ 'HOUSTON '
ON TABLE HOLD AS RNK1
END
?FF RNK1
-RUN
0 NUMBER OF RECORDS IN TABLE= 1704 LINES= 90
FILENAME= RNK1
COMPRANK1 E01 A50
QUESTION E02 A30
CNT_RNK E03 I5
COMPBY E04 A36
TABLE FILE RNK1
PRINT COMPRANK1 COMPBY
BY QUESTION
BY HIGHEST 10 CNT_RNK
WHERE CNT_RNK GT 1
-* WHERE RECORDLIMIT EQ 20
ON TABLE HOLD AS HIGHRNK
END
-RUN
0 NUMBER OF RECORDS IN TABLE= 57 LINES= 57
(BEFORE TOTAL TESTS)
TABLE FILE HIGHRNK
PRINT *
END
-* -EXIT
?FF HIGHRNK
-RUN
0 NUMBER OF RECORDS IN TABLE= 57 LINES= 57
<---- The first stream stops here without giving the file format
FILENAME= HIGHRNK
QUESTION E01 A30
CNT_RNK E02 I5
COMPRANK1 E03 A50
COMPBY E04 A36
RNK.CNT_RNK E05 I6
LIST I5
TABLE FILE HIGHRNK
PRINT
CNT_RNK
COMPRANK1
BY COMPBY
BY QUESTION
ON TABLE HOLD AS HIGHRNK2
END
-RUN
0 NUMBER OF RECORDS IN TABLE= 57 LINES= 57
?FF HIGHRNK2
-RUN
FILENAME= HIGHRNK2
COMPBY E01 A36
QUESTION E02 A30
CNT_RNK E03 I5
COMPRANK1 E04 A50
TABLE FILE RNK1
PRINT
CNT_RNK
COMPRANK1
BY COMPBY
BY QUESTION
ON TABLE HOLD AS RNK2
END
-RUN
0 NUMBER OF RECORDS IN TABLE= 90 LINES= 90
?FF RNK2
-RUN
FILENAME= RNK2
COMPBY E01 A36
QUESTION E02 A30
CNT_RNK E03 I5
COMPRANK1 E04 A50
-* -EXIT
-SET &HDRFLD=IF Q EQ 'CUST' OR 'CUSTOMER' THEN 'CUSTOMER'
- ELSE IF Q EQ 'RGN' OR 'REGION' OR 'BJREGION' THEN 'BJREGION'
- ELSE IF Q EQ 'SLNAME' OR 'SL' THEN 'SLNAME'
- ELSE IF Q EQ 'CAT' OR 'CATEGORY' THEN 'CAT'
- ELSE IF Q EQ 'Q' OR 'QUEST' OR 'QUESTION' THEN 'QUESTION'
- ELSE '+0> ';
-RUN
JOIN COMPBY IN RNK2 TO COMPBY IN HIGHRNK2 AS J1

<------------ Even though the first stream stopped above, I get this report
DEFINE FILE RNK2
COMPETITOR/A20=IF RNK2.COMPBY NE HIGHRNK2.COMPBY OR RNK2.COMPRANK1 EQ 'OTHER' THEN 'Other'
ELSE SUBSTR(254,RNK2.COMPRANK1,1,20,20,'A20');
END
TABLE FILE RNK2
SUM RNK2.CNT_RNK
BY COMPETITOR
BY RNK2.COMPBY
HEADING
" "
"Top Competitors with Number 1 Ranking"
"Selection Criteria: Region(s): HOUSTON - Service Line(s): ALL "
"Customer(s): ALL - Category(s): ALL - Questions: ALL"
"QUESTION "
END
-*
GRAPH FILE RNK2
HEADING <---------- And these headings
" "
"cqr003g"
"Top Competitors with Number 1 Ranking"
"Selection Criteria: Region(s): HOUSTON - Service Line(s): ALL "
"Customer(s): ALL - Category(s): ALL - Questions: ALL"
" "
"QUESTION <QUESTION"
" "
SUM CNT_RNK AS 'Count'
ACROSS COMPETITOR <---- With REGION EQ 'HOUSTON' this creates the nine "question" graphs
BY QUESTION <---- With All I get a grey rectangle
FOOTING BOTTOM
" "
WHERE CNT_RNK GT 0
ON GRAPH SET LOOKGRAPH PIEMULTI
ON GRAPH SET 3D ON
ON GRAPH SET BARNUMB OFF
ON GRAPH SET GRID ON
ON GRAPH SET GRAPHEDIT SERVER
ON GRAPH SET GRWIDTH 1
ON GRAPH SET VZERO ON
ON GRAPH SET GRAPHSTYLE *
setTemplateFile("/images/tdg/template/IBITrueColors.txt"Wink;
setSeriesType(0,1);
setLegendDisplay(true);
setLegendMarkerPosition(0);
setMarkerDisplay(true);
setUseSeriesShapes(false);
setConnectLineMarkers(false);
setConnectScatterMarkers(false);
setO1LabelDisplay(true);
setO1AxisSide(0);
setO1MajorGridDisplay(true);
setO1MajorGridStyle(0);
setO1MinorGridDisplay(false);
setY1LabelDisplay(true);
setY1AxisSide(0);
setTextFormatPreset(getY1Label(),1);
setY1MajorGridDisplay(true);
setY1MajorGridStyle(0);
setY1MinorGridDisplay(false);
setPieFeelerTextDisplay(1);
setTextFormatPreset(getPieSliceLabel(),1);
setPieRingTotalFormat(1);
setPieLabelDisplay(0);
setFontSize(getO1Label(),12);
setFontSizeAbsolute(getO1Label(),true);
setPlace(true);
ENDSTYLE
ON GRAPH SET STYLE *
TYPE= HEADING,$
TYPE= FOOTING,$
ENDSTYLE
END


Pat
WF 7.6.8, AIX, AS400, NT
AS400 FOCUS, AIX FOCUS,
Oracle, DB2, JDE, Lotus Notes