TABLE FILE DATA
PRINT
VALUE
BY GROUP
BY YEAR
BY MNTH
ON TABLE HOLD AS GRAPH_DATA
END
GROUP YEAR MONTH VALUE
A 1990 01 100
A 1990 02 110
A 1990 03 111
A 1990 04 112
A 1990 05 113
A 1990 06 114
A 1990 07 115
A 1990 08 116
A 1990 09 117
A 1990 10 118
A 1990 11 119
A 1991 12 120
A 1991 01 121
A 1991 02 122
A 1991 03 123
A 1991 04 124
A 1991 05 115
A 1991 06 116
A 1991 07 117
A 1991 08 112
A 1991 09 117
A 1991 10 114
A 1991 11 127
A 1991 12 144
B 1990 01 107
B 1990 02 119
...
B 1990 12 113
B 1991 01 141
...
B 1991 12 122
C 1990 01 107
C 1990 02 119
...
C 1990 12 113
C 1991 01 141
...
C 1991 12 122
I am trying to do a line graph in WF 8 (JSCHART) and below is the code. I want to have VALUE in Y-axis and YEAR in X-axis. And I want a line each for each unique value in GROUP. As per data above 3 lines with 1 each of A, B, C. There is no need to show the month.
ENGINE INT CACHE SET ON
-DEFAULTH &WF_STYLE_UNITS='PIXELS';
-DEFAULTH &WF_STYLE_HEIGHT='305.0';
-DEFAULTH &WF_STYLE_WIDTH='770.0';
-DEFAULTH &WF_TITLE='WebFOCUS Report';
GRAPH FILE GRAPH_DATA
-* Created by Info Assist for Graph
SUM GRAPH_DATA.GRAPH_DATA.VALUE AS ''
BY GROUP
ACROSS GRAPH_DATA.GRAPH_DATA.YEAR AS ''
ON GRAPH PCHOLD FORMAT JSCHART
ON GRAPH SET VZERO OFF
ON GRAPH SET HTMLENCODE ON
ON GRAPH SET GRAPHDEFAULT OFF
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 GRMERGE ON
ON GRAPH SET GRMULTIGRAPH 0
ON GRAPH SET GRLEGEND 0
ON GRAPH SET GRXAXIS 2
ON GRAPH SET LOOKGRAPH VLINE
ON GRAPH SET AUTOFIT OFF
ON GRAPH SET STYLE *
*GRAPH_SCRIPT
setPieDepth(0);
setPieTilt(0);
setDepthRadius(0);
setCurveFitEquationDisplay(false);
setPlace(true);
setUseSeriesShapes(true);
setMarkerSizeDefault(50);
*END
INCLUDE=endeflt.sty,$
TYPE=REPORT, TITLETEXT=&WF_TITLE.QUOTEDSTRING, $
*GRAPH_SCRIPT
setReportParsingErrors(false);
setSelectionEnableMove(false);
setSeriesType(0,2);
setDataTextPosition(1);
setDisplay(getDataText(),false);
setDataTextDisplay(false);
setCurveFitType(0,0);
setMarkerShape(getAllSeries(),0);
-*Y1 Axis
setDisplay(getY1AxisLine(),true);
setBorderColor(getY1AxisLine(),new Color(255,255,255));
setBorderColor(getY1ZeroLine(),new Color(255,255,255));
setFillColor(getY1ZeroLine(),new Color(255,255,255));
setDisplay(getY1MajorGrid(),true);
setFontStyle(getY1Label(),0);
setFontSizeAbsolute(getY1Label(),true);
setFontSizeInPoints(getY1Label(),8);
setPlaceResize(getY1Label(),0);
setTextString(getY1Title(),"Numbers");
setDisplay(getY1Title(),true);
setScaleMaxAuto(getY1Axis(),false);
setScaleMinAuto(getY1Axis(),false);
setScaleMax(getY1Axis(),100);
setScaleMin(getY1Axis(),50);
setGridStep(getY1MajorGrid(),10);
setGridStepAuto(getY1MajorGrid(),false);
setSeriesType(getSeries(0),2);
setBorderColor(getY1MajorGrid(),new Color(237,237,237));
setAltFmtFrameNumColors(getY1AltFmtFrame(),5);
setFillColor(getSeries(0),new Color(0,153,76));
setFillColor(getFrame(),new Color(255,255,255));
setTextRotation(getO1Label(),2);
setFontSizeAbsolute(getO1Label(),true);
setFontSizeInPoints(getO1Label(),7);
*GRAPH_JS
"introAnimation": {
"duration": 1000,
"enabled": true
},
"riserBevel": "bevel"
,
*END
ENDSTYLE
END
I am not able to get it correctly. I made some changes. And then I am getting 1990, 1991 each 12 times on X-axis for 12 unique values for 12 months. I need to show year label only once. If that can't be avoided then I want to show month also with clean formatting. Please suggest.
Thanks.This message has been edited. Last edited by: BI_Developer,
WF 8.2.01 APP STUDIO PDF,HTML,EXL2K,Active
February 02, 2017, 08:38 AM
MartinY
This does exactly what you're requesting using you're styling. You may have issue with your data.
DEFINE FILE GGSALES
YR /YY = DATE;
END
ENGINE INT CACHE SET ON
-DEFAULTH &WF_STYLE_UNITS='PIXELS';
-DEFAULTH &WF_STYLE_HEIGHT='405.0';
-DEFAULTH &WF_STYLE_WIDTH='770.0';
-DEFAULTH &WF_TITLE='WebFOCUS Report';
GRAPH FILE GGSALES
SUM COMPUTE PCT/D6.2 = IF REGION EQ 'Northeast' THEN ((DOLLARS / BUDDOLLARS) / 1.2) * 100
ELSE IF REGION EQ 'Southeast' THEN ((DOLLARS / BUDDOLLARS) / 1.5) * 100
ELSE ((DOLLARS / BUDDOLLARS) / 1.8) * 100;
BY REGION
ACROSS YR AS ''
WHERE REGION NE 'Midwest';
ON GRAPH PCHOLD FORMAT JSCHART
ON GRAPH SET VZERO OFF
ON GRAPH SET HTMLENCODE ON
ON GRAPH SET GRAPHDEFAULT OFF
ON GRAPH SET UNITS &WF_STYLE_UNITS
ON GRAPH SET HAXIS &WF_STYLE_WIDTH
ON GRAPH SET VAXIS &WF_STYLE_HEIGHT
ON GRAPH SET GRMERGE ADVANCED
ON GRAPH SET GRMULTIGRAPH 0
ON GRAPH SET GRLEGEND 0
ON GRAPH SET GRXAXIS 2
ON GRAPH SET LOOKGRAPH VLINE
ON GRAPH SET AUTOFIT ON
ON GRAPH SET STYLE *
*GRAPH_SCRIPT
setPieDepth(0);
setPieTilt(0);
setDepthRadius(0);
setCurveFitEquationDisplay(false);
setPlace(true);
setUseSeriesShapes(true);
setMarkerSizeDefault(50);
*END
INCLUDE=IBFS:/FILE/IBI_HTML_DIR/javaassist/intl/EN/ENIADefault_combine.sty,$
TYPE=REPORT, TITLETEXT=&WF_TITLE.QUOTEDSTRING, $
*GRAPH_SCRIPT
setReportParsingErrors(false);
setSelectionEnableMove(false);
setSeriesType(0,2);
setDataTextPosition(1);
setDisplay(getDataText(),false);
setDataTextDisplay(false);
setCurveFitType(0,0);
setMarkerShape(getAllSeries(),0);
setDisplay(getY1AxisLine(),true);
setBorderColor(getY1AxisLine(),new Color(255,255,255));
setBorderColor(getY1ZeroLine(),new Color(255,255,255));
setFillColor(getY1ZeroLine(),new Color(255,255,255));
setDisplay(getY1MajorGrid(),true);
setFontStyle(getY1Label(),0);
setFontSizeAbsolute(getY1Label(),true);
setFontSizeInPoints(getY1Label(),8);
setPlaceResize(getY1Label(),0);
setTextString(getY1Title(),"Numbers");
setDisplay(getY1Title(),true);
setScaleMaxAuto(getY1Axis(),false);
setScaleMinAuto(getY1Axis(),false);
setScaleMax(getY1Axis(),100);
setScaleMin(getY1Axis(),50);
setGridStep(getY1MajorGrid(),10);
setGridStepAuto(getY1MajorGrid(),false);
setSeriesType(getSeries(0),2);
setBorderColor(getY1MajorGrid(),new Color(237,237,237));
setAltFmtFrameNumColors(getY1AltFmtFrame(),5);
setFillColor(getSeries(0),new Color(0,153,76));
setFillColor(getFrame(),new Color(255,255,255));
setTextRotation(getO1Label(),2);
setFontSizeAbsolute(getO1Label(),true);
setFontSizeInPoints(getO1Label(),7);
*GRAPH_JS
"introAnimation": {
"duration": 1000,
"enabled": true
},
"riserBevel": "bevel"
,
*END
ENDSTYLE
END
-RUN
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
February 02, 2017, 10:15 AM
BI_Developer
Martin, I already got this result before posting here. Data comes in wrong way with this. If data comes correct, I get 12 values of year on X-axis.. I mean 1990 shows up 12 times etc. This is what I am trying to avoid. Seems very simple but I am unable to achieve.