ENGINE SQLORA SET DEFAULT_CONNECTION TADMINTEST SQL SQLORA PREPARE SQLOUT FOR SELECT YEAR_ID , QUARTER_ID, STATUS, SUM(COM_1) COM_1 , SUM(COM_2) COM_2, ROUND(( SUM(COM_2)/SUM(COM_1)) * 100, 0) PCT FROM ( SELECT AGENCY , YEAR_ID , QUARTER_ID, STATUS, SUM(ACTUAL_VALUE) COM_1 , +0 COM_2 FROM DRTADMIN.VW_RPT_DRT_COMP_DATA WHERE COMPONENT_ID = 1 GROUP BY COMPONENT_ID , AGENCY , YEAR_ID , QUARTER_ID, STATUS UNION ALL SELECT AGENCY , YEAR_ID , QUARTER_ID, STATUS,+0 COM_1 , SUM(ACTUAL_VALUE) COM_2 FROM DRTADMIN.VW_RPT_DRT_COMP_DATA WHERE COMPONENT_ID = 2 GROUP BY COMPONENT_ID , AGENCY , YEAR_ID , QUARTER_ID,STATUS) GROUP BY YEAR_ID , QUARTER_ID, STATUS ORDER BY YEAR_ID , QUARTER_ID; END DEFINE FILE SQLOUT ADD CF_YEAR/I4=YEAR_ID; CF_YEAR_A/A22=FTOA( YEAR_ID , '(D20.2)', 'A22'); CS_NOCOMMAS/A22=STRIP(22, CF_YEAR_A, ',', CS_NOCOMMAS); SUBSTR_CS_NOCOMMAS/A5=SUBSTR(22, CS_NOCOMMAS, 18, 22, 4, 'A5'); CONT_YR/A20='FY' | ' ' | SUBSTR_CS_NOCOMMAS; CF_QTR_NAMES/A11=IF QUARTER_ID EQ 1 THEN '1st Quarter' ELSE IF QUARTER_ID EQ 2 THEN '2nd Quarter' ELSE IF QUARTER_ID EQ 3 THEN '3rd Quarter' ELSE IF QUARTER_ID EQ 4 THEN '4th Quarter' ELSE '5th Quarter'; CURRENTDATE/A10=TODAY(CURRENTDATE); CURRENTFY/A4=SUBSTR(10, CURRENTDATE, 7, 10, 4, CURRENTFY); CURRENTFM/A4=SUBSTR(10, CURRENTDATE, 1, 2, 4, CURRENTFM); CURRENTFYINT/I4=EDIT(CURRENTFY); CURRENTFMINT/I4=EDIT(CURRENTFM); CURRENTFYINT1/I4=IF (CURRENTFMINT GE 1) AND (CURRENTFMINT LE 6) THEN CURRENTFYINT ELSE CURRENTFYINT + 1; LAST5FYINT/I4=CURRENTFYINT1 - 4; LAST4FYINT/I4=CURRENTFYINT1 - 4; LAST3FYINT/I4=CURRENTFYINT1 - 3; LAST2FYINT/I4=CURRENTFYINT1 - 2; LAST1FYINT/I4=CURRENTFYINT1 - 1; END -*IA_GRAPH_BEGIN -*Do not delete or modify the comments below *-INTERNAL_COMMENT LINE#0$PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8IS0tMS4wLS0+PFJvb3QgdmVyc2lvbj0iMS4wIj4NCiAgICA8T2JqZWN0IG9iamVjdElkPSJDaGFydF8xIj4NCiAgICAgICAgPFByb3BlcnR5IG5hbWU9IkxpbmtlZFNvcnRzIiB0eXBlPSJqYXZhLmxhbmcuU3RyaW5nIi8+DQogICAgICAgIDxQcm9wZXJ0eSBuYW1lPSJDcm9zc1RhYk1vZGUiIHR5cGU9ImphdmEubGFuZy5Cb29sZWFuIj50cnVlPC9Qcm9wZXJ0eT4NCiAgICA8L09iamVjdD4NCiAgICA8T2JqZWN0IG9iamVjdElkPSJHTE9CQUwiPg0KICAgICAgICA8UHJvcGVydHkgbmFtZT0iU2FtcGxlRGF0YSIgdHlwZT0iamF2YS5sYW5nLkJvb2xlYW4iPmZhbHNlPC9Qcm9wZXJ0eT4NCiAgICAgICAgPFByb3BlcnR5IG5hbWU9Ikdsb2JhbFJlY29yZExpbWl0IiB0eXBlPSJqYXZhLmxhbmcuU3RyaW5nIj41MDA8L1Byb3BlcnR5Pg0KICAgICAgICA8UHJvcGVydHkgbmFtZT0iR2xvYmFsUnVuUmVjb3JkTGltaXQiIHR5cGU9ImphdmEubGFuZy5TdHJpbmciPjA8L1Byb3BlcnR5Pg0KICAgICAgICA8UHJvcGVydHkgbmFtZT0iR2xvYmFsT3B0aW1pemF0aW9uIiB0eXBlPSJqYXZhLmxhbmcuQm9vbGVhbiI+dHJ1ZTwvUHJvcGVydHk+DQogICAgICAgIDxQcm9wZXJ0eSBuYW1lPSJmaWVsZERpc3BsYXlNb2RlIiB0eXBlPSJqYXZhLmxhbmcuU3RyaW5nIj5sYWJlbDwvUHJvcGVydHk+DQogICAgICAgIDxQcm9wZXJ0eSBuYW1lPSJwcmVmaXhEaXNwbGF5TW9kZSIgdHlwZT0iamF2YS5sYW5nLlN0cmluZyIvPg0KICAgICAgICA8UHJvcGVydHkgbmFtZT0iQWN0aXZlX1N0eWxlX1VzZXJfdHlwZSIgdHlwZT0iamF2YS5sYW5nLlN0cmluZyI+cG93ZXI8L1Byb3BlcnR5Pg0KICAgICAgICA8UHJvcGVydHkgbmFtZT0iR2xvYmFsVmFsdWVzUGFnaW5nIiB0eXBlPSJqYXZhLmxhbmcuU3RyaW5nIj40PC9Qcm9wZXJ0eT4NCiAgICAgICAgPFByb3BlcnR5IG5hbWU9IkZvY2V4ZWNQcmVmZXJlbmNlcyIgdHlwZT0iTWFwIj4NCiAgICAgICAgICAgIDxFbnRyeSBrZXk9ImRpc3BsYXlTbGljZXJzVGFiRWRpdEluZm9NaW5pUHJlZmVyZW5jZSIgdHlwZT0iamF2YS5sYW5nLlN0cmluZyI+ZmFsc2U8L0VudHJ5Pg0KICAgICAgICAgICAgPEVudHJ5IGtleT0iZGlzcGxheVNlcmllc1RhYkluZm9NaW5pUHJlZmVyZW5jZSIgdHlwZT0iamF2YS5sYW5nLlN0cmluZyI+ZmFsc2U8L0VudHJ5Pg0KICAgICAgICAgICAgPEVudHJ5IGtleT0iYXV0b0RyaWxsU2NyaXB0IiB0eXBlPSJqYXZhLmxhbmcuU3RyaW5nIi8+DQogICAgICAgICAgICA8RW50cnkga2V5PSJydW5PblN0YXJ0dXBEZWZlcnJlZEluZm9NaW5pUHJlZmVyZW5jZSIgdHlwZT0iamF2YS5sYW5nLlN0cmluZyI+ZmFsc2U8L0VudHJ5Pg0KICAgICAgICAgICAgPEVudHJ5IGtleT0iZGlzcGxheUVkaXRNb2RlSW5mb01pbmlQcmVmZXJlbmNlIiB0eXBlPSJqYXZhLmxhbmcuU3RyaW5nIj5mYWxzZTwvRW50cnk+DQogICAgICAgICAgICA8RW50cnkga2V5PSJkaXNwbGF5SG9tZVRhYkluZm9NaW5pUHJlZmVyZW5jZSIgdHlwZT0iamF2YS5sYW5nLlN0cmluZyI+ZmFsc2U8L0VudHJ5Pg0KICAgICAgICAgICAgPEVudHJ5IGtleT0ibWV0YWRhdGFfdmlld3MiIHR5cGU9ImphdmEubGFuZy5TdHJpbmciPk1ldGFEYXRhVHJlZS5WSUVXX0RJTVM8L0VudHJ5Pg0KICAgICAgICAgICAgPEVudHJ5IGtleT0iZGlzcGxheURhdGFUYWJJbmZvTWluaVByZWZlcmVuY2UiIHR5cGU9ImphdmEubGFuZy5TdHJpbmciPmZhbHNlPC9FbnRyeT4NCiAgICAgICAgICAgIDxFbnRyeSBrZXk9ImluZm9Bc3Npc3RNb2RlQWxsb3dlZEluZm9NaW5pUHJlZmVyZW5jZSIgdHlwZT0iamF2YS5sYW5nLlN0cmluZyI+ZmFsc2U8L0VudHJ5Pg0KICAgICAgICAgICAgPEVudHJ5IGtleT0iZGVmYXVsdF9wcmV2aWV3X3BhZ2VsaW1pdCIgdHlwZT0iamF2YS5sYW5nLlN0cmluZyI+NTwvRW50cnk+DQogICAgICAgICAgICA8RW50cnkga2V5PSJkaXNwbGF5SW5zZXJ0VGFiSW5mb01pbmlQcmVmZXJlbmNlIiB0eXBlPSJqYXZhLmxhbmcuU3RyaW5nIj5mYWxzZTwvRW50cnk+DQogICAgICAgICAgICA8RW50cnkga2V5PSJydW5PblN0YXJ0dXBJbmZvTWluaVByZWZlcmVuY2UiIHR5cGU9ImphdmEubGFuZy5TdHJpbmciPnRydWU8L0VudHJ5Pg0KICAgICAgICAgICAgPEVudHJ5IGtleT0iZGlzcGxheUxheW91dFRhYkluZm9NaW5pUHJlZmVyZW5jZSIgdHlwZT0iamF2YS5sYW5nLlN0cmluZyI+ZmFsc2U8L0VudHJ5Pg0KICAgICAgICAgICAgPEVudHJ5IGtleT0iZGlzcGxheUludGVyYWN0aXZlTW9kZUluZm9NaW5pUHJlZmVyZW5jZSIgdHlwZT0iamF2YS5sYW5nLlN0cmluZyI+dHJ1ZTwvRW50cnk+DQogICAgICAgICAgICA8RW50cnkga2V5PSJkZWZhdWx0X3ByZXZpZXdfcGFnZWxpbWl0X2xheW91dCIgdHlwZT0iamF2YS5sYW5nLlN0cmluZyI+MTwvRW50cnk+DQogICAgICAgICAgICA8RW50cnkga2V5PSJkaXNwbGF5UXVpY2tBY2Nlc3NUb29sYmFyU2F2ZUluZm9NaW5pUHJlZmVyZW5jZSIgdHlwZT0iamF2YS5sYW5nLlN0cmluZyI+dHJ1ZTwvRW50cnk+DQogICAgICAgICAgICA8RW50cnkga2V5PSJkaXNwbGF5U2xpY2Vyc1RhYkludGVyYWN0aXZlSW5mb01pbmlQcmVmZXJlbmNlIiB0eXBlPSJqYXZhLmxhbmcuU3RyaW5nIj50cnVlPC9FbnRyeT4NCiAgICAgICAgICAgIDxFbnRyeSBrZXk9ImRlZmF1bHRfY29tcG9zZV9mb3JtYXQiIHR5cGU9ImphdmEubGFuZy5TdHJpbmciPlBERjwvRW50cnk+DQogICAgICAgICAgICA8RW50cnkga2V5PSJkaXNwbGF5UmVzb3VyY2VzRmllbGRUYWJJbmZvTWluaVByZWZlcmVuY2UiIHR5cGU9ImphdmEubGFuZy5TdHJpbmciPmZhbHNlPC9FbnRyeT4NCiAgICAgICAgICAgIDxFbnRyeSBrZXk9ImRpc3BsYXlGb3JtYXRUYWJJbmZv *-INTERNAL_COMMENT LINE#1$TWluaVByZWZlcmVuY2UiIHR5cGU9ImphdmEubGFuZy5TdHJpbmciPnRydWU8L0VudHJ5Pg0KICAgICAgICA8L1Byb3BlcnR5Pg0KICAgICAgICA8UHJvcGVydHkgbmFtZT0iY2FzY2FkZU5hbWVzIiB0eXBlPSJNYXAiLz4NCiAgICAgICAgPFByb3BlcnR5IG5hbWU9Ik1hc3Rlcl9GaWxlcyIgdHlwZT0iU2V0Ij4NCiAgICAgICAgICAgIDxFbnRyeSB0eXBlPSJqYXZhLmxhbmcuU3RyaW5nIj5TUUxPVVQ8L0VudHJ5Pg0KICAgICAgICA8L1Byb3BlcnR5Pg0KICAgICAgICA8UHJvcGVydHkgbmFtZT0ibWV0YWRhdGFWaWV3QXMiIHR5cGU9Ik1hcCI+DQogICAgICAgICAgICA8RW50cnkga2V5PSJTUUxPVVQiIHR5cGU9ImphdmEubGFuZy5TdHJpbmciPk1ldGFEYXRhVHJlZS5WSUVXX0RJTVM8L0VudHJ5Pg0KICAgICAgICA8L1Byb3BlcnR5Pg0KICAgICAgICA8UHJvcGVydHkgbmFtZT0iU2xpY2VyR3VpSXNsYW5kIiB0eXBlPSJqYXZhLmxhbmcuU3RyaW5nIj5leUppUVhWMGIxQnlaWFpwWlhjaU9tWmhiSE5sTENKaVQzQjBhVzl1YzBkeWIzVndWbWx6YVdKc1pTSTZkSEoxWlN3aVlsSmxZMHhwYldsMFIzSnZkWEJXYVhOcFlteGxJanAwY25WbExDSmlVSEpsZG1sbGQwTnZiblJ5YjJ4V2FYTnBZbXhsSWpwMGNuVmxMQ0ppVW5WdWRHbHRaVU52Ym5SeWIyeFdhWE5wWW14bElqcDBjblZsZlE9PTwvUHJvcGVydHk+DQogICAgICAgIDxQcm9wZXJ0eSBuYW1lPSJTTElDRVJfSU5GT1JNQVRJT04iIHR5cGU9ImphdmEubGFuZy5TdHJpbmciPlBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlWVlJHTFRnaUlITjBZVzVrWVd4dmJtVTlJbTV2SWo4K1BDRXRMVU5QVFZCTVJWUkZYMU5NU1VORlVsOUhVazlWVUMwdFBqeFRURWxEUlZKZlIxSlBWVkErUEVkU1QxVlFJR2R5YjNWd1RuVnRZbVZ5UFNJd0lpQnpiR2xqWlhKSGNtOTFjRXhoWW1Wc1BTSkhjbTkxY0NBeElpQnpiR2xqWlhKSGNtOTFjRTl5WkdWeVBTSXdJaUJ6YkdsalpYSkhjbTkxY0ZOcGVtVTlJakFpSUhOc2FXTmxja2R5YjNWd2FHbGtaVDBpWm1Gc2MyVWlMejQ4TDFOTVNVTkZVbDlIVWs5VlVEND08L1Byb3BlcnR5Pg0KICAgICAgICA8UHJvcGVydHkgbmFtZT0iZW5hYmxlUHJldmlldyIgdHlwZT0iamF2YS5sYW5nLkJvb2xlYW4iPnRydWU8L1Byb3BlcnR5Pg0KICAgIDwvT2JqZWN0Pg0KPC9Sb290Pg0K -*Do not delete or modify the comments above 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 SQLOUT -* Created by Info Assist for Graph PRINT SQLOUT.SQLOUT.PCT AS 'Percent of Budget Expended' BY SQLOUT.SQLOUT.CONT_YR AS '" "' ACROSS SQLOUT.SQLOUT.CF_QTR_NAMES WHERE SQLOUT.SQLOUT.COM_1 NE 0 AND SQLOUT.SQLOUT.COM_2 NE 0; WHERE SQLOUT.SQLOUT.STATUS EQ '&STATUS_ID.(<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13> |FORMAT=D20.2).Status ID.'; WHERE SQLOUT.SQLOUT.CF_YEAR GE LAST5FYINT; WHERE SQLOUT.SQLOUT.CF_YEAR LE CURRENTFYINT; HEADING "5 Yr Capital Program Expenditure Rate Trend Line - State & Federal" " " " " ON GRAPH PCHOLD FORMAT PNG ON GRAPH SET VZERO OFF ON GRAPH SET HTMLENCODE ON ON GRAPH SET GRAPHDEFAULT OFF ON GRAPH SET GRWIDTH 1 ON GRAPH SET EMBEDHEADING ON 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 1 ON GRAPH SET GRXAXIS 1 ON GRAPH SET LOOKGRAPH VLINE 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, $ TYPE=HEADING, JUSTIFY=CENTER, FONT='ARIAL', SIZE=12, COLOR=RGB(185 0 0), STYLE=BOLD, $ *GRAPH_SCRIPT setReportParsingErrors(false); setSelectionEnableMove(false); setDisplay(getO1MajorTick(),true); setTickStyle(getO1MajorTick(),3); setAltFmtFrameNumColors(getO1AltFmtFrame(),5); setTextFormatPreset(getY1Label(),28); setFontName(getY1Title(),"ARIAL"); setFontName(getO1Label(),"ARIAL"); setFontStyle(getO1Label(),2); setDisplay(getO1Title(),false); setLegendPosition(1); setFontName(getY1Label(),"ARIAL"); setFontStyle(getY1Label(),2); setDisplay(getY1MajorTick(),true); setTickStyle(getY1MajorTick(),3); setAltFmtFrameNumColors(getY1AltFmtFrame(),5); setFillColor(getFrame(),new Color(255,255,255)); setFontSizeAbsolute(getO1Label(), true); setFontSizeInPoints(getO1Label(), 9); setPlaceResize(getO1Label(), 0); setFontSizeAbsolute(getY1Label(), true); setFontSizeInPoints(getY1Label(), 9); setPlaceResize(getY1Label(), 0); setFontSizeAbsolute(getY1Title(), true); setFontSizeInPoints(getY1Title(), 9); setPlaceResize(getY1Title(), 0); setFontName(getLegendText(),"ARIAL"); setFontStyle(getLegendText(),2); setFillColor(getSeries(0),new Color(255,204,204)); setSeriesType(0,2); setMarkerShape(getAllSeries(),2); setTextString(getY1Title(),"Percent of Budget Expended"); setDisplay(getY1Title(),true); setDisplay(getO1MinorTick(),true); setTickStyle(getO1MinorTick(),3); setFontName(getO1AltFmtLabel(0),"ARIAL"); setFontStyle(getO1AltFmtLabel(0),2); setDisplay(getO1MinorGrid(),true); setGridStyle(getO1MinorGrid(),3); setBorderColor(getO1MajorGrid(),new Color(13,13,13)); setFillColor(getO1MajorGrid(),new Color(13,13,13)); setDisplay(getO1MajorGrid(),false); *END ENDSTYLE END -RUN -*IA_GRAPH_FINISH -* File: IBFS:/DRT/WFC/Repository/DRT/Standard_Reports/SD/2_1/Procedure1.fex Created by WebFOCUS AppStudio
DEFINE FILE GGORDER YEAR/YY = ORDER_DATE; QUARTER/Q = ORDER_DATE; VALUE1/D12.2 = (QUANTITY - (RDNORM('D12.2') * 900)) * UNIT_PRICE; VALUE2/D12.2 = QUANTITY * UNIT_PRICE; END TABLE FILE GGORDER PRINT VALUE1 VALUE2 BY YEAR BY QUARTER BY PRODUCT_ID BY VENDOR_NAME WHERE YEAR IN (1996,1997) ON TABLE HOLD AS TEMPHLD1 FORMAT FOCUS END -RUN -* This mimics your SQL passthru SQL select year , quarter , sum(value1) as value1 , sum(value2) as value2 , (sum(value1) / sum(value2) * 100) as pct from temphld1 group by year , quarter ; TABLE ON TABLE HOLD AS TEMPHLD1 END -RUN DEFINE FILE TEMPHLD1 CF_YEAR/I4 = YEAR; CF_YEAR_A/A22 = FTOA( YEAR , '(D20.2)', 'A22'); CS_NOCOMMAS/A22 = STRIP(22, CF_YEAR_A, ',', CS_NOCOMMAS); SUBSTR_CS_NOCOMMAS/A5 = SUBSTR(22, CS_NOCOMMAS, 18, 22, 4, 'A5'); CONT_YR/A20 = 'FY' | ' ' | SUBSTR_CS_NOCOMMAS; CF_QTR_NAMES/A11 = IF QUARTER EQ 1 THEN '1st Quarter' ELSE IF QUARTER EQ 2 THEN '2nd Quarter' ELSE IF QUARTER EQ 3 THEN '3rd Quarter' ELSE IF QUARTER EQ 4 THEN '4th Quarter' ELSE '5th Quarter'; END ENGINE INT CACHE SET ON GRAPH FILE TEMPHLD1 SUM PCT AS 'Percent of Budget Expended' BY CONT_YR AS '" "' ACROSS CF_QTR_NAMES WHERE VALUE1 NE 0 AND VALUE2 NE 0; HEADING "5 Yr Capital Program Expenditure Rate Trend Line - State & Federal" " " " " 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 EMBEDHEADING ON ON GRAPH SET GRMERGE ADVANCED ON GRAPH SET GRMULTIGRAPH 0 ON GRAPH SET GRLEGEND 1 ON GRAPH SET GRXAXIS 1 ON GRAPH SET LOOKGRAPH VLINE ON GRAPH SET STYLE * etc. etc. etc.
In FOCUS since 1986 | WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2 | ||
WebFOCUS App Studio 8.2.06 standalone on Windows 10 |