Presentation is loading. Please wait.

Presentation is loading. Please wait.

Copyright 2007, Information Builders. Slide 1 JOIN, MATCH and MORE– Making the Connections Walter F. Blood Technical Director, FOCUS Division June, 2009.

Similar presentations


Presentation on theme: "Copyright 2007, Information Builders. Slide 1 JOIN, MATCH and MORE– Making the Connections Walter F. Blood Technical Director, FOCUS Division June, 2009."— Presentation transcript:

1 Copyright 2007, Information Builders. Slide 1 JOIN, MATCH and MORE– Making the Connections Walter F. Blood Technical Director, FOCUS Division June, 2009

2 Copyright 2007, Information Builders. Slide 2 JOIN, MATCH and MORE Basic Choices Employee Data Department Data Job Data Customer Data Invoices Product Data Support Data Purchase Orders Inventory Data When your report requires data from many different sources… …you need JOIN, MATCH or MORE to make the connections!

3 Copyright 2007, Information Builders. Slide 3 JOIN, MATCH and MORE JOIN - Basic Characteristics JOIN treats multiple structures as one Employee Data Department Data Job Data Customer Data Invoices Product Data Support Data Purchase Orders Inventory Data  Connects data sources based on fields or conditions  Creates a vertical concatenation  Excludes only comma, tab and token delimited files  Maximum 63 active JOINS  JOINed structure maximum 256 segments  JOINed record maximum 32K

4 Copyright 2007, Information Builders. Slide 4 JOIN, MATCH and MORE Basic Choices ? Equal fields or Conditions ? Real Fields or Virtual Fields ? One-to-One or One-to-Many ? Inner JOIN or Outer JOIN ? FOCUS Managed or Interface Managed Each JOIN relationship involves these choices:

5 Copyright 2007, Information Builders. Slide 5 JOIN, MATCH and MORE Equal JOIN Syntax LONG FORM JOIN field1 [ AND field2 …] [TAG tagname] IN file1 TO [ALL] fielda [AND fieldb…] IN file2 [TAG tagname] AS joinname END SHORT FORM JOIN field1 IN file1 TO [ALL] field2 IN file2 AS name Employee Data Departm entData Job Data Customer Data Invoices Product Data Support Data Purchase Orders Inventory Data JOIN EMPID IN EMPLOYEE TO EMPID IN DEPARTMENT AS JEMP

6 Copyright 2007, Information Builders. Slide 6 JOIN, MATCH and MORE Equal JOIN Syntax - DEFINE LONG FORM JOIN field1 WITH fieldname [TAG tagname] IN file1 TO [ALL] fielda IN file2 [TAG tagname] AS joinname END SHORT FORM JOIN field1 WITH field IN file1 TO [ALL] field2 IN file2 Employee Data Departm entData Job Data Customer Data Invoices Product Data Support Data Purchase Orders Inventory Data JOIN INVID WITH PRDID IN PRODUCT TO INVID IN INVOICES AS INV DEFINE FILE PRODUCT INVID/A25=EDIT(&YMD) | PRDID; … JOIN INVID WITH PRDID IN PRODUCT TO INVID IN INVOICES AS INV DEFINE FILE PRODUCT INVID/A25=EDIT(&YMD) | PRDID; …

7 Copyright 2007, Information Builders. Slide 7 JOIN, MATCH and MORE JOINS – Direct INNER/LEFT OUTER Join JOIN {LEFT_OUTER/INNER} field {AND field …} IN hostfile {TAG tagname} TO {UNIQUE/MULTIPLE} crfield {AND crfield … } IN crfile {TAG tagname} AS joinname END JOIN {LEFT_OUTER/INNER} field {AND field …} IN hostfile {TAG tagname} TO {UNIQUE/MULTIPLE} crfield {AND crfield … } IN crfile {TAG tagname} AS joinname END Equal JOIN JOIN {LEFT_OUTER/INNER} deffield WITH field IN hostfile {TAG tagname} TO {UNIQUE/MULTIPLE} crfield IN crfile {TAG tagname} AS joinname END JOIN {LEFT_OUTER/INNER} deffield WITH field IN hostfile {TAG tagname} TO {UNIQUE/MULTIPLE} crfield IN crfile {TAG tagname} AS joinname END Equal JOIN – DEFINE based

8 Copyright 2007, Information Builders. Slide 8 JOIN, MATCH and MORE Equal JOIN Rules TO sqltable  Multiple target fields may be specified  Indexes are not required, but preferred  Many-to-many supported TO sqltable  Multiple target fields may be specified  Indexes are not required, but preferred  Many-to-many supported TO FOCUS/XFOCUS file  Only single target field may be specified  Target field must be indexed  Many-to-many NOT supported TO FOCUS/XFOCUS file  Only single target field may be specified  Target field must be indexed  Many-to-many NOT supported All rules are determined by the SUFFIX of the TO file

9 Copyright 2007, Information Builders. Slide 9 JOIN – Making the Connection Equal JOIN Rules TO Indexed Files  Target field -- primary key/alternate index  Multiple target fields may be specified  High-order elements of key or alternate index  Many-to-many supported TO Indexed Files  Target field -- primary key/alternate index  Multiple target fields may be specified  High-order elements of key or alternate index  Many-to-many supported TO FIX/sequential files  Multiple target fields NOT supported  Many-to-many NOT supported  Both files must be sorted in ascending order on the JOIN keys TO FIX/sequential files  Multiple target fields NOT supported  Many-to-many NOT supported  Both files must be sorted in ascending order on the JOIN keys All rules are determined by the SUFFIX of the TO file

10 Copyright 2007, Information Builders. Slide 10 JOIN, MATCH and MORE Equal JOIN Syntax  Multiple Fields - Field1 AND field2 …  Up to four fields may be specified  TAG tagname  Tagname becomes a prefix for fully qualifying fields in specified file  joinname (default is blank)  Identifies JOIN for the session  Another JOIN with the same name will overlay  Specified JOIN can be CLEARed

11 Copyright 2007, Information Builders. Slide 11 JOIN, MATCH and MORE DEFINE-Based JOIN JOIN fieldname WITH field IN file1 …  Multiple field JOIN not supported  WITH field must be a “real” field in the host file  DEFINE field ONLY on the host file – must be real field on the cross-reference file  SET KEEPDEFINES = ON to use a dynamic DEFINE specified before the JOIN SET KEEPDEFINES = ON DEFINE FILE CAR CONT/A10 = … END JOIN CONT WITH COUNTRY IN CAR TO CONTINENT IN WORLD AS AJ SET KEEPDEFINES = ON DEFINE FILE CAR CONT/A10 = … END JOIN CONT WITH COUNTRY IN CAR TO CONTINENT IN WORLD AS AJ

12 Copyright 2007, Information Builders. Slide 12 JOIN, MATCH and MORE Conditional JOINs Syntax JOIN FILE from_file AT from_field [TAG from_tag ] TO {ALL|ONE} FILE to_file AT to_field [TAG to_tag] [AS as_name] [WHERE expression1 ; WHERE expression2 ;... ; ] END Employee Data Departm entData Job Data Customer Data Invoices Product Data Support Data Purchase Orders Inventory Data JOIN FILE EMPLOYEE AT EMPID TO ALL FILE CAR AT SEATS AS J1 WHERE RETAIL_COST LE SALARY * 3; END JOIN FILE EMPLOYEE AT EMPID TO ALL FILE CAR AT SEATS AS J1 WHERE RETAIL_COST LE SALARY * 3; END

13 Copyright 2007, Information Builders. Slide 13 JOIN, MATCH and MORE JOINS –Direct INNER/LEFT OUTER Join JOIN {LEFT_OUTER/INNER} hostfile AT hfld1 {TAG tagname} TO {UNIQUE/MULTIPLE} crfile AT crfld {TAG tagname} AS joinname {WHERE expression1; {WHERE expression2:} END JOIN {LEFT_OUTER/INNER} hostfile AT hfld1 {TAG tagname} TO {UNIQUE/MULTIPLE} crfile AT crfld {TAG tagname} AS joinname {WHERE expression1; {WHERE expression2:} END Conditional JOIN

14 Copyright 2007, Information Builders. Slide 14 JOIN, MATCH and MORE Conditional JOINs Rules and Caveats The conditional JOIN is supported for  FOCUS  VSAM  ADABAS  IMS  All relational data sources Optimization of the conditional JOIN syntax depends on  Specific data sources involved in the JOIN  Complexity of the WHERE criteria Where possible, use EQ-JOIN  Index/Key always used  No TABLE Scan Conditional JOIN  JOIN large file to small  Pages may remain in memory EQ-JOIN  JOIN small file to LARGE  Reduced I/O for non-matches

15 Copyright 2007, Information Builders. Slide 15 JOIN, MATCH and MORE Conditional JOINs - Insurance Rates JOIN FILE EMPDATA1 AT BIRTHDATE TO ALL FILE RATES AT AGE AS J1 WHERE EMPDATA1.BAGE GE RATES.AGE; WHERE EMPDATA1.BAGE LE RATES.EAGE; END TABLE FILE EMPDATA1 HEADING "To: <FIRSTNAME <LASTNAME " "</1 Thank you for choosing our company for your <0X insurance needs." "Thank you for choosing our company for your insurance needs.” "Since your birth date is <BIRTHDTATE,your current rate is<0X <RATE_PER_THOUSAND per" "unit of coverage. This is your rate through age <EAGE. “ ON TABLE SET PAGE OFF BY PIN NOPRINT PAGE-BREAK END JOIN FILE EMPDATA1 AT BIRTHDATE TO ALL FILE RATES AT AGE AS J1 WHERE EMPDATA1.BAGE GE RATES.AGE; WHERE EMPDATA1.BAGE LE RATES.EAGE; END TABLE FILE EMPDATA1 HEADING "To: <FIRSTNAME <LASTNAME " "</1 Thank you for choosing our company for your <0X insurance needs." "Thank you for choosing our company for your insurance needs.” "Since your birth date is <BIRTHDTATE,your current rate is<0X <RATE_PER_THOUSAND per" "unit of coverage. This is your rate through age <EAGE. “ ON TABLE SET PAGE OFF BY PIN NOPRINT PAGE-BREAK END Greater than Minimum Age Less than Maximum Age

16 Copyright 2007, Information Builders. Slide 16 JOIN, MATCH and MORE Conditional JOINs - Insurance Rates and Letters To: DANIEL VALINO Thank you for choosing our company for your insurance needs. Since your birth date is 07/20/1959, your current rate is $11 per unit of coverage. This is your rate through age 42. To: DANIEL VALINO Thank you for choosing our company for your insurance needs. Since your birth date is 07/20/1959, your current rate is $11 per unit of coverage. This is your rate through age 42. To: MICHAEL BELLA Thank you for choosing our company for your insurance needs. Since your birth date is 07/27/1952, your current rate is $24 per unit of coverage. This is your rate through age 53. To: MICHAEL BELLA Thank you for choosing our company for your insurance needs. Since your birth date is 07/27/1952, your current rate is $24 per unit of coverage. This is your rate through age 53.

17 Copyright 2007, Information Builders. Slide 17 JOIN, MATCH and MORE FOCUS or Interface Managed? Interface Managed  Both HOST and Cross-Reference are same SUFFIX  OPTIMIZATION is ON  See Trace for optimization FOCUS Managed  Different file types  OPTIMIZATION is turned OFF  FOCUS turns off optimization (explained in TRACEs)

18 Copyright 2007, Information Builders. Slide 18 JOIN, MATCH and MORE JOINS – One to Many Relationships JOIN PIN IN EMPDATA TO ALL PIN IN KIDS AS JOIN1 END PIN LASTNAME FIRSTNAME MIDINITIAL EMPDATA EMP_ID LASTNAME CHILDNAME MIDINITIAL EMP_ID LASTNAME CHILDNAME MIDINITIAL KIDS OUTERINNER Employee Data Departm entData Job Data Customer Data Invoices Product Data Support Data Purchase Orders Inventory Data

19 Copyright 2007, Information Builders. Slide 19 JOIN, MATCH and MORE JOINS – One to Many - Inner JOIN using SET ALL SET ALL = OFF EMP_ID ------ 000000010 000000030 000000040 000000060 000000070 PIN --- 000000010 000000020 000000030 000000040 000000050 000000060 000000070 000000080 000000090 000000100 Retrieves only matching pairs

20 Copyright 2007, Information Builders. Slide 20 JOIN, MATCH and MORE JOINS – One to Many - Left-Outer with SET ALL SET ALL = ON EMP_ID ------ 000000010 000000030 000000040 000000060 000000070 PIN --- 000000010 000000020 000000030 000000040 000000050 000000060 000000070 000000080 000000090 000000100 Retrieves all records in Host showing the short paths

21 Copyright 2007, Information Builders. Slide 21 JOINS – One to Many Left Outer JOIN using SET ALL PIN LASTNAME FIRSTNAME CHILDNAME --- -------- --------- --------- 000000010 VALINO DANIEL ASTRIC ARTHUR ANNE ANTHONY 000000020 BELLA MICHAEL. 000000030 CASSANOVA LOIS JOHN 000000040 ADAMS RUTH MARY 000000050 ADDAMS PETER. 000000060 PATEL DORINA SAM 000000070 SANCHEZ EVELYN SAMANTHA 000000080 SO PAMELA. 000000090 PULASKI MARIANNE. 000000100 ANDERSON TIM. PIN LASTNAME FIRSTNAME CHILDNAME --- -------- --------- --------- 000000010 VALINO DANIEL ASTRIC ARTHUR ANNE ANTHONY 000000020 BELLA MICHAEL. 000000030 CASSANOVA LOIS JOHN 000000040 ADAMS RUTH MARY 000000050 ADDAMS PETER. 000000060 PATEL DORINA SAM 000000070 SANCHEZ EVELYN SAMANTHA 000000080 SO PAMELA. 000000090 PULASKI MARIANNE. 000000100 ANDERSON TIM. Short Paths

22 Copyright 2007, Information Builders. Slide 22 JOIN, MATCH and MORE JOIN - Unique Relationship JOIN PIN IN EMPDATA TO PIN IN SPICE AS JOIN1 END PIN LASTNAME FIRSTNAME MIDINITIAL EMPDATA PIN LASTNAME SPOUSENAME SSN SPICE Employee Data Departm entData Job Data Customer Data Invoices Product Data Support Data Purchase Orders Inventory Data

23 Copyright 2007, Information Builders. Slide 23 JOIN, MATCH and MORE Unique Relationship and SET ALL SET ALL = OFF or SET ALL = ON PIN --- 000000010 000000030 000000040 000000060 000000070 000000090 PIN --- 000000010 000000020 000000030 000000040 000000050 000000060 000000070 000000080 000000090 000000100 EMP_ID ------ 000000010 000000030 000000040 000000060 000000070

24 Copyright 2007, Information Builders. Slide 24 JOINs – One to One Left Outer JOIN using SET ALL PIN LASTNAME FIRSTNAME --- -------- --------- 000000010 VALINO ARTHUR 000000020 BELLA 000000030 CASSANOVA JOHN 000000040 ADAMS MARY 000000050 ADDAMS 000000060 PATEL SAM 000000070 SANCHEZ SAMANTHA 000000080 SO 000000090 PULASKI 000000100 ANDERSON PIN LASTNAME FIRSTNAME --- -------- --------- 000000010 VALINO ARTHUR 000000020 BELLA 000000030 CASSANOVA JOHN 000000040 ADAMS MARY 000000050 ADDAMS 000000060 PATEL SAM 000000070 SANCHEZ SAMANTHA 000000080 SO 000000090 PULASKI 000000100 ANDERSON Blanks

25 Copyright 2007, Information Builders. Slide 25 JOIN, MATCH and MORE MATCH - Basic Characteristics MATCH merges files sequentially one at a time Employee Data Department Data Job Data Customer Data Invoices Product Data Support Data Purchase Orders Inventory Data  Merges data sources based on common fields  Creates a vertical concatenation  Connection based upon BY fields  Maximum 16 files connected in one MATCH request  Produces only HOLD output  Output controlled with AFTER MATCH  Offers Right-Outer and Full-Outer capabilities

26 Copyright 2007, Information Builders. Slide 26 MATCH FILE file1. BY FLD RUN FILE file2. BY FLD1 AS FLD [AFTER MATCH merge_phrase1] RUN FILE file3. BY FLD2 AS FLD [AFTER MATCH merge_phrase2] END JOIN, MATCH and MORE MATCH - Syntax BY fields connect filesMerge phrase selects

27 Copyright 2007, Information Builders. Slide 27  OLD-OR-NEW – all records from first and second files. This is the default if the AFTER MATCH line is omitted. (The UNION of the sets.)  OLD-AND-NEW – only records common to both files. (The INTERSECTION of the sets.)  OLD-NOT-NEW – records from the first file with no match in the second file. mergetype Specifies which of the retrieved records from the files are to be selected JOIN, MATCH and MORE MATCH – Mergetype and Output

28 Copyright 2007, Information Builders. Slide 28  NEW-NOT-OLD - records from second file with no match in the first file.  OLD-NOR-NEW - non-matching records from both files - records from the first file with no match in the second file, and records from the second file with no match in the first file.  OLD – records from the first file with matching records in the second file.  NEW – records from the second file with matching records in the first file. JOIN, MATCH and MORE MATCH – Mergetype and Output

29 Copyright 2007, Information Builders. Slide 29 JOIN, MATCH and MORE MATCH – Fine-Tuning Fine tune control using the display verbs  SUM – summarizes data to one record  PRINT – prints each individual record Four combinations  SUM / SUM  1 st (summarized) 2 nd (summarized)  SUM / PRINT  1 st (summarized) 2 nd (detail)  PRINT / SUM  1 st (detail) 2 nd (summarized)  PRINT / PRINT  1 st (detail) 2 nd (detail)

30 Copyright 2007, Information Builders. Slide 30 JOIN, MATCH and MORE MATCH – Fine-Tuning 2 N Country DCost 1 England 1000 1 England 2000 2 Japan 3000 2 Japan 4000 N Car RCost 1 Jaguar 5000 1 Jensen 6000 2 Datsun 4000 2 Toyota 7000 SUM  SUM 1 England 3000 Jensen 11000 2 Japan 7000 Toyota 11000 PRINT  SUM 1 England 2000 Jensen 11000 2 Japan 4000 Toyota 11000 SUM  PRINT 1 England 3000 Jaguar 5000 1 England 3000 Jensen 6000 2 Japan 7000 Datsun 4000 2 Japan 7000 Toyota 7000 PRINT  PRINT 1 England 1000 Jaguar 5000 1 England 2000 Jensen 6000 2 Japan 3000 Datsun 4000 2 Japan 4000 Toyota 7000 MATCH FILE F1 COUNTRY DCOST BY N RUN FILE F2 CAR RCOST BY N AFTER MATCH HOLD OLD-OR-NEW

31 Copyright 2007, Information Builders. Slide 31 JOIN, MATCH and MORE MORE - Basic Characteristics MORE concatenates files sequentially one at a time Employee Data Department Data Job Data Customer Data Invoices Product Data Support Data Purchase Orders Inventory Data  Requires data sources with common fields with the same formats  Creates a horizontal concatenation  Concatenate records of different file types  Can be used with TABLE, GRAPH, and MATCH  Similar to UNION functionality

32 Copyright 2007, Information Builders. Slide 32  Concatenate different file types:  FOCUS  DB2/SQL  IMS  VSAM  Fix files  Based on corresponding fields with:  Same name  Same FORMAT  Data appears as if from a single source  Currently supported in:  TABLE  GRAPH  MATCH FILE Retrieval of data from unlike data sources JOIN, MATCH and MORE MORE - Basic Characteristics

33 Copyright 2007, Information Builders. Slide 33 Order of Processing Main request  Identifies data fields  Identifies sorting criteria  Identifies output format of data Subrequests  Identify file(s)  Identify data fields to be concatenated to data in main request JOIN, MATCH and MORE MORE Processing

34 Copyright 2007, Information Builders. Slide 34 Order of processing: OUTPUT SORT 1 DATA FOCUS 2 DATA VSAM 3 DATA FIX JOIN, MATCH and MORE MORE Processing

35 Copyright 2007, Information Builders. Slide 35 FIX Data Retrieval (DEFINE/IF) FOCUS MORE VSAM Data Retrieval (DEFINE/IF) MORE FIX Data Retrieval (DEFINE/IF) EOF Y N EOF Y N FOCSORT EOF Y N COMPUTE/IF TOTAL OUTPUT JOIN, MATCH and MORE MORE Processing

36 Copyright 2007, Information Builders. Slide 36 File 1  Main Request  Supported TABLE, GRAPH, MATCH FILE syntax e.g. BY WHERE, IF, COMPUTE File 3  Subrequest  ONLY WHERE/IF syntax FIX File 2  Subrequest  ONLY WHERE/IF syntax VSAM FOCUS JOIN, MATCH and MORE MORE Processing

37 Copyright 2007, Information Builders. Slide 37 TABLE, GRAPH, MATCH FILE (Files) BY, WHERE, etc. MORE FILE (File 2) Subrequest (ONLY IF/WHERE) MORE FILE (File 3) Subrequest (ONLY IF/WHERE) END (after the last subrequest) JOIN, MATCH and MORE MORE Syntax

38 Copyright 2007, Information Builders. Slide 38  Based on fields in main request  Corresponding to fields In:  Subrequest, based on  Fieldname  Format  All fields in main request must be available to:  Files in the subrequest  Real fields  Defined fields JOIN, MATCH and MORE MORE Usage Notes

39 Copyright 2007, Information Builders. Slide 39 Alpha  Type and length must be equal INTEGER, floating point, DECIMAL  Type must be the same PACKED  Type and scale must be equal DATE (SMART)  Always correspond DATE (Legacy)  Edit options must be the same TEXT Fields are NOT supported JOIN, MATCH and MORE MORE Supported Datatypes

40 Copyright 2007, Information Builders. Slide 40 Which One Do We Use and Why JOIN, MATCH and MORE Which one? Use With JOIN EQ JOIN COND MATCHMORE Indexed Field YesNoN/A Like fieldUse DEFINE Yes Use DEFINE No common fields NoYesNoUse DEFINE

41 Copyright 2007, Information Builders. Slide 41 JOIN, MATCH and MORE Making the Connections Employee Data Department Data Job Data Customer Data Invoices Product Data Support Data Purchase Orders Inventory Data

42 Copyright 2007, Information Builders. Slide 42 JOINS – One to Many EMPDATA - Master FILENAME=EMPDATA, SUFFIX=FOC SEGNAME=EMPDATA, SEGTYPE=S1 FIELDNAME=PIN, ALIAS=ID, FORMAT=A9, INDEX=I,$ FIELDNAME=LASTNAME, ALIAS=LN, FORMAT=A15, $ FIELDNAME=FIRSTNAME, ALIAS=FN, FORMAT=A10, $ FIELDNAME=MIDINITIAL, ALIAS=MI, FORMAT=A1, $ FIELDNAME=DIV, ALIAS=CDIV, FORMAT=A4, $ FIELDNAME=DEPT, ALIAS=CDEPT, FORMAT=A20, $ FIELDNAME=JOBCLASS, ALIAS=CJCLAS, FORMAT=A8, $ FIELDNAME=TITLE, ALIAS=CFUNC, FORMAT=A20, $ FIELDNAME=SALARY, ALIAS=CSAL, FORMAT=D12.2M, $ FIELDNAME=HIREDATE, ALIAS=HDAT, FORMAT=YMD, $ FILENAME=EMPDATA, SUFFIX=FOC SEGNAME=EMPDATA, SEGTYPE=S1 FIELDNAME=PIN, ALIAS=ID, FORMAT=A9, INDEX=I,$ FIELDNAME=LASTNAME, ALIAS=LN, FORMAT=A15, $ FIELDNAME=FIRSTNAME, ALIAS=FN, FORMAT=A10, $ FIELDNAME=MIDINITIAL, ALIAS=MI, FORMAT=A1, $ FIELDNAME=DIV, ALIAS=CDIV, FORMAT=A4, $ FIELDNAME=DEPT, ALIAS=CDEPT, FORMAT=A20, $ FIELDNAME=JOBCLASS, ALIAS=CJCLAS, FORMAT=A8, $ FIELDNAME=TITLE, ALIAS=CFUNC, FORMAT=A20, $ FIELDNAME=SALARY, ALIAS=CSAL, FORMAT=D12.2M, $ FIELDNAME=HIREDATE, ALIAS=HDAT, FORMAT=YMD, $

43 Copyright 2007, Information Builders. Slide 43 JOINS - One to Many EMPDATA - Data PIN LASTNAME FIRSTNAME --- -------- --------- 000000010 VALINO DANIEL 000000020 BELLA MICHAEL 000000030 CASSANOVA LOIS 000000040 ADAMS RUTH 000000050 ADDAMS PETER 000000060 PATEL DORINA 000000070 SANCHEZ EVELYN 000000080 SO PAMELA 000000090 PULASKI MARIANNE 000000100 ANDERSON TIM PIN LASTNAME FIRSTNAME --- -------- --------- 000000010 VALINO DANIEL 000000020 BELLA MICHAEL 000000030 CASSANOVA LOIS 000000040 ADAMS RUTH 000000050 ADDAMS PETER 000000060 PATEL DORINA 000000070 SANCHEZ EVELYN 000000080 SO PAMELA 000000090 PULASKI MARIANNE 000000100 ANDERSON TIM

44 Copyright 2007, Information Builders. Slide 44 JOINS – One to Many Kids - Master FILENAME=KIDS, SUFFIX=FOC SEGNAME=CHILDSEG, SEGTYPE=S1 FIELDNAME=EMP_ID, ALIAS=PIN, FORMAT=A9, INDEX =I,$ FIELDNAME=LASTNAME, ALIAS=SLN, FORMAT=A15,$ FIELDNAME=CHILDNAME, ALIAS=SFN, FORMAT=A10,$ FIELDNAME=DATE_OF_BIRTH, ALIAS=DOB, FORMAT=MDYY,$ FILENAME=KIDS, SUFFIX=FOC SEGNAME=CHILDSEG, SEGTYPE=S1 FIELDNAME=EMP_ID, ALIAS=PIN, FORMAT=A9, INDEX =I,$ FIELDNAME=LASTNAME, ALIAS=SLN, FORMAT=A15,$ FIELDNAME=CHILDNAME, ALIAS=SFN, FORMAT=A10,$ FIELDNAME=DATE_OF_BIRTH, ALIAS=DOB, FORMAT=MDYY,$

45 Copyright 2007, Information Builders. Slide 45 JOINS – One to Many Kids - Data EMP_ID LASTNAME CHILDNAME DATE_OF_BIRTH ------ -------- --------- ------------- 000000010 VALINO ANTHONY 12/31/1980 000000010 VALINO ANNE 11/09/1979 000000010 VALINO ARTHUR 06/01/1982 000000010 VALINO ASTRIC 05/03/1991 000000030 CASSANOVA JOHN 05/07/1993 000000040 ADAMS MARY 08/01/2000 000000060 PATEL SAM 07/05/1998 000000070 SANCHEZ SAMANTHA 08/04/1997 EMP_ID LASTNAME CHILDNAME DATE_OF_BIRTH ------ -------- --------- ------------- 000000010 VALINO ANTHONY 12/31/1980 000000010 VALINO ANNE 11/09/1979 000000010 VALINO ARTHUR 06/01/1982 000000010 VALINO ASTRIC 05/03/1991 000000030 CASSANOVA JOHN 05/07/1993 000000040 ADAMS MARY 08/01/2000 000000060 PATEL SAM 07/05/1998 000000070 SANCHEZ SAMANTHA 08/04/1997

46 Copyright 2007, Information Builders. Slide 46 JOINs – One to One Spice - Master FILENAME=SPICE, SUFFIX=FOC SEGNAME=SPOUSEI, SEGTYPE=S1 FIELDNAME=PIN, ALIAS=ID, FORMAT=A9, INDEX=I,$ FIELDNAME=LASTNAME, ALIAS=SLN, FORMAT=A15,$ FIELDNAME=SPOUSENAME, ALIAS=SFN, FORMAT=A10,$ FIELDNAME=SPOUSESSN, ALIAS=SSN, FORMAT=A9,$ FILENAME=SPICE, SUFFIX=FOC SEGNAME=SPOUSEI, SEGTYPE=S1 FIELDNAME=PIN, ALIAS=ID, FORMAT=A9, INDEX=I,$ FIELDNAME=LASTNAME, ALIAS=SLN, FORMAT=A15,$ FIELDNAME=SPOUSENAME, ALIAS=SFN, FORMAT=A10,$ FIELDNAME=SPOUSESSN, ALIAS=SSN, FORMAT=A9,$

47 Copyright 2007, Information Builders. Slide 47 JOINs – One to One Spice - Data PIN LASTNAME SPOUSENAME SPOUSESSN --- -------- --------- ---------- 000000010 VALINO ABIGAIL 000000011 000000030 CASSANOVA EDWARD 000000032 000000040 ADAMS BRIAN 000000043 000000060 PATEL KEITH 000000064 000000070 SANCHEZ EDWARD 000000075 000000090 PULASKI DAVID 000000096 PIN LASTNAME SPOUSENAME SPOUSESSN --- -------- --------- ---------- 000000010 VALINO ABIGAIL 000000011 000000030 CASSANOVA EDWARD 000000032 000000040 ADAMS BRIAN 000000043 000000060 PATEL KEITH 000000064 000000070 SANCHEZ EDWARD 000000075 000000090 PULASKI DAVID 000000096

48 Copyright 2007, Information Builders. Slide 48 Using Conditional JOINs Insurance Rates File TABLE FILE RATES PRINT * AGE EAGE RATE_PER_THOUSAND --- ---- ----------------- 20 26 $8 27 35 $9 36 42 $11 43 48 $14 49 53 $24 54 60 $30 61 65 $36 66 999 $42 AGE EAGE RATE_PER_THOUSAND --- ---- ----------------- 20 26 $8 27 35 $9 36 42 $11 43 48 $14 49 53 $24 54 60 $30 61 65 $36 66 999 $42

49 Copyright 2007, Information Builders. Slide 49 Non Unique Relationships One-to-Many

50 Copyright 2007, Information Builders. Slide 50 Unique Relationships One-to-One

51 Copyright 2007, Information Builders. Slide 51 Using Conditional JOINs

52 Copyright 2007, Information Builders. Slide 52 JOINS – One to Many Inner JOIN using SET ALL PIN LASTNAME FIRSTNAME CHILDNAME --- -------- --------- --------- 000000010 VALINO DANIEL ASTRIC ARTHUR ANNE ANTHONY 000000030 CASSANOVA LOIS JOHN 000000040 ADAMS RUTH MARY 000000060 PATEL DORINA SAM 000000070 SANCHEZ EVELYN SAMANTHA PIN LASTNAME FIRSTNAME CHILDNAME --- -------- --------- --------- 000000010 VALINO DANIEL ASTRIC ARTHUR ANNE ANTHONY 000000030 CASSANOVA LOIS JOHN 000000040 ADAMS RUTH MARY 000000060 PATEL DORINA SAM 000000070 SANCHEZ EVELYN SAMANTHA

53 Copyright 2007, Information Builders. Slide 53 JOINS – One to Many Direct INNER/LEFT OUTER Join Availability  WEBFOCUS Release 7.1 and above  FOCUS Release 7.6 and above Files/databases supported  FOCUS, XFOCUS  Relational  VSAM  ADABAS

54 Copyright 2007, Information Builders. Slide 54 JOINs – One to One Unique JOIN with SET ALL EMP_ID ------ 000000010 000000030 000000040 000000060 000000070 PIN --- 000000010 000000020 000000030 000000040 000000050 000000060 000000070 000000080 000000090 000000100 Reguires WHERE test to screen out short path records

55 Copyright 2007, Information Builders. Slide 55 Conditional JOINs Insurance Rates – Another Approach JOIN FILE EMPDATA1 AT BIRTHDATE TO ONE FILE RATES AT AGE AS J1 WHERE EMPDATA1.BAGE GE RATES.AGE; END -RUN -STEP2 TABLE FILE EMPDATA1 PRINT PIN BIRTHD BAGE RATE BY AGE AS 'MINIMUM AGE' END JOIN FILE EMPDATA1 AT BIRTHDATE TO ONE FILE RATES AT AGE AS J1 WHERE EMPDATA1.BAGE GE RATES.AGE; END -RUN -STEP2 TABLE FILE EMPDATA1 PRINT PIN BIRTHD BAGE RATE BY AGE AS 'MINIMUM AGE' END

56 Copyright 2007, Information Builders. Slide 56 Conditional JOINs Insurance Rates – Listing MINIMUM AGE PIN BIRTHDATE BAGE RATE_PER_THOUSAND ----------- --- --------- ---- ----------------- 20 000001020 07/24/1975 26 $8 000001030 04/17/1978 23 $8 000001040 05/07/1977 24 $8 000001050 03/20/1978 24 $8 000001060 03/06/1979 23 $8 000001070 03/10/1981 21 $8 000001090 04/08/1979 22 $8 000001120 04/08/1979 22 $8 000001140 04/24/1978 23 $8 27 000001010 07/17/1972 29 $9 00000108W 02/19/1974 28 $9 000001100 05/21/1973 28 $9 000001110 05/16/1974 27 $9 36 000000010 07/20/1959 42 $11 000000040 05/08/1960 41 $11 MINIMUM AGE PIN BIRTHDATE BAGE RATE_PER_THOUSAND ----------- --- --------- ---- ----------------- 20 000001020 07/24/1975 26 $8 000001030 04/17/1978 23 $8 000001040 05/07/1977 24 $8 000001050 03/20/1978 24 $8 000001060 03/06/1979 23 $8 000001070 03/10/1981 21 $8 000001090 04/08/1979 22 $8 000001120 04/08/1979 22 $8 000001140 04/24/1978 23 $8 27 000001010 07/17/1972 29 $9 00000108W 02/19/1974 28 $9 000001100 05/21/1973 28 $9 000001110 05/16/1974 27 $9 36 000000010 07/20/1959 42 $11 000000040 05/08/1960 41 $11


Download ppt "Copyright 2007, Information Builders. Slide 1 JOIN, MATCH and MORE– Making the Connections Walter F. Blood Technical Director, FOCUS Division June, 2009."

Similar presentations


Ads by Google