Focal Point
[CLOSED] Drill down through stacked bar chart

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

November 15, 2019, 11:26 AM
David Sauer
[CLOSED] Drill down through stacked bar chart
I am attempting to allow users to drill through a hierarchy in a chart in a portal container. The chart type is "vertical percent bars" (100% stacked columns). The default drill would drill into the stacking field and the BY field, while I want them to drill only into the BY field. I have attempted 2 methods:


1) Manual Linking (preferred):
The chart files are linked using code in the text editor, shown below. The hierarchy is Client, Location, Category, Subcategory, Vendor. In the example below, the category level is linking to the subcategory chart. The entire hierarchy is also used as page filters. This solution works perfectly except for one hiccup. Linking from Location to Category returns "No Data", even if the Category chart with the same filters works fine. The metadata for Location is the same as the other hierarchy fields and I have renamed all of my locations to have zero punctuation or special characters in case that was preventing them from being properly passed. I can't think of any reason why this one level isn't working. The charts are all exact copies of each other except for the by field and the target chart link.


(Column 3 is Category)
 TYPE=DATA, COLUMN=N3, ALT='Detail Report', TARGET='_self', FOCEXEC=Path/Subcategory.fex(CLIENT=&CLIENT.QUOTEDSTRING LOCATION=&LOCATION.QUOTEDSTRING CATEGORY=CATEGORY SUBCATEGORY=&SUBCATEGORY.QUOTEDSTRING VENDOR=&VENDOR.QUOTEDSTRING), $ 




2) Auto Linking:
This is the simpler method and gets me close to what I need. The main issue here is that I cannot seem to get the chart to appear in the same container as the original chart, instead it opens a new window and asks for parameters before running. If I manually link the charts I do not have this issue.


Any help is greatly appreciated! I've tried to put together a minimum working example with the car data set but ran into other issues. I can keep attempting if that would help to clarify the problem.

This message has been edited. Last edited by: FP Mod Chuck,


WebFocus 8.2.06
Windows 10
PostgreSQL
HTML, Web Portal
November 17, 2019, 10:38 AM
Doug
The code (Verbs for the PRINT, SUM, BY, etc.) as they relate to the drilldown code (TYPE=DATA...) would be helpful. We'd need that to further understand the issue and provide a solution. Also, the filtration code in the target fex would be helpful. If it's what I'm thinking, it may be a simple fix. But, I do need that additional information.




   In FOCUS Since 1983 ~ from FOCUS to WebFOCUS.
   Current: WebFOCUS Administrator at FIS Worldpay | 8204, 8206
November 18, 2019, 09:29 AM
David Sauer
Doug,

I've copied the full code for the original fex below in case it helps. The code for the target fex is identical except for the second BY field and I've copied the filtration code at the bottom of this post. For the items you listed however:

In this case as you can see column N2 is the stacking variable while column N3 (the drilldown target) groups the data into columns as a BY field.



 
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';
-DEFAULT &CLIENT = '_FOC_NULL';
-DEFAULT &LOCATION = '_FOC_NULL';
-DEFAULT &CATEGORY = '_FOC_NULL';
-DEFAULT &SUBCATEGORY = '_FOC_NULL';
-DEFAULT &VENDOR = '_FOC_NULL';
GRAPH FILE PE/cls_implementation
-* Created by Info Assist for Graph
SUM SUM.CLS_IMPLEMENTATION.IMPLEMENTATION_TRACKER_PG.ANNUAL_SAVINGS/P12C:d
BY CLS_IMPLEMENTATION.IMPLEMENTATION_STAGES_PG.IMPFLAG
BY CLS_IMPLEMENTATION.IMPLEMENTATION_TRACKER_PG.Location
WHERE CLS_IMPLEMENTATION.IMPLEMENTATION_TRACKER_PG.STATUS NE 'Dead';
WHERE CLS_IMPLEMENTATION.IMPLEMENTATION_TRACKER_PG.STATUS NE 'On Hold / Re-working';
WHERE (CLS_IMPLEMENTATION.IMPLEMENTATION_TRACKER_PG.CLIENT EQ &CLIENT.(OR(FIND CLS_IMPLEMENTATION.IMPLEMENTATION_TRACKER_PG.CLIENT IN PE/CLS_IMPLEMENTATION |FORMAT=A255V)).Client:.);
WHERE (CLS_IMPLEMENTATION.IMPLEMENTATION_TRACKER_PG.LOCATION EQ &LOCATION.(OR(FIND CLS_IMPLEMENTATION.IMPLEMENTATION_TRACKER_PG.LOCATION IN PE/CLS_IMPLEMENTATION |FORMAT=A255V ,WITHIN=CLIENT)).Location:.);
WHERE (CLS_IMPLEMENTATION.IMPLEMENTATION_TRACKER_PG.CATEGORY EQ &CATEGORY.(OR(FIND CLS_IMPLEMENTATION.IMPLEMENTATION_TRACKER_PG.CATEGORY IN PE/CLS_IMPLEMENTATION |FORMAT=A255V ,WITHIN=LOCATION)).Category:.);
WHERE (CLS_IMPLEMENTATION.IMPLEMENTATION_TRACKER_PG.SUBCATEGORY EQ &SUBCATEGORY.(OR(FIND CLS_IMPLEMENTATION.IMPLEMENTATION_TRACKER_PG.SUBCATEGORY IN PE/CLS_IMPLEMENTATION |FORMAT=A255V ,WITHIN=CATEGORY)).Subcategory:.);
WHERE (CLS_IMPLEMENTATION.IMPLEMENTATION_TRACKER_PG.VENDOR EQ &VENDOR.(OR(FIND CLS_IMPLEMENTATION.IMPLEMENTATION_TRACKER_PG.VENDOR IN PE/CLS_IMPLEMENTATION |FORMAT=A255V ,WITHIN=SUBCATEGORY)).Vendor:.);
ON GRAPH PCHOLD FORMAT JSCHART
ON GRAPH SET VZERO 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 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:/WFC/Repository/Audit_Dashboard/Common/dashboard.sty,$
TYPE=REPORT, TITLETEXT=&WF_TITLE.QUOTEDSTRING, $
TYPE=DATA, COLUMN=N1, BUCKET=color, $
TYPE=DATA, COLUMN=N2, BUCKET=x-axis, $
TYPE=DATA, COLUMN=N3, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N3, ALT='Detail Report', TARGET='_self', FOCEXEC=IBFS:/WFC/Repository/Audit_Dashboard/Engagement_Progress/PE/Implementation_Progress_Category.fex(CLIENT=&CLIENT.QUOTEDSTRING LOCATION=&LOCATION.QUOTEDSTRING CATEGORY=CATEGORY SUBCATEGORY=&SUBCATEGORY.QUOTEDSTRING VENDOR=&VENDOR.QUOTEDSTRING), $
*GRAPH_SCRIPT
setReportParsingErrors(false);
setSelectionEnableMove(false);
setFillColor(getSeries(0),new Color(51,51,102));
setFillColor(getSeries(1),new Color(255,204,0));
*GRAPH_JS_FINAL
"pieProperties": {
    "holeSize": "0%"
},
"blaProperties": {
    "seriesLayout": "percent"
},
"agnosticSettings": {
    "chartTypeFullName": "Bar_Percent"
}
*END
ENDSTYLE
END
-RUN

-*IA_GRAPH_FINISH
 



The filtration code of the target fex.
 
SUM SUM.CLS_IMPLEMENTATION.IMPLEMENTATION_TRACKER_PG.ANNUAL_SAVINGS/P12C:d
BY CLS_IMPLEMENTATION.IMPLEMENTATION_STAGES_PG.IMPFLAG
BY CLS_IMPLEMENTATION.IMPLEMENTATION_TRACKER_PG.Category
WHERE CLS_IMPLEMENTATION.IMPLEMENTATION_TRACKER_PG.STATUS NE 'Dead';
WHERE CLS_IMPLEMENTATION.IMPLEMENTATION_TRACKER_PG.STATUS NE 'On Hold / Re-working';
WHERE (CLS_IMPLEMENTATION.IMPLEMENTATION_TRACKER_PG.CLIENT EQ &CLIENT.(OR(FIND CLS_IMPLEMENTATION.IMPLEMENTATION_TRACKER_PG.CLIENT IN PE/CLS_IMPLEMENTATION |FORMAT=A255V)).Client:.);
WHERE (CLS_IMPLEMENTATION.IMPLEMENTATION_TRACKER_PG.LOCATION EQ &LOCATION.(OR(FIND CLS_IMPLEMENTATION.IMPLEMENTATION_TRACKER_PG.LOCATION IN PE/CLS_IMPLEMENTATION |FORMAT=A255V ,WITHIN=CLIENT)).Location:.);
WHERE (CLS_IMPLEMENTATION.IMPLEMENTATION_TRACKER_PG.CATEGORY EQ &CATEGORY.(OR(FIND CLS_IMPLEMENTATION.IMPLEMENTATION_TRACKER_PG.CATEGORY IN PE/CLS_IMPLEMENTATION |FORMAT=A255V ,WITHIN=LOCATION)).Category:.);
WHERE (CLS_IMPLEMENTATION.IMPLEMENTATION_TRACKER_PG.SUBCATEGORY EQ &SUBCATEGORY.(OR(FIND CLS_IMPLEMENTATION.IMPLEMENTATION_TRACKER_PG.SUBCATEGORY IN PE/CLS_IMPLEMENTATION |FORMAT=A255V ,WITHIN=CATEGORY)).Subcategory:.);
WHERE (CLS_IMPLEMENTATION.IMPLEMENTATION_TRACKER_PG.VENDOR EQ &VENDOR.(OR(FIND CLS_IMPLEMENTATION.IMPLEMENTATION_TRACKER_PG.VENDOR IN PE/CLS_IMPLEMENTATION |FORMAT=A255V ,WITHIN=SUBCATEGORY)).Vendor:.);
 



WebFocus 8.2.06
Windows 10
PostgreSQL
HTML, Web Portal