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.
I am working on a line graph and having issue with Y-axis scale increments.
Is it possible to limit the count of numbers on Y-axis scale to 5? (fox example - 0,10,20,30,40). I am able to adjust the scale between numbers but not aware of how to limit the count.
I am looking to change scale to millions if maximum value in data is greater than 1 million and keep it in thousands if maximum value is less than 1 million. Is this possible directly? I am thinking to calculate the maximum number and then set up amper variable using IF condition and use that amper variable value to control millions/thousands. Any other efficient method?
Please suggest. Thank you.This message has been edited. Last edited by: BI_Developer,
You need to add these lines where you can pass parameters instead of fix value
-* To manage maximum displayed value in Y-axis
setScaleMaxAuto(getY1Axis(),false);
setScaleMax(getY1Axis(),100.0);
-* To manage steps in Y-axis
setGridStepAuto(getY1MajorGrid(),false);
setGridStep(getY1MajorGrid(),10.0);
As you stated yourself, you will have first to determine what is your maximum and if it has to be displayed in M or K. You will then be able to calculate the step value to pass.
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
Posts: 2409 | Location: Montreal Area, Qc, CA | Registered: September 25, 2013
Thanks Martin. I calculated the maximum value and then divided it by 5 to control the number of values on Y-axis scale. It is all working fine. But I am looking to display M and K in scale.
setTextFormatPreset(getY1Label(),15);
When I used above statement, it displays in millions (90,000,000 shows as 90M). I am not able to find an option to show in K (90,000K). It would be OK even if $ symbol shows up prefixing the number.
quote:
Originally posted by MartinY: You need to add these lines where you can pass parameters instead of fix value
-* To manage maximum displayed value in Y-axis
setScaleMaxAuto(getY1Axis(),false);
setScaleMax(getY1Axis(),100.0);
-* To manage steps in Y-axis
setGridStepAuto(getY1MajorGrid(),false);
setGridStep(getY1MajorGrid(),10.0);
As you stated yourself, you will have first to determine what is your maximum and if it has to be displayed in M or K. You will then be able to calculate the step value to pass.
It's not showing any decimal at all in the Y-axis but it does (2 decimals) in the bar tooltip as per COMPUTE definition
ENGINE INT CACHE SET ON
SET PAGE-NUM=NOLEAD
SET ARGRAPHENGINE=JSCHART
SET EMBEDHEADING=ON
SET GRAPHDEFAULT=OFF
-DEFAULTH &WF_STYLE_UNITS='PIXELS';
-DEFAULTH &WF_STYLE_HEIGHT='405.0';
-DEFAULTH &WF_STYLE_WIDTH='770.0';
-DEFAULTH &WF_TITLE='WebFOCUS Report';
ENGINE INT CACHE SET ON
SET PAGE-NUM=NOLEAD
SET ARGRAPHENGINE=JSCHART
SET EMBEDHEADING=ON
SET GRAPHDEFAULT=OFF
-DEFAULTH &WF_STYLE_UNITS='PIXELS';
-DEFAULTH &WF_STYLE_HEIGHT='405.0';
-DEFAULTH &WF_STYLE_WIDTH='770.0';
-DEFAULTH &WF_TITLE='WebFOCUS Report';
GRAPH FILE car
SUM COMPUTE SLS/P8.2C=(SALES + 100) * 100 ; AS 'Sales'
BY CAR.ORIGIN.COUNTRY
ON GRAPH PCHOLD FORMAT JSCHART
ON GRAPH SET VZERO OFF
ON GRAPH SET AUTOFIT ON
ON GRAPH SET GRWIDTH 1
ON GRAPH SET UNITS &WF_STYLE_UNITS
ON GRAPH SET HAXIS &WF_STYLE_WIDTH
ON GRAPH SET VAXIS &WF_STYLE_HEIGHT
ON GRAPH SET LOOKGRAPH BAR
ON GRAPH SET AUTOFIT ON
ON GRAPH SET STYLE *
*GRAPH_SCRIPT
setPieDepth(0);
setPieTilt(0);
setDepthRadius(0);
setPlace(true);
setCurveFitEquationDisplay(false);
*END
INCLUDE=IBFS:/FILE/IBI_HTML_DIR/ibi_themes/Warm.sty,$
TYPE=REPORT, TITLETEXT=&WF_TITLE.QUOTEDSTRING, $
TYPE=DATA, COLUMN=N1, BUCKET=x-axis, $
TYPE=DATA, COLUMN=N2, BUCKET=y-axis, $
*GRAPH_SCRIPT
setReportParsingErrors(false);
setSelectionEnableMove(false);
setTextFormatPreset(getY1Label(), 8);
*END
ENDSTYLE
END
-RUN
To have decimal and K separator in Y-axis use below
ENGINE INT CACHE SET ON
SET PAGE-NUM=NOLEAD
SET ARGRAPHENGINE=JSCHART
SET EMBEDHEADING=ON
SET GRAPHDEFAULT=OFF
-DEFAULTH &WF_STYLE_UNITS='PIXELS';
-DEFAULTH &WF_STYLE_HEIGHT='405.0';
-DEFAULTH &WF_STYLE_WIDTH='770.0';
-DEFAULTH &WF_TITLE='WebFOCUS Report';
ENGINE INT CACHE SET ON
SET PAGE-NUM=NOLEAD
SET ARGRAPHENGINE=JSCHART
SET EMBEDHEADING=ON
SET GRAPHDEFAULT=OFF
-DEFAULTH &WF_STYLE_UNITS='PIXELS';
-DEFAULTH &WF_STYLE_HEIGHT='405.0';
-DEFAULTH &WF_STYLE_WIDTH='770.0';
-DEFAULTH &WF_TITLE='WebFOCUS Report';
GRAPH FILE car
SUM COMPUTE SLS/P8.2C=(SALES + 100) * 100 ; AS 'Sales'
BY CAR.ORIGIN.COUNTRY
ON GRAPH PCHOLD FORMAT JSCHART
ON GRAPH SET VZERO OFF
ON GRAPH SET AUTOFIT ON
ON GRAPH SET GRWIDTH 1
ON GRAPH SET UNITS &WF_STYLE_UNITS
ON GRAPH SET HAXIS &WF_STYLE_WIDTH
ON GRAPH SET VAXIS &WF_STYLE_HEIGHT
ON GRAPH SET LOOKGRAPH BAR
ON GRAPH SET AUTOFIT ON
ON GRAPH SET STYLE *
*GRAPH_SCRIPT
setPieDepth(0);
setPieTilt(0);
setDepthRadius(0);
setPlace(true);
setCurveFitEquationDisplay(false);
*END
INCLUDE=IBFS:/FILE/IBI_HTML_DIR/ibi_themes/Warm.sty,$
TYPE=REPORT, TITLETEXT=&WF_TITLE.QUOTEDSTRING, $
TYPE=DATA, COLUMN=N1, BUCKET=x-axis, $
TYPE=DATA, COLUMN=N2, BUCKET=y-axis, $
*GRAPH_SCRIPT
setReportParsingErrors(false);
setSelectionEnableMove(false);
*END
*GRAPH_JS
yaxis: {numberFormat: {"mode": "currency", "decimalPlaces": 2, "grouping": "K"}}
*END
ENDSTYLE
END
-RUN