As of December 1, 2020, Focal Point is retired and repurposed as a reference repository. We value the wealth of knowledge that's been shared here over the years. You'll continue to have access to this treasure trove of knowledge, for search purposes only.
Join the TIBCO Community TIBCO Community is a collaborative space for users to share knowledge and support one another in making the best use of TIBCO products and services. There are several TIBCO WebFOCUS resources in the community.
From the Home page, select Predict: WebFOCUS to view articles, questions, and trending articles.
Select Products from the top navigation bar, scroll, and then select the TIBCO WebFOCUS product page to view product overview, articles, and discussions.
Request access to the private WebFOCUS User Group (login required) to network with fellow members.
Former myibi community members should have received an email on 8/3/22 to activate their user accounts to join the community. Check your Spam folder for the email. Please get in touch with us at community@tibco.com for further assistance. Reference the community FAQ to learn more about the community.
Sorry guys I don't have an online url to load the image, but give the code a try.
I had to build this a few weeks ago and have made it generic with data and metadata embeded.
It shows the power of the annotation feature in the 53 engine.
(using annotations could have been an alternative approach for Jims Pie chart: Show slice label, % value AND true value of slice problem because you could display them as a table in the chart)
For the annotation part of the code It should really be in dm loops but for clarity it's fully expanded.
-* -* The data FILEDEF XDATA DISK XDATA.FTM -RUN -WRITE XDATA 1Company A Measure A 63.0 -WRITE XDATA 1Company A Measure B 98.0 -WRITE XDATA 1Company A Measure C -34.7 -WRITE XDATA 1Company A Measure D 64.0 -WRITE XDATA 1Company A Measure E -34.4 -WRITE XDATA 1Company A Measure F 42.0 -WRITE XDATA 1Company A Measure G -38.1 -WRITE XDATA 1Company A Measure H 26.0 -WRITE XDATA 1Company A Measure I -76.9 -WRITE XDATA 1Company A Measure J 15.0 -WRITE XDATA 1Company A Measure k 6.0 -WRITE XDATA 1Company A Measure L 102.7 -WRITE XDATA 1Company A Measure M 16.0 -WRITE XDATA 1Company A Measure N 3.1 -WRITE XDATA 1Company A Measure O 5.6 -WRITE XDATA 1Company A Measure P 8.7 -RUN -* The setup -SET &L1= 'Measure A \nMeasure B'; -SET &L2= 'Measure D'; -SET &L3= 'Measure F'; -SET &L4= 'Measure H \nMeasure J'; -SET &L5= 'Measure K'; -SET &L6= 'Measure L\n.\nMeasure M\n.\nMeasure N\n.\nMeasure O';
DEFINE FILE XDATA P1/D10.1 MISSING ON=IF AREA EQ 'Measure A' THEN VALUE ELSE IF AREA EQ 'Measure D' THEN MISSING ELSE IF AREA EQ 'Measure F' THEN MISSING ELSE IF AREA EQ 'Measure H' THEN MISSING ELSE IF AREA EQ 'Measure J' THEN VALUE ELSE IF AREA EQ 'Measure K' THEN MISSING ELSE 0;
P2F/D10.1 MISSING ON=IF AREA EQ 'Measure A' THEN 0 ELSE IF AREA EQ 'Measure B' THEN VALUE ELSE IF AREA EQ 'Measure D' THEN VALUE ELSE IF AREA EQ 'Measure F' THEN VALUE ELSE IF AREA EQ 'Measure H' THEN VALUE ELSE IF AREA EQ 'Measure J' THEN 0 ELSE IF AREA EQ 'Measure K' THEN VALUE ELSE 0;
BARS/A34=IF AREA EQ 'Measure A' THEN '1 Measure A \nMeasure B' ELSE IF AREA EQ 'Measure B' THEN '1 Measure A \nMeasure B' ELSE IF AREA EQ 'Measure C' THEN ' ' ELSE IF AREA EQ 'Measure D' THEN '2 Measure D' ELSE IF AREA EQ 'Measure E' THEN ' ' ELSE IF AREA EQ 'Measure F' THEN '3 Measure F' ELSE IF AREA EQ 'Measure G' THEN ' ' ELSE IF AREA EQ 'Measure H' THEN '4 Measure H Measure J' ELSE IF AREA EQ 'Measure I' THEN ' ' ELSE IF AREA EQ 'Measure J' THEN '4 Measure H Measure J' ELSE IF AREA EQ 'Measure K' THEN '5 Measure K' ELSE ' '; END TABLE FILE XDATA SUM P1 COMPUTE P2/D10.1=IF BARS EQ '1 Measure A \nMeasure B' THEN P2F - P1 ELSE IF BARS EQ '4 Measure H Measure J ' THEN P2F - P1 ELSE P2F; BY BARS WHERE BARS NE ' ' ON TABLE HOLD AS H1 END -RUN TABLE FILE XDATA SUM VALUE ACROSS AREA COLUMNS 'Measure C' AND 'Measure E' AND 'Measure G' AND 'Measure I' AND 'Measure L' AND 'Measure M' AND 'Measure N' AND 'Measure O' BY COMPANY WHERE BARS EQ '' ON TABLE SAVE AS PCENTS END -RUN -READ PCENTS &TITLE.A25. &PC1.A10. &PC2.A10. &PC3.A10. &PC4.A10. &PC5.A10. &PC6.A10. &PC7.A10. &PC8.A10. -RUN -* The Graph GRAPH FILE H1 SUM P1 P2 BY BARS AS ''
ON GRAPH SET LOOKGRAPH HBRSTK1 ON GRAPH SET GRAPHEDIT SERVER ON GRAPH SET BARNUMB ON ON GRAPH SET 3D OFF ON GRAPH SET VAXIS 500 ON GRAPH SET HAXIS 900 ON GRAPH SET VZERO OFF ON GRAPH SET GRID OFF ON GRAPH SET GRAPHSTYLE * setFontSizeAbsolute(true) setFontSize(6); setFontSize(getO1Label(),5); setFontSize(getX1Label(),6); setFontSize(getY1Label(),6); setFontSize(getDataText(),6); setPlace(false); -* -* Set new display rectangles for the graph and the footnote areas setRect(getFrame(),new Rectangle(-10000,-3000,21000,17000)); setRect(getFootnote(),new Rectangle(-10000,-17000,5525,12303)); -* -* Set the title according to company being processed setTitleDisplay(true); setTitleString("A Graph for &TITLE.EVAL"); setTextJustHoriz(getTitle(), 1); -* -* Set the footnote text setTextJustHoriz(getFootnote(),1); setFootnoteString("&L6.EVAL"); -* -* Set the annotation text and position of the annotaion text box (1 block for each value) setDisplay(getAnnotationBox(0), true); setDisplay(getAnnotation(0), true); setTextString(getAnnotation(0), "&PC1.EVAL%"); setFillColor(getAnnotation(0), new Color (0,0,0)); setFontSize(getAnnotation(0),6); setFontStyle(getAnnotation(0), 0); setFillColor(getAnnotationBox(0), new Color(255,255,255)); setTransparentBorderColor(getAnnotationBox(0), false); setRect(getAnnotation(0), new Rectangle (11000, 9000, 2700, 1800));
setDisplay(getAnnotationBox(1), true); setDisplay(getAnnotation(1), true); setTextString(getAnnotation(1), "&PC2.EVAL%"); setFillColor(getAnnotation(1), new Color (0,0,0)); setFontStyle(getAnnotation(1), 0); setFillColor(getAnnotationBox(1), new Color(255,255,255)); setTransparentBorderColor(getAnnotationBox(1), false); setRect(getAnnotation(1), new Rectangle (11000, 6000, 2700, 1800));
setDisplay(getAnnotationBox(2), true); setDisplay(getAnnotation(2), true); setTextString(getAnnotation(2), "&PC3.EVAL%"); setFillColor(getAnnotation(2), new Color (0,0,0)); setFontStyle(getAnnotation(2), 0); setFillColor(getAnnotationBox(2), new Color(255,255,255)); setTransparentBorderColor(getAnnotationBox(2), false); setRect(getAnnotation(2), new Rectangle (11000, 3000, 2700, 1800));
setDisplay(getAnnotationBox(3), true); setDisplay(getAnnotation(3), true); setTextString(getAnnotation(3), "&PC4.EVAL%"); setFillColor(getAnnotation(3), new Color (0,0,0)); setFontStyle(getAnnotation(3), 0); setFillColor(getAnnotationBox(3), new Color(255,255,255)); setTransparentBorderColor(getAnnotationBox(3), false); setRect(getAnnotation(3), new Rectangle (11000, 0000, 2700, 1800));
setDisplay(getAnnotationBox(4), true); setDisplay(getAnnotation(4), true); setTextString(getAnnotation(4), "&PC5.EVAL"); setFillColor(getAnnotation(4), new Color (0,0,0)); setFontStyle(getAnnotation(4), 0); setFillColor(getAnnotationBox(4), new Color(255,255,255)); setTransparentBorderColor(getAnnotationBox(4), false); setRect(getAnnotation(4), new Rectangle (0000, -6000, 2700, 1500));
setDisplay(getAnnotationBox(5), true); setDisplay(getAnnotation(5), true); setTextString(getAnnotation(5), "&PC6.EVAL"); setFillColor(getAnnotation(5), new Color (0,0,0)); setFontStyle(getAnnotation(5), 0); setFillColor(getAnnotationBox(5), new Color(255,255,255)); setTransparentBorderColor(getAnnotationBox(5), false); setRect(getAnnotation(5), new Rectangle (0000, -9000, 2700, 1500));
setDisplay(getAnnotationBox(6), true); setDisplay(getAnnotation(6), true); setTextString(getAnnotation(6), "&PC7.EVAL"); setFillColor(getAnnotation(6), new Color (0,0,0)); setFontStyle(getAnnotation(6), 0); setFillColor(getAnnotationBox(6), new Color(255,255,255)); setTransparentBorderColor(getAnnotationBox(6), false); setRect(getAnnotation(6), new Rectangle (0000, -12000, 2700, 1500));
setDisplay(getAnnotationBox(7), true); setDisplay(getAnnotation(7), true); setTextString(getAnnotation(7), "&PC8.EVAL"); setFillColor(getAnnotation(7), new Color (0,0,0)); setFontStyle(getAnnotation(7), 0); setFillColor(getAnnotationBox(7), new Color(255,255,255)); setTransparentBorderColor(getAnnotationBox(7), false); setRect(getAnnotation(7), new Rectangle (0000, -15000, 2700, 1500)); -* -* Set the O1 axis labels setGroupLabelArray("&L1.EVAL", "&L2.EVAL", "&L3.EVAL", "&L4.EVAL", "&L5.EVAL"); setDataTextDisplay(true); setDataTextPosition(4); setFillColor(getSeries(1),new Color(169,171,195)); setFillColor(getSeries(0),new Color(222,224,226)); setMarkerDisplay(true); setConnectLineMarkers(false); setConnectScatterMarkers(false); setO1LabelDisplay(true); setO1MajorGridDisplay(false); setO1MinorGridDisplay(false); setAxisAssignment(0,0); setAxisAssignment(1,0); setAxisAssignment(2,0); setAxisAssignment(3,0);
setDepthRadius(0); setFrameDisplay(false); setFillColor(getChartBackground(), new Color(181,183,189)); setBorderColor(getChartBackground(), new Color(181,183,189)); setFillColor(getFrame(), new Color(181,183,189)); setFillColor(getLegendArea(),new Color(181,183,189)); ENDSTYLE ON GRAPH PCHOLD FORMAT PNG END -RUN
JGThis message has been edited. Last edited by: <Mabel>,
thats so nice of you. thanks jg say, how about an article for the developers' corner thing...you can include the screen shot of your image...This message has been edited. Last edited by: susannah,
In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
Posts: 3811 | Location: Manhattan | Registered: October 28, 2003
JG we'll be contacting you shortly about turning this topic into an article for Focus on Developers.
I would also like to take this opportunity to invite all our Focal Point developers to consider writing an article for FOD. Or if you have some suggestions for topics of interest, please send those along too. Currently, we're trying to recruit writers for PDF related issues. You can reply to this thread, or private message me at your convenience.
Here are some ideas I have: 1) Formating differences between HTML, EXL2K and PDF. 2) How to format headings, subheadings, footings and subfootings in PDF. 3) Using spot markers in PDF.
Posts: 406 | Location: Canada | Registered: May 31, 2004
I agree with reFocusing. all about the differences; if there are any special features that pdf has that other format lack, A comprehensive compendium, a tutorial.
In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
Posts: 3811 | Location: Manhattan | Registered: October 28, 2003