Focal Point
Active Line Graph, hiding a BY field
April 25, 2012, 02:52 PM
UblguyActive Line Graph, hiding a BY field
Hello,
What I am using:
Active Technologies (AHTML), WF is converting it to a Line graph using the property setting in HTML Composer (Active Report Type = Line)
My Issue:
My graph is BY YEAR & BY QUARTER. The graph goes back to 2002, so it plots many lines. I would like to remove the "title" or "heading" for Quarter on the output. But I still require to plot the values.
I have tried the following:
#1) In the style area, for the column, I set HIDE=ON. This hides the column, but also doesn't plot Quarters 2-4.
#2) I have tried changing the size, no luck
#3) I have tried creating my own DEFINE for the values. Again, doesn't plot quarters 2-4.
My current code:
GRAPH FILE NICMKRS
SUM
COMP1SUM
COMP2SUM
COMP3SUM
BY LOWEST THEYEAR
BY LOWEST THEQUARTER
WHERE THEYEAR EQ &theYear
WHERE THECOMPANY EQ &theCompany
ON GRAPH SET LOOKGRAPH LINE
ON GRAPH PCHOLD FORMAT AHTML
ON GRAPH SET STYLE *
TYPE=REPORT,
OBJECT=LEGEND,
LEGEND-VIEW=FLAT,
ARGRAPHENGINE=FUSION,
REPORT-VIEW=CHART,
CHART-TYPE=LINE,
ARREPORTSIZE=DIMENSION,
$
ENDSTYLE
END
Thank you for reading.
Application 1: 7.7.03, Windows
Application 2: 7.7.03, Unix
April 25, 2012, 03:49 PM
Tom FlynnBY LOWEST THEQUARTER AS ''
Tom Flynn
WebFOCUS 8.1.05 - PROD/QA
DB2 - AS400 - Mainframe
April 26, 2012, 09:24 AM
UblguyTom, Thank you for your suggestion.
I gave it a try this morning, I changed:
BY LOWEST THEQUARTER
to
BY LOWEST THEQUARTER AS ''
The outcome:
The graph X axis still shows the values of THEYEAR and THEQUARTER. The only change is to the Graph title, where THEQUARTER was changed to Column1 (must be the default).
Any additional suggestions?
April 26, 2012, 09:28 AM
UblguyNOT A PERFECT EXAMPLE :-)
I built a similar graph using the CAR file...So with this example would it be possible to hide the MODEL on the X axis? But still plot SALES on the graph?
GRAPH FILE CAR
SUM
CAR.BODY.SALES
BY LOWEST CAR.COMP.CAR
BY LOWEST CAR.CARREC.MODEL
ON GRAPH SET LOOKGRAPH LINE
ON GRAPH PCHOLD FORMAT AHTML
ON GRAPH SET STYLE *
TYPE=REPORT,
OBJECT=LEGEND,
LEGEND-VIEW=FLAT,
ARGRAPHENGINE=FUSION,
REPORT-VIEW=CHART,
CHART-TYPE=LINE,
ARREPORTSIZE=DIMENSION,
$
ENDSTYLE
END
April 26, 2012, 09:34 AM
Tom FlynnI looked it up in Dev Studio Help: HEADING
TABLE FILE CAR
HEADING
""
SUM
DEALER_COST
RETAIL_COST
COMPUTE PROFIT/P20.2MC = RETAIL_COST - DEALER_COST;
BY COUNTRY
BY CAR
ON GRAPH SET LOOKGRAPH LINE
ON GRAPH PCHOLD FORMAT AHTML
ON GRAPH SET STYLE *
TYPE=REPORT,
OBJECT=LEGEND,
LEGEND-VIEW=FLAT,
REPORT-VIEW=CHART,
CHART-TYPE=LINE,
$
ENDSTYLE
END
-EXIT
Tom Flynn
WebFOCUS 8.1.05 - PROD/QA
DB2 - AS400 - Mainframe
April 26, 2012, 09:51 AM
Tom FlynnYou are not using the code correctly, it's TABLE not GRAPH. The styling turns it into a Graph.
Still get the / though:
TABLE FILE CAR
HEADING
""
SUM
CAR.BODY.SALES
BY LOWEST CAR.COMP.CAR
BY LOWEST CAR.CARREC.MODEL NOPRINT
ON GRAPH SET LOOKGRAPH LINE
ON GRAPH PCHOLD FORMAT AHTML
ON GRAPH SET STYLE *
TYPE=REPORT,
OBJECT=LEGEND,
LEGEND-VIEW=FLAT,
REPORT-VIEW=CHART,
CHART-TYPE=LINE,
$
ENDSTYLE
END
-EXIT
Tom Flynn
WebFOCUS 8.1.05 - PROD/QA
DB2 - AS400 - Mainframe
April 26, 2012, 10:52 AM
UblguyAgain, thank you for your help.
The problem with doing a NOPRINT, is that the graph doesn't plot those values....for example:
BY YEAR
BY QUARTER
Will plot the measure for 2011Q1, 2011Q2, 2011Q3, 2011Q4, 2012Q1...
BY YEAR
BY QUARTER
Will plot only the measure for 2011Q1, 2012Q1
The lines can be drastically different.
April 26, 2012, 10:56 AM
Tom Flynn
TABLE FILE CAR
HEADING
""
SUM
CAR.BODY.SALES
BY LOWEST CAR.COMP.CAR
BY CAR.CARREC.MODEL
ON GRAPH SET LOOKGRAPH LINE
ON GRAPH PCHOLD FORMAT AHTML
ON GRAPH SET STYLE *
TYPE=REPORT,
OBJECT=LEGEND,
LEGEND-VIEW=FLAT,
REPORT-VIEW=CHART,
CHART-TYPE=LINE,
$
TYPE=REPORT, COLUMN='CAR.CARREC.MODEL',HIDE=ON, $
ENDSTYLE
END
-EXIT
Tom Flynn
WebFOCUS 8.1.05 - PROD/QA
DB2 - AS400 - Mainframe
April 26, 2012, 11:47 AM
UblguyHey Tom, I gave that a try again, the graph is generated but it doesn't plot the points correctly. It looks the same as the NOPRINT option.
I wonder if it is even possible...maybe I should open up a case.
April 26, 2012, 11:47 AM
Tom FlynnYep
Tom Flynn
WebFOCUS 8.1.05 - PROD/QA
DB2 - AS400 - Mainframe
April 26, 2012, 12:04 PM
UblguyI am putting together code that better represents my issue...using SALHIST...since support usually likes seeing the code.
I will post here, just in case if anyone is interested.
April 26, 2012, 12:07 PM
UblguyTo see the issue, run these side by side:
DEFINE FILE SALHIST
Employee1/D10.2 =IF PIN EQ '000000010' THEN OLDSALARY ELSE 0;
Employee2/D10.2 =IF PIN EQ '000000050' THEN OLDSALARY ELSE 0;
Employee3/D10.2 =IF PIN EQ '000000060' THEN OLDSALARY ELSE 0;
Employee4/D10.2 =IF PIN EQ '000000070' THEN OLDSALARY ELSE 0;
Year/YY = EFFECTDATE;
Quarter/Q = EFFECTDATE;
END
GRAPH FILE SALHIST
SUM
Employee1
Employee2
Employee3
Employee4
BY LOWEST Year
BY LOWEST Quarter
WHERE PIN IN ('000000010', '000000050', '000000060', '000000070')
ON GRAPH SET LOOKGRAPH LINE
ON GRAPH PCHOLD FORMAT AHTML
ON GRAPH SET STYLE *
TYPE=REPORT,
OBJECT=LEGEND,
LEGEND-VIEW=FLAT,
ARGRAPHENGINE=FUSION,
REPORT-VIEW=CHART,
CHART-TYPE=LINE,
ARREPORTSIZE=DIMENSION,
FONT='VERDANA',
$
ENDSTYLE
END
Second Report: Only difference is NOPRINT after Quarter
DEFINE FILE SALHIST
Employee1/D10.2 =IF PIN EQ '000000010' THEN OLDSALARY ELSE 0;
Employee2/D10.2 =IF PIN EQ '000000050' THEN OLDSALARY ELSE 0;
Employee3/D10.2 =IF PIN EQ '000000060' THEN OLDSALARY ELSE 0;
Employee4/D10.2 =IF PIN EQ '000000070' THEN OLDSALARY ELSE 0;
Year/YY = EFFECTDATE;
Quarter/Q = EFFECTDATE;
END
GRAPH FILE SALHIST
SUM
Employee1
Employee2
Employee3
Employee4
BY LOWEST Year
BY LOWEST Quarter NOPRINT
WHERE PIN IN ('000000010', '000000050', '000000060', '000000070')
ON GRAPH SET LOOKGRAPH LINE
ON GRAPH PCHOLD FORMAT AHTML
ON GRAPH SET STYLE *
TYPE=REPORT,
OBJECT=LEGEND,
LEGEND-VIEW=FLAT,
ARGRAPHENGINE=FUSION,
REPORT-VIEW=CHART,
CHART-TYPE=LINE,
ARREPORTSIZE=DIMENSION,
FONT='VERDANA',
$
ENDSTYLE
END