Presentation is loading. Please wait.

Presentation is loading. Please wait.

Walter F. Blood Information Builders Nashville User Forum February 23, 2012 THINKing in WEBFOCUS.

Similar presentations


Presentation on theme: "Walter F. Blood Information Builders Nashville User Forum February 23, 2012 THINKing in WEBFOCUS."— Presentation transcript:

1 Walter F. Blood Information Builders Nashville User Forum February 23, 2012 THINKing in WEBFOCUS

2 Thinking in WebFocus Retrieve DEFINE Screening FOCUS or External Sort Aggregation COUNT/MIN/MAX TOTAL Screens COMPUTE Format Extracts Analysis Report Generator Matrix Output Generator

3 Thinking in WebFOCUS Analysis n Verify DBA access to file(s) n Determine I/O access modules required n Process DEFINE field expressions for pertinent files n Read and parse the request n Check DBA and set up access restrictions at SEGMENT and FIELD levels n Open and parse Master File Descriptions

4 Thinking in WebFOCUS Analysis n Activate fields (real and DEFINEd) n Read USE list and/or check Access Files and FILEDEF/ALLOCATES n Open and Verify files n Activate segments: referenced subtree(s) n Smallest subtree which contains “root” and every segment referenced directly or indirectly (HEADING PARENT AND GRAND CHILD)

5 Thinking in WebFOCUS Retrieval  Unique segments are promoted into path of parent and are never missing  IF/WHERE tests on database fields are evaluated upon retrieval  DEFINE fields are evaluated if needed  IF/WHERE tests are evaluated on DEFINE fields on segment by segment basis, AFTER all other selection tests are passed  Each Path is processed independently, and fields are merged on common sort fields n Retrieval is “Top Down, Left Right” within the referenced sub-tree

6 Thinking in WebFOCUS Retrieval - SQL  WebFOCUS converted to SQL  Levels of optimization  Join  Selection  Aggregation  DEFINEd fields  Unoptimized – done in WebFOCUS  Returns data at the Internal Matrix level or before n SQL interface retrieval optimized

7 Thinking in WebFOCUS Structures SH2 KU K EMP_ID SPOUSE JOIN EMP_ID IN EMPLOYEE TO EMP_ID IN SPICE AS AJ EMP_ID FIRST_NAME LAST_NAME COVER_DT TYPE_COVER FAMILY JOIN EMP_ID IN EMPLOYEE TO ALL EMP_ID IN KIDS AS BJ EMP_ID CHILD_DOB CHILD_NAME K KM

8 SEG1 01 S1 ************** *EMP_ID ** *FIRST_NAME ** *LAST_NAME ** * ** *************** ************** I +-----------------+-----------------+ I I I I SEGS I SEGK I INSSEG 02 I KU 03 I KM 04 I SH2............................ ************** :EMP_ID :K :EMP_ID ::K *COVER_DT ** :SPOUSE : :CHILD_DOB :: *TYPE_COVER ** : : :CHILD_NAME :: *FAMILY ** : : : :: * ** :............: :............:: *************** JOINED SPICE.............: ************** JOINED KIDS Thinking in WebFOCUS Structures JOIN EMP_ID IN EMPLOYEE TO EMP_ID IN SPICE AS J1 SEG1 01 S1 ************** *EMP_ID ** *FIRST_NAME ** *LAST_NAME ** * ** *************** ************** I +-----------------+ I I I SEGS I INSSEG 02 I KU 03 I SH2.............. ************** :EMP_ID :K *COVER_DT ** :SPOUSE : *TYPE_COVER ** : : *FAMILY ** : : * ** :............: *************** JOINED SPICE ************** JOIN EMP_ID IN EMPLOYEE TO ALL EMP_ID IN KIDS AS J2 Limit 1024 segments in structure Limit 1023 Joins

9 Thinking in WebFOCUS DEFINE  Segment is determined by  WITH field  Fields used in expression  Constant expressions are evaluated when file is opened (segment 0)  DEFINEs are evaluated ONLY if required by request  DEFINEs are evaluated at detail level only Each DEFINE field is associated with a specific segment

10 Thinking in WebFOCUS Order of Retrieval – FOCUS Files  Root segment instances are obtained in physical order  Lower level instances obtained in SEGTYPE order within parent segment  TABLEF  Root and child segment instances are obtained in SEGTYPE order  No sorting n TABLE/GRAPH/MATCH

11 Thinking in WebFOCUS Order of Retrieval – FOCUS Files  Fieldname is not indexed Segment containing “fieldname” becomes ROOT of the view, and is retrieved physically  Fieldname is indexed Segment containing “fieldname” is accessed via the equality test on INDEX  Other segments become children of the new root segment  TABLE FILE filename.fieldname

12 Thinking in WebFOCUS Order of Retrieval – FOCUS Files Alternate Physical View is created through the referenced segment highest in the hierarchy SET AUTOINDEX=ON Alternate Indexed View is created if there is an Equality test specified for an indexed field on the referenced segment highest in the hierarchy SET AUTOSTRATEGY=ON Equality IF/WHERE test on primary key field in logically retrieved segment will terminate “chain chasing” as soon as possible SET AUTOPATH = ON

13 Thinking in WebFOCUS Autostrategy – FOCUS Files IL MI 00010002 9912 9911991099119910 9909 WHERE DATE EQ ‘9912’ 1 STATE=IL,DATE=0002Continue Search 2 STATE=IL, DATE=0001Continue Search 3 STATE=IL, DATE=9912Continue Search 4 STATE=IL, DATE=9911Next Parent 5 STATE=MI, DATE=9911Next Parent STATE DATE

14 Thinking in WebFOCUS FIXRETRIEVE – SUFFIX=FIX SET FIXRETRIEVE=ON  Equality IF/WHERE test on primary specified sort field in single segment FIX file will terminate retrieval as soon as possible FILE=TESTFI,SUFFIX=FIX SEGNAME=TESTSEG,SEGTYPE=S1 FIELD=COUNTRY,E01,A10,A10,$ FIELD=CAR,E02,A16,A16,$ ENGLAND JAGUAR ENGLAND JENSEN ENGLAND TRIUMPH FRANCE PEUGEOT ITALY AUDI WHERE COUNTRY EQ ‘FRANCE’ Retrieval stops if: Set FIXRETRIEVAL = ON

15 Thinking in WebFOCUS Multiple Paths  Unique segments are always in the path of their parent  Unique segments are SEGTYPE = U, KU, DKU, KLU  JOIN TO creates DKU segments  JOIN TO ALL creates DKM segments  TABLE/MATCH/GRAPH  Instances from each path will be merged in the sort process by the common parent(s)  TABLEF does not merge data from multiple paths  Alternate file views can be used to create single paths  SET MULTIPATH controls multiple path retrieval n Retrieval is performed for each path separately

16 Thinking in WebFOCUS Multiple Paths ARRIVE_TIME ARR_FLIGHT ARR_FROM DEPART_TIME DEP_FLIGHT DEPART_TO Airport

17 Thinking in WebFOCUS Multiple Paths DEFINE FILE AIRPORTS.ARRIVE_TIME DELAY=DEPART_TIME – ARRIVE_TIME; END TABLE FILE AIRPORTS.ARRIVE_TIME PRINT DEP_FLIGHT DEPART_TIME WHERE AIRPORT EQ ‘O’’HARE’ WHERE DELAY GT 60 WHERE DEPART_TO EQ ‘LAX’ WHERE ARR_FROM EQ ‘TOR’ END ARRIVE_TIME ARR_FLIGHT ARR_FROM DEPART_TIME DEP_FLIGHT DEPART_TO Airport

18 Thinking in WebFOCUS Multiple Paths FAMILY INVESTMENT FAMILY COLLEGE FAMILY

19 Thinking in WebFOCUS Multiple Paths Instances 1 AI BM 2 BM C 3 CI D FAMILY COLLEGE FAMILY INVESTMENT

20 Thinking in WebFOCUS Multiple Paths TABLE FILE SAMPLE PRINT COLLEGE INVEST BY FAMILY WHERE COLLEGE EQ ‘B’ WHERE INVEST EQ ‘ I ’ END FAMILY COLLEGE INVEST ------ ------- ------ 1 B I 2 B. 3. I FAMILY COLLEGE INVEST ------ ------- ------ 1 B I SET MULTIPATH=SIMPLE SET MULTIPATH=COMPOUND

21 Thinking in WebFOCUS Retrieval - Short Paths  High level segments with missing referenced descendents rejected (short path)  SET ALL=ON -- JOIN LEFT_OUTER  High level segments with missing referenced descendents accepted (missing fails IF/WHERE tests)  SET ALL=PASS  High level segments with qualified or missing referenced descendents accepted (missing passes IF/WHERE tests) n SET ALL=OFF -- JOIN INNER

22 Thinking in WebFOCUS Retrieval - Short Paths  Referenced, not present, Unique Segments are defaulted to blanks for alpha fields, zeros for numerics  Unique segments do not create short paths. Therefore, ALL settings are irrelevant for Unique segments.  Note: Missing referenced descendents of missing unique segments revert to ALL=OFF logic  Unique segments (U, KU, DKU, and KLU) are never considered missing

23 Thinking in WebFOCUS Internal Matrix Generation  One row for each distinct combination of sort keys  One column for each verb object  Computed columns, row and column totals, subtotals, and summaries are not yet done  All data is in internal form The output of the SORT/MERGE phase is conceptually a matrix

24 Thinking in WebFOCUS Internal Matrix - Contents  Fields following a verb  Fields used in COMPUTEs not previously mentioned  Fields used in HEADINGs or FOOTINGs  Fields used in SUBHEADs or SUBFOOTs, not previously mentioned  MISSING fields are not counted Sort Fields  BY fields  ACROSS fields (used as low order BY at sort phase)  FOCLIST (verb is PRINT or LIST) Verb Objects (both SUM and COUNT are calculated)

25 Thinking in WebFOCUS Multiple Verb Sets - limits n Up to 16 verbs with associated BY fields can be specified n Up to 128 sort fields may be specified n Up to 1024 verb objects may be specified

26 Thinking in WebFOCUS Multiple Verb Sets EAST210 NORTH150 SOUTH30 WEST10 SUM SALES BY DIVISION 140 260 3110 160 290 110 220 110 99100 00110 9960 0090 9930 9910 DIV SALES SUM SALES BY DIVISION BY YEAR YEAR SALES LIST SALES BY DIVISION BY YEAR FOCLIST SALES

27 Thinking in WebFOCUS Internal Matrix - Sorting  Aggregation is performed as record is sorted, with FOCUS sort  Aggregation is performed by external sort if SET EXTAGGR = ON  Numeric Fields are added. Alpha fields being SUMmed, return the LAST value within the BY field, the FST value with external sorts  (SET SUMPREFIX=LST if required)  All verb objects are also COUNTed

28 Thinking in WebFOCUS Merge – FOCUS Sort SORT MERGE FOCSORT BINs FOCSORT BINs SORT MERGE BINs FOCSORT

29 Thinking in WebFOCUS EXTSORT = ON, AUTOTABLEF = OFF FOCSORT BINs ~ First 5000 Records EXTSORT BINs Subsequent Records S001WK09 S001WK08 S001WK07 S001WK06 S001WK05 S001WK04 S001WK03 S001WK02 S001WK01 FOCSORT SORT MERGE FOCSORT

30 Thinking in WebFOCUS EXTSORT = ON, AUTOTABLEF = ON S001WK09 S001WK08 S001WK07 S001WK06 S001WK05 S001WK04 S001WK03 S001WK02 S001WK01 EXTSORT Subsequent Records OFFLINE Extract Hotscreen Or… BINs ~ First 5000 Records

31 Thinking in WebFOCUS Output Stage SORT Internal Matrix FOCSML Report Extract Formatting/Stylsheets HOLD/PCHOLD/SAVE FML/EMR Processor Secondary Sort Post Matrix Processing COMPUTE’s IF/WHERE TOTAL BY TOTAL Totals…

32 Thinking in WebFOCUS BY TOTAL PAGE 1 PIN AVE DEPT SALARY COUNT SALARY ---- ------ ----- ------ ACCOUNTING $283,300.00 5 $56,660.00 SALES $395,200.00 7 $56,457.14 MARKETING $570,700.00 11 $51,881.82 CUSTOMER SUPPORT $198,400.00 4 $49,600.00 PROGRAMMING & DVLPMT $182,300.00 4 $45,575.00 PERSONNEL $216,800.00 5 $43,360.00 CONSULTING $126,300.00 3 $42,100.00 ADMIN SERVICES $56,200.00 2 $28,100.00 TABLE FILE EMPDATA SUM SALARY CNT.PIN COMPUTE AVGSAL=SALARY/CNT.PIN; AS 'AVE,SALARY' BY HIGHEST TOTAL AVGSAL NOPRINT BY DEPT END

33 Thinking in WebFOCUS Output Stage SORT Internal Matrix FOCSML Report Extract Formatting/Stylesheets HOLD/PCHOLD/SAVE FML/EMR Processor Secondary Sort Post Matrix Processing COMPUTE’s IF/WHERE TOTAL BY TOTAL Totals…

34 Thinking in WebFOCUS ON Sortfield Options  Subtotaling – BY and ACROSS  SUBTOTAL and SUB-TOTAL  RECOMPUTE and SUMMARIZE  MULTILINE suppresses operation if only single detail line  RECAP (COMPUTE)  SUBFOOT/SUBHEAD

35 Thinking in WebFOCUS Totaling BY specified only and TABLE * BY specified plus Higher Bys TABLE * ADD’s all numeric columns SUBTOTAL COLUMN-TOTAL SUB-TOTAL Recalculates COMPUTE’s ADD’s up other numeric columns RECOMPUTESUMMARIZE * NOTOTAL Suppresses Grand Totals

36 Thinking in WebFOCUS ON Sortfield Options - Format  PAGE-BREAK [REPAGE]  NOSPLIT  **FOLD-LINE  **SKIP-LINE  UNDERLINE ** May be specified on verb-objects

37 Thinking in WebFOCUS ON TABLE Options  Totaling – ON TABLE…  COLUMN-TOTAL  ROW-TOTAL  SUMMARIZE  NOTOTAL  RECAP  [PAGE-BREAK AND ] SUBFOOT/SUBHEAD

38 Thinking in WebFOCUS HEADings and FOOTings  References to fields in SUBHEAD and SUBFOOT become verb objects only if not previously mentioned  Fields used in HEADINGs and SUBHEADs are taken from the first line within the group (BY phrase or page)  References to fields in HEADING and FOOTING become verb objects with the first verb

39 Thinking in WebFOCUS ON TABLE Extract Options  Extracts  ON TABLE HOLD [FORMAT …]  ON TABLE PCHOLD [FORMAT…]  ON TABLE SAVE [FORMAT…]  SET commands specific to format  Interface SET  WebFOCUS SET

40 Thinking in WebFOCUS


Download ppt "Walter F. Blood Information Builders Nashville User Forum February 23, 2012 THINKing in WEBFOCUS."

Similar presentations


Ads by Google