233
WebSphere® QualityStage User Guide Version 8 SC18-9922-00

25520509 Quality Stage 8 0 User Guide

Embed Size (px)

Citation preview

Page 1: 25520509 Quality Stage 8 0 User Guide

WebSphere® QualityStage

User Guide

Version 8

SC18-9922-00

���

Page 2: 25520509 Quality Stage 8 0 User Guide
Page 3: 25520509 Quality Stage 8 0 User Guide

WebSphere® QualityStage

User Guide

Version 8

SC18-9922-00

���

Page 4: 25520509 Quality Stage 8 0 User Guide

Note

Before using this information and the product that it supports, be sure to read the general information under “Notices and

trademarks” on page 213.

© Ascential Software Corporation 2004, 2005.

© Copyright International Business Machines Corporation 2004, 2006. All rights reserved.

US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract

with IBM Corp.

Page 5: 25520509 Quality Stage 8 0 User Guide

Contents

Chapter 1. Introduction to WebSphere

QualityStage . . . . . . . . . . . . . 1

WebSphere QualityStage work flow . . . . . . . 1

Analyzing source data quality . . . . . . . 2

Data reformatting and conditioning . . . . . . 2

Generating match frequency data . . . . . . 2

Ensuring data integrity . . . . . . . . . . 3

Consolidating and creating a survive record . . . 4

Preparing source data . . . . . . . . . . . 5

Chapter 2. Analyzing source data . . . . 7

The Character Investigate option . . . . . . . 7

The Word investigate option . . . . . . . . . 8

Setting up to generate investigation reports . . . . 8

Setting up an investigate job . . . . . . . . 9

Configuring the source data file . . . . . . 10

Configuring the Investigate stage . . . . . . 10

Configuring the target file . . . . . . . . 15

About Stage Properties . . . . . . . . . . 16

Setting stage properties . . . . . . . . . 16

Configure the Mapping tab . . . . . . . . 17

Investigation reports . . . . . . . . . . . 18

Report format for the Investigate stage . . . . 19

Creating Investigation reports . . . . . . . 20

Running and viewing the report . . . . . . 21

Chapter 3. Managing rule sets . . . . . 23

Creating rule sets . . . . . . . . . . . . 23

Copying rule sets . . . . . . . . . . . . 23

Provisioning rule sets . . . . . . . . . . . 24

Rule set files . . . . . . . . . . . . . . 24

Rule set customization with override object types . 24

Selecting override object types to modify rule

sets . . . . . . . . . . . . . . . . 25

Copying overrides . . . . . . . . . . . 31

Modifying overrides . . . . . . . . . . 32

Deleting overrides . . . . . . . . . . . 32

Standardization rule set tester . . . . . . . . 32

Testing a domain-preprocessor rule set . . . . 32

Testing domain-specific or validation rule sets . . 33

Selecting a rule set editor . . . . . . . . . . 34

Using a default rule set editor . . . . . . . 34

Chapter 4. Conditioning data . . . . . 35

Creating the Standardize stage job . . . . . . . 35

Standardize rule sets . . . . . . . . . . 36

Setting up the Standardize job . . . . . . . . 41

Configuring the Standardize stage job . . . . . 42

Standardizing international address files . . . . . 44

Standardize and correct international address

data . . . . . . . . . . . . . . . . 44

Setting up WAVES or MNS jobs . . . . . . 45

Configuring the WAVES or MNS stage job . . . 45

Chapter 5. Generating frequency

information . . . . . . . . . . . . . 49

About the Match Frequency stage . . . . . . . 49

Creating the Match Frequency job . . . . . . . 50

Setting up the Match Frequency job . . . . . 50

Configuring the Match Frequency stage . . . . 51

Chapter 6. Defining and testing match

criteria . . . . . . . . . . . . . . . 55

Limiting record pairs with blocking . . . . . . 55

Creating smaller blocks . . . . . . . . . 56

Matching data strategy . . . . . . . . . . 56

Matching basics . . . . . . . . . . . . 56

Using the Match Designer . . . . . . . . . 59

Creating an Unduplicate Match specification . . 59

Create a reference match specification . . . . 60

Configure and update the Match specification . . . 61

Update configuration information . . . . . . 62

Defining special variables . . . . . . . . . 62

A Match Pass . . . . . . . . . . . . . . 63

Creating a new pass . . . . . . . . . . 63

Specify blocking variables . . . . . . . . 64

Adding matching commands . . . . . . . 64

Assigning match pass cutoffs . . . . . . . 68

Using the match pass holding area . . . . . 69

Aligning data display of Reference Match

columns . . . . . . . . . . . . . . 69

Testing and reviewing match passes . . . . . . 70

Navigating the frequency/weight histogram . . 71

Using data search . . . . . . . . . . . 72

Compare weights between rows . . . . . . 74

Reviewing statistics for a pass . . . . . . . 75

Reviewing total statistics . . . . . . . . . 76

Chapter 7. Grouping records that share

attributes . . . . . . . . . . . . . . 79

About the Unduplicate Match stage . . . . . . 79

Unduplicate Match stage workflow . . . . . 79

Setting up an Unduplicate Match job . . . . . . 80

Configuring the Unduplicate Match stage . . . . 81

Selecting match types . . . . . . . . . . 81

Selecting output options . . . . . . . . . 82

Chapter 8. Matching data from dual

sources . . . . . . . . . . . . . . 85

Reference Match stage workflow . . . . . . . 85

How to use the Reference Match stage . . . . . 86

Set up the Reference Match job . . . . . . . . 87

Configure the Reference Match stage . . . . . . 87

Chapter 9. Creating a survived record 89

Creating a survival record . . . . . . . . . 90

Setting up a survive job . . . . . . . . . . 91

Configuring the Survive job . . . . . . . . . 91

© Copyright IBM Corp. 2004, 2006 iii

Page 6: 25520509 Quality Stage 8 0 User Guide

Defining simple survive rules . . . . . . . 92

Defining complex survive expressions . . . . 93

Applying survive rules . . . . . . . . . . 94

About the Survive stage rule processing . . . . 94

Rule syntax . . . . . . . . . . . . . 95

Chapter 10. Blocking and matching

concepts . . . . . . . . . . . . . . 99

About record linkage . . . . . . . . . . . 99

One-to-one matching examples . . . . . . 100

Many-to-one matching examples . . . . . . 100

Grouping records into sets . . . . . . . . 101

Classifying record pairs . . . . . . . . . 102

About blocking . . . . . . . . . . . . . 103

Blocking strategies . . . . . . . . . . . 104

Selecting the matching variables . . . . . . . 106

Estimating probabilities . . . . . . . . . 107

Reverse matching . . . . . . . . . . . 110

Special variable properties (VARTYPE) . . . . . 111

Chapter 11. Match comparisons . . . 113

ABS_DIFF comparison . . . . . . . . . . 113

AN_DINT comparison . . . . . . . . . . 114

AN_INTERVAL comparison . . . . . . . . 115

CHAR comparison . . . . . . . . . . . 115

CNT_DIFF comparison . . . . . . . . . . 115

D_INT comparison . . . . . . . . . . . 116

D_USPS comparison . . . . . . . . . . . 117

DATE8 comparison . . . . . . . . . . . 117

DELTA_PERCENT comparison . . . . . . . 118

DISTANCE comparison . . . . . . . . . . 119

INT_TO_INT comparison . . . . . . . . . 119

INTERVAL_NOPAR comparison . . . . . . . 120

INTERVAL_PARITY comparison . . . . . . . 121

LR_CHAR comparison . . . . . . . . . . 121

LR_UNCERT comparison . . . . . . . . . 122

MULT_EXACT comparison . . . . . . . . . 123

MULT_RANGE comparison . . . . . . . . 123

MULT_UNCERT comparison . . . . . . . . 123

NAME_UNCERT comparison . . . . . . . . 124

NUMERIC comparison . . . . . . . . . . 125

PREFIX comparison . . . . . . . . . . . 125

PRORATED comparison . . . . . . . . . . 125

TIME comparison . . . . . . . . . . . . 126

UNCERT comparison . . . . . . . . . . . 127

USPS comparison . . . . . . . . . . . . 127

USPS_DINT comparison . . . . . . . . . . 128

USPS_INT comparison . . . . . . . . . . 130

Chapter 12. The stage editor interface 131

Showing stage validation errors . . . . . . . 134

The stage page . . . . . . . . . . . . . 134

General tab . . . . . . . . . . . . . 135

Properties tab . . . . . . . . . . . . 135

Advanced tab . . . . . . . . . . . . 137

Link ordering tab . . . . . . . . . . . 138

NLS map tab . . . . . . . . . . . . 138

NLS locale tab . . . . . . . . . . . . 138

Input page . . . . . . . . . . . . . . 139

Input General tab . . . . . . . . . . . 139

Input Properties tab . . . . . . . . . . 139

Input Partitioning tab . . . . . . . . . 139

Input tab Format tab . . . . . . . . . . 141

Input page Columns tab . . . . . . . . . 149

Advanced tab . . . . . . . . . . . . 161

Output page . . . . . . . . . . . . . . 162

General tab . . . . . . . . . . . . . 162

Properties tab . . . . . . . . . . . . 162

Format tab . . . . . . . . . . . . . 162

Output page columns tab . . . . . . . . 170

Mapping tab . . . . . . . . . . . . 171

Advanced tab . . . . . . . . . . . . 172

Chapter 13. Describing rule set files 175

Features and benefits of rule sets . . . . . . . 175

Dictionary file format . . . . . . . . . . . 176

Field types . . . . . . . . . . . . . 177

Classification table . . . . . . . . . . . 178

Threshold weights . . . . . . . . . . . 179

The null class . . . . . . . . . . . . 179

Pattern-action file . . . . . . . . . . . . 179

Pattern matching principles . . . . . . . 180

Tokens and classification . . . . . . . . 180

Pattern-action file structure . . . . . . . . 182

Rule set description file (.PRC) . . . . . . . 183

Lookup tables (.TBL) . . . . . . . . . . . 183

Override object types . . . . . . . . . . . 183

Chapter 14. About standardize rule

sets . . . . . . . . . . . . . . . 185

Country identifier rule set . . . . . . . . . 185

Country code delimiters . . . . . . . . . 185

Output file . . . . . . . . . . . . . 185

Domain pre-processor rule sets . . . . . . . 186

Input file . . . . . . . . . . . . . . 186

Domain-preprocessor rule sets . . . . . . . 186

Domain-preprocessor file names . . . . . . 187

Domain-preprocessor dictionary file . . . . . 188

Domain masks for domain-preprocessor rule

sets . . . . . . . . . . . . . . . . 189

Upgrading preprocessor rule sets . . . . . . 190

About domain-specific rule sets . . . . . . . 191

Domain-specific file names . . . . . . . . 191

Dictionary file columns . . . . . . . . . 192

Validation rule sets . . . . . . . . . . . 193

Validation file names . . . . . . . . . . 193

VDATE rule set . . . . . . . . . . . . 194

VEMAIL rule set . . . . . . . . . . . 196

VPHONE rule set . . . . . . . . . . . 197

VTAXID rule set . . . . . . . . . . . 199

User modification subroutines . . . . . . . . 201

Country identifier user subroutines . . . . . 201

Domain pre-processor user subroutines . . . . 201

Domain-specific user subroutines . . . . . . 202

Chapter 15. ISO territory codes . . . . 203

Accessing information about IBM . . . 211

Contacting IBM . . . . . . . . . . . . . 211

Accessible documentation . . . . . . . . . 211

iv WebSphere QualityStage User Guide

Page 7: 25520509 Quality Stage 8 0 User Guide

Providing comments on the documentation . . . 212

Notices and trademarks . . . . . . . 213

Notices . . . . . . . . . . . . . . . 213

Trademarks . . . . . . . . . . . . . . 215

Index . . . . . . . . . . . . . . . 217

Contents v

Page 8: 25520509 Quality Stage 8 0 User Guide

vi WebSphere QualityStage User Guide

Page 9: 25520509 Quality Stage 8 0 User Guide

Chapter 1. Introduction to WebSphere QualityStage

IBM® WebSphere® QualityStage includes a set of stages, a Match Designer, and related files that provide a

development environment within the WebSphere DataStage® and QualityStage Designer for building jobs

to cleanse data. This environment lets you test your matching and blocking strategies before running

match jobs, and lets you manage and edit rules.

The WebSphere QualityStage functionality is available as either a stand-alone subset of WebSphere

DataStage or as an add-on to WebSphere DataStage. This functionality offers the full power and flexibility

of the WebSphere DataStage parallel execution framework and connectivity stages.

The WebSphere QualityStage components include the Match Designer, for designing and testing match

passes, and the following WebSphere QualityStage stage types:

v Investigate

v Standardize

v Match Frequency

v Reference Match

v Unduplicate Match

v Survive

WebSphere QualityStage accepts all basic data types.

WebSphere QualityStage work flow

For data cleansing, WebSphere QualityStage provides a work flow where data is processed within each

stage. The results are evaluated, reprocessed, or used as input for the next stage.

On the Designer client parallel canvas, you build a QualityStage job. Each job uses a Data Quality stage

(or stages) to process the data according to the requirements of the stage.

Thorough knowledge of the workflow can help streamline your data cleansing projects. You cleanse data

using a four-phase approach:

v Phase One. Allows you to understand business goals by translating high-level directives into specific

data cleansing assignments and to make assumptions about the requirements and structure of the

target data.

v Phase Two. Helps you identify errors and validates the contents of columns in a data file. Then you

use the results to refine how you are doing your business practices.

v Phase Three. Allows you to condition the source data, match the data for duplicates or cross-references

to other files, and determine the surviving record.

v Phase Four. Uses the results to evaluate how your organization maintains its data management and to

ensure that corporate data supports the company’s goals.

An understanding of the mission that satisfies the business goals of your company can help you define

the requirements and structure of the target data. This knowledge also helps you determine the level of

data quality that your data needs to meet. This insight provides a context to help you make the

appropriate decisions about the data throughout the workflow.

© Copyright IBM Corp. 2004, 2006 1

Page 10: 25520509 Quality Stage 8 0 User Guide

Analyzing source data quality

You can use the Investigate stage to help you understand the quality of the source data and clarify the

direction of succeeding phases of the workflow. In addition, it indicates the degree of processing you will

need to create the target re-engineered data.

Investigating data identifies errors and validates the contents of fields in a data file. This lets you identify

and correct data problems before they corrupt new systems.

Investigate parses and analyzes free-form and single-domain columns by determining the number and

frequency of unique values, and classifying or assigning a business meaning to each occurrence of a

value within a column. The Investigate stage performs the following tasks:

v Uncovers trends, potential anomalies, metadata discrepancies, and undocumented business practices

v Identifies problem areas

v Proves or disproves assumptions made about the data

v Verifies the reliability of columns proposed as matching criteria

After the Investigate stage, you need to evaluate the results which can help in planning the rest of the

workflow.

Related concepts

Chapter 2, “Analyzing source data,” on page 7You use the Investigate stage to analyze the quality of the source data. The Investigate stage helps you

determine the business rules that you can use in designing your data cleansing application.

Data reformatting and conditioning

Standardizing data involves moving free-form data (columns that contain more than one data entry) into

fixed columns and manipulating data to conform to standard conventions. The process identifies and

corrects invalid values, standardizes spelling formats and abbreviations, and validates the format and

content of the data.

The Standardize stage builds on the interpretation of the data during the Investigate stage. The

Standardize stage uses the same prebuilt tables and rule sets that the Investigate stage used to investigate

the data to standardize the data. Standardize reformats data from multiple systems and creates a

consistent data presentation with fixed and discrete columns, according to your company requirements.

The Standardize stage processes the data with the following outcome:

v Creates fixed-column, addressable data

v Facilitates effective matching

v Enables output formatting

WebSphere QualityStage lets you transform any data type into your desired standards. It standardizes

data by applying consistent representations, correcting misspellings, and incorporating business or

industry standards. Standardize stage formats data, placing each value into a single-domain column (a

column that contains one data entry) and transforming each single-domain column into a standard

format.

Related concepts

Chapter 4, “Conditioning data,” on page 35Standardizing data ensures that the source data is internally consistent, that is, each data type has the

same kind of content and format.

Generating match frequency data

The Match Frequency stage generates frequency data that tells you how often a particular value appears

in a particular column.

2 WebSphere QualityStage User Guide

Page 11: 25520509 Quality Stage 8 0 User Guide

The Match Frequency stage takes input from a database, file, or processing stage, and generates the

frequency distribution of values for columns in the input data. This stage provides results used by the

Match Designer and match stages, however it allows you to generate frequency data independent of

executing the matches.

You can generate frequency data using any data that provides the columns needed by a match. Then, the

generated frequency data flows into a match stage or is stored for later use, or both.

Related concepts

Chapter 5, “Generating frequency information,” on page 49The Match Frequency stage processes frequency data independently from executing a match.

Ensuring data integrity

Matching identifies duplicate records in one file and builds relationships between records in multiple

files. Relationships are defined by business rules at the data level.

Matching ensures data integrity. With the Match Designer and the Match stages (Reference Match and

Unduplicate Match), you can perform the following tasks:

v Identify duplicate entities (such as customers, suppliers, products, parts) within one or more files

v Create a consolidated view of an entity

v Perform house holding

v Establish cross-reference links

v Enrich existing data with new attributes from external sources

You can apply probabilistic matching technology to any relevant attribute for evaluating user-defined

columns, parts of columns, or even individual characters. You can also assign agreement or disagreement

weights to key data elements based on factors such as frequency distribution, discriminating value, or

reliability.

This functionality gauges the number of differences in a column, to account for errors such as

transpositions (for example, in national ID numbers). It can exactly match records character-by-character

or find and match non exact records with a probable likelihood that the two records match, in the

absence of common keys.

You can create customized match specifications using the Match Designer, specify its inputs, and where

to send the output. The Match specification is added to the flow of the WebSphere QualityStage job you

are creating.

Related concepts

Chapter 6, “Defining and testing match criteria,” on page 55

The Match Designer

Matching is an iterative process that uses passes to identify matching columns. You define the columns

that must match and how similar they must be.

The Match Designer provides a centralized location for the repetitive process of defining a match,

running it against sample data, viewing data results and statistics, and fine-tuning the match till you

achieve your matching objectives.

Information presented in the Match Designer is rich in metadata. Tool tips provide useful information

and additional details are available through menus and toolbars.

You can create multiple match specifications that include one or more passes. Each pass is defined

separately and can be stored for reuse. Within each pass of a match specification, you define the blocking

Chapter 1. Introduction to WebSphere QualityStage 3

Page 12: 25520509 Quality Stage 8 0 User Guide

columns and match commands. You can run each pass against test data and view the results in a variety

of graphic displays. You can also use frequency information generated by the Match Frequency stage to

help create your match specifications.

The Unduplicate Match stage

The Unduplicate Match stage declares all records with weights above the match cutoff value, duplicates.

With the Unduplicate Match stage you can locate duplicate records in a single file. You can also make

available all records including the duplicates to the next pass. With every pass after the second pass, the

match stage groups duplicate records from the two passes.

The Unduplicate Match stage processes and groups the data into a single file and locates all records that

apply to the same individual, household, or event. For this job, you use only one data source.

Related concepts

Chapter 7, “Grouping records that share attributes,” on page 79The Unduplicate Match stage processes records into a single output that share common attributes.

The Reference Match stage

The Reference Match stage matches reference data to source data using a variety of match processes.

The Reference Match stage lets you run four types of matches on the source data and reference data.

v Many-to-one. Any reference source record can match many data source records. Any one data source

record can only match one reference source record.

v Many-to-one Multiple. Each reference source record that has the same weight as the matched pair

when it is scored against the data record is flagged as a duplicate record. Any one data source record

may match more than one reference source record.

v Many-to-one Duplicates. Similar to the Many-to-one Multiple option, except that additional reference

source records that match to a level above the duplicate cutoff value are flagged as duplicates. This

means that records with lower weights than the match weight can be flagged as duplicates.

v One-to-one. Matches a record on the data source to only one record on the reference source. A record

on the reference source can only match to one data source record.

The output of the Reference Match stage includes master records, clerical review records, duplicates, and

residuals.

Related concepts

Chapter 8, “Matching data from dual sources,” on page 85The Reference Match stage takes data from two input sources, acts on one of four different types of

matches, and outputs data to six links.

Consolidating and creating a survive record

The Survive stage allows you to specify the columns and column values from the group of input records

that create the output record.

The Survive stage consolidates duplicate records and creates a ″best choice″ example of the matched data

so you can populate the columns of surviving records with the best available data. It implements the

business and mapping rules, creating the necessary output structures for the target application and

identifies columns that do not conform to load standards.

Working with groups of matched records, the Survive stage performs the following actions:

v Supplies missing values in one record with values from other records on the same entity

v Resolves conflicting data values on an entity according to your business rules

v Enrichs existing data with data from external sources, if desired

v Customizes the output to meet specific business and technical requirements

4 WebSphere QualityStage User Guide

Page 13: 25520509 Quality Stage 8 0 User Guide

Related concepts

Chapter 9, “Creating a survived record,” on page 89The Survive stage constructs column values from groups of related or duplicate records and stores the

column values in the survived record (the best result) from each group.

Preparing source data

As you plan your project, you need to prepare the source data to realize the best results.

WebSphere QualityStage accepts all basic data types (non-vector, non-aggregate) other than binary.

Non-basic data types cannot be acted upon in WebSphere QualityStage except for vectors in the match

stages. However, non-basic data types can be passed through the WebSphere QualityStage stages.

Some columns need to be constructed with stages before using them in a WebSphere QualityStage stage.

In particular, create overlay column definitions, array columns, and concatenated columns as explicit

columns within the data before you use them.

For example, rather than declaring the first three characters of a five-character postal code column as a

separate additional column, you could use a Transformer stage to explicitly add the column to the source

data before using it in a WebSphere QualityStage stage.

Note: Be sure to map missing values to null.

The actual data to be matched should conform to the following practices:

v The codes used in columns should be the same for both data source and reference source.

For example, if the Gender column in the data source uses M and F as gender codes, the

corresponding column in the reference source should also use M and F as gender codes (not, for

example, 1 or 0 as gender codes).

v Whatever missing value condition you use (for example, spaces or 99999) must be converted in

advance to the null character. This can be done using the WebSphere DataStage Transformer stage. If

you are extracting data from a database, make sure that nulls are not converted to spaces.

Use the Standardize stage to standardize individual names or postal addresses. Complex conditions can

be handled by creating new columns before matching begins.

For example, a death indicator could be created by examining the disposition status of the patient. In a

case where one matches automobile crashes to hospital data, the E codes on the hospital record can be

examined to see if a motor vehicle accident is involved. A new variable (MVA) can be set to one. Set all

other status information to zero. On the crash file, generate a column that is always a one (since all

crashes are motor vehicle accidents). If both files report a motor vehicle accident, the columns match (one

to one). Otherwise the column do not match (one to zero).

Chapter 1. Introduction to WebSphere QualityStage 5

Page 14: 25520509 Quality Stage 8 0 User Guide

6 WebSphere QualityStage User Guide

Page 15: 25520509 Quality Stage 8 0 User Guide

Chapter 2. Analyzing source data

You use the Investigate stage to analyze the quality of the source data. The Investigate stage helps you

determine the business rules that you can use in designing your data cleansing application.

The Investigate stage looks at each record, column by column, analyzing the data content of the columns

that you specify. The Investigate stage has the following capabilities:

v Assesses the content of the source data. This stage organizes, parses, classifies, and analyzes patterns in

the source data. It operates on both single-domain data columns as well as free-form text columns such

as address columns.

v Links to a single input from any database connector supported by WebSphere DataStage, a flat file or

data set, or from any processing stage. It is not necessary to restrict the data to fixed-length columns,

but all input data must be alphanumeric.

v Links to one or two outputs, depending on whether you are preparing one or two reports. Character

investigations produce a column frequency report and Word investigations produce both pattern and

token reports. Each stage performs a single investigation.

The Investigation reports, that you can generate from the IBM Information Server Web console using data

processed in the Investigate job, can help you evaluate your data and develop better business practices.

Related concepts

“Analyzing source data quality” on page 2You can use the Investigate stage to help you understand the quality of the source data and clarify the

direction of succeeding phases of the workflow. In addition, it indicates the degree of processing you

will need to create the target re-engineered data.

Chapter 14, “About standardize rule sets,” on page 185Rule sets are applied when records are standardized to organize input data.

The Character Investigate option

You can examine a single-domain column using Character investigation to analyze and classify data.

Character investigation provides you with the option of investigating multiple columns individually

(Character Discrete) or integrated as one unit of data (Character Concatenate).

You can investigate more than one single-domain column with a single Investigate stage. You have the

option of investigating multiple columns individually (Character Discrete) or integrated as one unit of

data (Character Concatenate).

The investigation process generates a column frequency report that presents information about frequency

values for a specific column.

Character Discrete Investigate

The Character Discrete investigation analyzes multiple single-domain columns. This option allows you to

investigate a large number of columns with little effort.

A Character Discrete investigation produces a column frequency report that treats each column as a

separate token for frequency count and pattern analysis.

© Copyright IBM Corp. 2004, 2006 7

Page 16: 25520509 Quality Stage 8 0 User Guide

Character Concatenate Investigate

The Character Concatenate option performs cross-column correlations between multiple columns to

determine relationships. With this option, you select two or more columns from anywhere in the record

(the columns do not have to be contiguous) to be investigated as a single data column.

To create the pattern analysis, the tokens are concatenated with no spaces between the tokens.

Related concepts

“Investigation reports” on page 18The data from the Investigate job creates investigation reports.

The Word investigate option

Word Investigate parses free-form data columns into individual tokens, that are analyzed to create

patterns.

In addition, Word Investigate provides frequency counts on the tokens. To create the patterns, Word

Investigate uses a set of rules for classifying personal names, business names, and addresses.

You can determine how you want tokens to be evaluated by the investigation process by selecting what

appears in the frequency reports.

Word Investigate generates two reports, frequency pattern and frequency word in the Web console.

This section describes the following:

v Using rule sets

v Setting up a Word investigation

v Specifying advanced options

Related concepts

“Report format for the Investigate stage” on page 19The columns in the Investigate stage output data are interpreted by the report template and written

by using the column format. The data for each report is output on a different link from the stage.

Setting up to generate investigation reports

To generate investigation reports requires that you set up and configure the Investigate stage job.

Before you set up an Investigate stage job, prepare and specify the source data files.

To set up investigation reports:

1. Set up the Investigate stage job on the Designer client canvas.

2. Configure the Investigate stage job by determining one of the following types of investigations to

perform:

v Character investigation, used on single-domain columns.

v Word investigation, used on free-form columns.The type of investigation you choose also determines the type of report you generate.

3. Specify the columns you want to investigate.

Be sure these columns were defined appropriately when you prepared the data for the Investigate

stage.

4. Do one of the following depending on the type of investigation you chose:

v For a Character investigation, select the type of investigation and prepare masks for each column.v For a Word investigation, select the rule set to use in classifying patterns or words.

8 WebSphere QualityStage User Guide

Page 17: 25520509 Quality Stage 8 0 User Guide

5. Set Stage properties.

6. Compile the Investigate stage job.

7. Run the job.

When you run the Investigate stage, you output the data to the reports you requested.

Related tasks

“Setting up a character investigation” on page 11A character investigation analyzes multiple single-domain columns. For a concatenate character

investigation, select columns from anywhere in a record to be investigated as a single data column.

“Setting up a word investigation” on page 13A word investigation parses free-form data columns into individual tokens, which are analyzed to

create patterns. Word investigation uses a set of rules for classifying personal names, business names,

and addresses.

“Setting stage properties” on page 16

Setting up an investigate job

You organize the stages on the Designer client canvas with an input source data file, one or two output

files, and one or more Investigate stages linked together.

When you set up the investigate job, you can add various stages and files. The output of the Investigate

stage is to a file. With this example of setting up an investigate job, you are adding the following icons to

the canvas:

v source data file

v three target files

v two Investigate stages

v DataStage Copy stage

To set up an Investigate job:

1. Create a new parallel job or open an existing parallel job.

2. If the Palette is not displayed, click View → Palette to display it.

3. From the Palette, click Data Quality → Investigate stage icon.

4. Grab the icon and drop it toward the middle of the canvas.

You can add more than one Investigate stage if you add a Copy stage (see step 6) to duplicate the

data going to each Investigate stage.

5. To set up the input and output stages, perform the following steps:

a. On the Palette, click File → SequentialFile icon.

b. Grab the Sequential file and drop it to the left of the Investigate stage on the canvas.

This file becomes the data source file.

c. On the Palette, click File → Data Set and drop it to the right of the Investigate stage on the canvas.

This file becomes the output file.

d. For a Word Investigation, add a second Data Set file to the right of the Investigate stage and

beneath the output file.

This file becomes another output file for a second report. Use two output stages only if you are

doing a Word investigation and creating both pattern and token reports.

Generally your source data comes from a file or database, but you can also use other stages to

preprocess it before inputting it to the Investigate stage.6. If you want to add a Copy stage, click Palette → Processing to locate a Copy stage.

7. Grab the Copy stage and drop it in front of the Investigate stages to copy data to various outputs.

8. To add links to the stages, perform the following steps:

Chapter 2. Analyzing source data 9

Page 18: 25520509 Quality Stage 8 0 User Guide

a. Right click the source file and drag from the source file to the first stage on the canvas (Copy or

Investigate).

If the link appears red, you need to extend the line until it touches each stage you are linking.

b. In the same manner, connect all the stages that you placed on the canvas.9. Rename the stages and links by following these steps:

a. Click on the stage default name. A box surrounds the name.

b. Type a significant name in the box. Do not use spaces.

c. Click outside the box to set the new name.

You need to configure the stages to set up the columns that you wish to investigate.

Related tasks

“Configuring the Investigate stage”The Investigate stage takes the data from the source file and analyzes each record column-by-column.

Configuring the source data file

You configure the Sequential file as the source data file.

To configure the source file:

1. Double-click the input Sequential file to open the Properties page.

2. Click Source → File to activate the File field.

3. Click

in the File field and select Browse for File from the menu.

4. Locate the directory where you installed the source data.

5. Click the file to select it. The file name appears in the File field.

6. Click View Data.

7. Click the file to select it. This button runs the Data Browser to show you the data within the source

data file. The names of the columns are displayed across the top of the Data Browser.

8. Next, click Column.

9. Click Load and the Table Definitions window opens. You will load the column data into the source

file.

10. Click Table Definitions and locate the directory where the table definitions are stored.

11. Click OK to close the Columns page.

Configuring the Investigate stage

The Investigate stage takes the data from the source file and analyzes each record column-by-column.

You must set up the investigate job before you configure the Investigate stage.

When you configure the Investigate stage, you determine whether to use a Character investigation or a

Word investigation.

To configure the Investigate stage:

1. Double-click the Investigate stage.

The Character Discrete Investigate page opens as the default. The available columns from the input

link are shown in the Available Data Columns pane. From this window, you can configure one of the

following pages:

10 WebSphere QualityStage User Guide

Page 19: 25520509 Quality Stage 8 0 User Guide

Option Description

“Setting stage properties” on page 16 Stage properties prepares the framework for cleansing

the data using the Investigate stage.

“Setting up a character investigation” A Character investigation explores a single-domain

column (contains one data element such as a pension

identity number, telephone number, date, or postal code).

The result of a Character investigation provides a

frequency distribution and pattern analysis of the tokens.

“Setting up a word investigation” on page 13 A Word investigation parses free-form data columns into

individual tokens. To create the patterns, Word

investigation uses a set of rules for classifying personal

names, business names, and addresses.

2. Click Stage Properties

Before you run the Investigate stage, you need to set the Stage Properties.

3. Select an investigate option.

4. After configuring the Investigate stage, click Compile.

5. Click Run to process the job.

Related tasks

“Setting up an investigate job” on page 9You organize the stages on the Designer client canvas with an input source data file, one or two

output files, and one or more Investigate stages linked together.

Setting up a character investigation

A character investigation analyzes multiple single-domain columns. For a concatenate character

investigation, select columns from anywhere in a record to be investigated as a single data column.

The following procedure applies to both character concatenate and character discrete investigations.

To set up a character investigation:

1. In the Investigate stage window, click Character Discrete Investigate or Character Concatenate

Investigate.

2. Under Available Data Columns, select a column to investigate.

3. Click Add To Selected Columns.

The column appears in the Scheduled Process box and the Mask Column Selection window opens.

By default, all characters at each position in the column are set to T (type).

4. For every position in the column, adjust the mask according to one of the following options:

v To set all characters in the column to display one investigation category, click the appropriate

button (All T, All C, or All X).

v To set the mask for individual characters in the column, click a particular character until the

desired mask type appears. 5. Click OK to close the Mask Column Selection window after you set the mask.

6. Repeat steps 2-5 for additional columns you want to investigate.

v For a character discrete investigation, each selected column is investigated separately.

v For a character concatenate investigation, all selected columns are concatenated, based on the

chosen masks. 7. To change the number of samples or the frequency cutoff, click Advanced Options.

The Investigate Advanced Options window opens.

8. In the window, select one of the following options:

v Specify the number of samples of source data to include in the report for each pattern.

Chapter 2. Analyzing source data 11

Page 20: 25520509 Quality Stage 8 0 User Guide

v To skip patterns that appear infrequently, specify a frequency cutoff level. Patterns with

frequencies under the specified level do not appear in the report. 9. Click OK.

You can change these settings at any time.

10. Click OK to close the stage.

Related tasks

“Setting up to generate investigation reports” on page 8To generate investigation reports requires that you set up and configure the Investigate stage job.

Change the mask for any given column:

1. Select the column in the Scheduled Process pane.

2. Click Change Mask.

3. Edit the mask as described in step 4 on page 11 in the previous procedure.

Remove a selected column from the investigation:

1. Select the column in the Scheduled Process pane.

2. Click Delete. The column is returned to the Available Columns pane.

Column masks:

For character investigations, you use column masks to select the characters that are included in the

frequency count or pattern analysis and the characters that are displayed as part of samples in the

pattern report.

To use the Column Mask Selection window, apply a mask symbol to each character in the selected

columns. You can use the following mask characters:

v C. Displays the character and includes it in the frequency count and pattern analysis.

Use the C column mask to inspect the values in your columns and to certify that false data does not

appear in a column such as 99999 for a postal code or 111111111 for a national ID number.

v T. Displays the type of character and includes the character in the frequency count and pattern

analysis.

Use the T column mask when you want to inspect the type of data in a character position, for example,

telephone numbers nnn-nnn-nnnn or (nnn)-nnn-nnnn.

v X. Skips the character, does not include it in the frequency count or the pattern analysis, but includes it

in the sample data.

Use the X column mask to include data from the column in the sample but not as a token or part of

the token for investigation.

For example, you set up an Investigate job to analyze the first two characters of a ZIP code (USA

postal code) to determine the frequency distribution based on a state (each state is defined by the first

two characters of the ZIP code). You would set the column mask for the ZIP code to CCXXX. The pattern

column of the pattern report displays only the first two characters. The frequency count would be

based on the number of records in the file that start with the first two characters of the ZIP code. In

the value column, you would see all five characters of the ZIP code in the sample.

You can also use the X column mask with the Character Concatenate option to specify one or more

columns to appear as part of the sample only. From the previous example, you could also select the

state columns setting the column mask to X for all characters. The pattern report displays the

frequency counts for the first two characters of the ZIP code and the full five characters of the ZIP code

along with the state in the sample column.

12 WebSphere QualityStage User Guide

Page 21: 25520509 Quality Stage 8 0 User Guide

Setting up a word investigation

A word investigation parses free-form data columns into individual tokens, which are analyzed to create

patterns. Word investigation uses a set of rules for classifying personal names, business names, and

addresses.

The following procedure explains how to set up a word investigation.

To set up a word investigation:

1. In the Investigate Stage window, click Word Investigate.

The window displays the Word Investigate columns.

2. In the Rule Set field, browse to select a rule set for your investigation from Repository →

Standardization Rules → Country → Rule Sets.

3. From Available Columns, select one or more columns, and then click

to move them to the

Standard Columns pane.

To change the column selection, select one or more columns in the Standard Columns pane and click

Delete Column.

4. To rearrange the order of the standard columns, select a column and click Move Down or Move Up.

5. To change the investigation options, click Advanced Options. The Investigate Advanced Options

window opens.

If necessary, make the changes and click OK.

6. In the Output data set area, select one or both options:

v Pattern Report. Outputs the columns of a frequency pattern report to one link

v Token Report. Outputs the columns of a frequency word report to one link

You can change which link each report goes to when you edit the stage properties. You cannot send

columns for both reports to the same link.7. Click OK when you have completed setting up your word investigation.

You need to edit the stage properties before you compile and run the job.

Related concepts

“Report format for the Investigate stage” on page 19The columns in the Investigate stage output data are interpreted by the report template and written

by using the column format. The data for each report is output on a different link from the stage. Related tasks

“Setting up to generate investigation reports” on page 8To generate investigation reports requires that you set up and configure the Investigate stage job.

Using rule sets:

Word investigation provides prebuilt rule sets for investigating patterns on names and postal addresses.

The rule sets for United States data are shown in the following examples:

v USNAME (for individual and organization names).

v USADDR (for street and mailing addresses).

v USAREA (for city, state, ZIP code, and so on).

The rule sets are defined for a specific country. The rule set for a country is preceded by a two-character

identifier. For example, rule sets for French data would include FRNAME, FRADDR, and FRAREA.

Chapter 2. Analyzing source data 13

Page 22: 25520509 Quality Stage 8 0 User Guide

When you specify Word investigation, you select the rule by which you want your columns investigated,

and then you select one or more columns to examine.

Word Investigation parses the free-form data column into individual elements or tokens, which is a word,

a number, or a mixture separated by one or more spaces or special characters. The process compares each

token with classified tokens in the Classification table for that rule set.

If the token matches the word in the Classification table, Investigate assigns the class for that token to

represent it in the pattern. For tokens that do not match any classified token, Investigate examines the

pattern and assigns classes as shown in the following table.

Class Description

^ Numeric containing all digits, such as 1234

? Unknown token containing one or more words, such as

CHERRY HILL

> Leading numeric containing numbers followed by one or

more letters, such as 123A

< Leading alpha containing letters followed by one or more

numbers, such as A3

@ Complex mix containing an alpha and numeric

characters that do not fit into either of the above classes,

such as: 123A45 and ABC345TR

0 Null

- Hyphen

\ Slash

& Ampersand

# Number sign

( Left parenthesis

) Right parenthesis

~ Special containing special characters that are not

generally found in addresses, such as !, \, @, ~, %, and

so forth

Related concepts

Chapter 13, “Describing rule set files,” on page 175Rule sets are fundamental to the standardization process. They determine how fields in input records

are parsed and classified into tokens.

Specify advanced options for word investigations:

When you configure the advanced options for a word investigation, you determine how the token report

appears by the choices you make.

First, set up a word investigation.

You control which tokens appear in the token report and how they appear. You can also specify record

delimiters. You do this by choosing from the options in the Investigate Advanced Options window.

To select advanced options:

1. Click Advanced Options. The Investigate Advanced Options window opens.

2. Select one or more of the following options for controlling how tokens appear in the report:

14 WebSphere QualityStage User Guide

Page 23: 25520509 Quality Stage 8 0 User Guide

v Treat Successive Unclassified Words As One Word. Strips out the spaces between unclassified words

(concatenating them into one word).

For example, CHARLES DE GAULLE becomes CHARLESDEGAULLE. This option reduces the number of

patterns in both the token and pattern reports.

v Include Unclassified Numeric Tokens. Lists all number tokens.

For example, when investigating an address column, you probably do not want to see house and

apartment numbers but you might want to see numbers if you are investigating part numbers.

v Include Unclassified Alphas. Includes all word tokens that are not in the Classification table. If

you do not select this option, the report only includes tokens from the Classification table.

v Include Mixed Types and Punctuated Words. Includes tokens with leading or trailing numerics,

such as 109TH and 42ND.3. Select one of the following options for displaying tokens in the report:

v Standard Abbreviation. The standardized representation of the token from the Classification table.

(This is the default choice.)

v Original Spelling. The form as the token appears in the data file.

v Corrected Spelling. Corrects any misspellings as long as the Classification table has a weight

assigned to the token.4. In the Other Options area, edit the lists to add or remove special characters:

v Separator List. Lists all special characters that separate tokens.

v Strip List. Lists all special characters from the Separator List that are not to be tokens. For example,

the pound sign (#) by default is not part of this list; therefore, APT#3A is three tokens: APT, #, and 3A.

Note: The space special character is included in both lists. Click Restore Defaults to reset all values

to their default values.5. In the Statistical Options area, select the output of the pattern reports from one of the following:

v No. of Samples. Specify the number of samples of source data you want to include in the report

for each pattern. By default, WebSphere QualityStage provides one sample for each unique pattern

in the pattern report. You can increase the number of samples displayed for each unique token. For

example, you might want to see four samples for each token.

v Frequency Cutoff. If you do not want to report on patterns that appear very infrequently, specify a

frequency cutoff level. Patterns with frequencies under the specified level do not appear in the

report. The default setting of one means that all patterns are displayed. You might not want to see

the low frequency patterns, the ones that appear only once or twice.6. Click OK to approve your changes and close the window.

Related concepts

“Report format for the Investigate stage” on page 19The columns in the Investigate stage output data are interpreted by the report template and written

by using the column format. The data for each report is output on a different link from the stage.

Configuring the target file

The data is written to a target file when you run a job. There are two types of target files, a Sequential

file and a Data Set file.

Before you configure the target file, set up the job.

To configure the target file:

1. Double-click the target file on the Designer canvas.

2. Click Target → File.

3. Specify the file where you want to write the data produced by running the job.

4. Click OK.

Chapter 2. Analyzing source data 15

Page 24: 25520509 Quality Stage 8 0 User Guide

About Stage Properties

Stage properties prepares the framework for re-engineering data using the Investigate stage.

When you set stage properties, you can gain access to the following information:

v The input columns available for investigation

v The columns output with each report

v The link to which each report is written

v Parallel processing options

v Buffering options

The Stage editor has the following tabs:

v Stage Page. Lets you specify general information about the stage.

v Input Page. Lets you specify details about the data being input for investigation.

v Output Page. Lets you specify details about the report columns being output.

In addition, each Page has tabs that are tailored to that stage.

The Stage page includes the following tabs:

v General. Provides a text box in which you can enter an optional description of the stage. This is

valuable information for others who may need to understand your job or its metadata.

v Properties. Specifies how the stage operates.

v Advanced. Specifies how the stage executes.

v Link Ordering. Changes which output links get a certain report. Used in the Word Investigate when

you want to produce pattern and token reports.

Select an output link name and click the up or down arrow.

Setting stage properties

It is best to configure your input columns before setting up word or character investigations. If you set

up a character or word investigation but then change the available columns on the Input page, you may

need to set up the investigation again.

To set stage properties:

1. In the Investigate Stage window, click Stage Properties.

2. To configure the Stage Properties page, follow these steps:

a. Click General to add a description of the Investigate stage.

b. Click Properties to add optional properties.

c. Click Advanced to set the following actions:

v Execution mode. Specify Parallel or Sequential.

v Compatibility mode. Specify Auto, Combinability, or Don’t combine.

v Preserve partitioning. Specify Propagate, Clear, or Set.d. Click Link Ordering to set which output links get a certain report.

3. To configure the Input page, follow these steps:

a. Click General to add a description of the stage.

b. Click Partitioning to specify details about how the incoming data is partitioned or collected before

it is acted on.

c. Click Columns to view the metadata from the source data file.

16 WebSphere QualityStage User Guide

Page 25: 25520509 Quality Stage 8 0 User Guide

d. Click Advanced to view how WebSphere DataStage buffers data being input to or output from

this stage.

By default, WebSphere DataStage buffers data in such a way that no deadlocks can arise. A

deadlock situation occurs when stages are mutually dependent and are waiting input from another

stage and cannot output until it is received.4. To configure the Output stage, follow these steps.

a. Click General to add a description of the stage.

b. Click Mapping to map columns to the stage output.

c. Click Columns to load the output data columns.

d. Click Advanced to view how WebSphere DataStage buffers data being input to or output from

this stage.5. Click OK to close the Properties window.

Related concepts

Chapter 12, “The stage editor interface,” on page 131The Parallel job stage editors all use a generic user interface.

Related tasks

“Setting up to generate investigation reports” on page 8To generate investigation reports requires that you set up and configure the Investigate stage job.

“Configure the Mapping tab”Specifies the columns that comprise an output report.

“Creating the Standardize stage job” on page 35The Standardize stage creates multiple columns that you can send along with the input columns to

the output link.

Configure the Mapping tab

Specifies the columns that comprise an output report.

You do not need to load column definitions into the output stage or stages of your Investigate job in

advance. Instead, use the Mapping tab to specify which report columns are output.

When you set up a character investigation or a frequency pattern report for a word investigation, the

Mapping tab automatically displays all the columns for the column frequency report or the frequency

pattern report.

v If you choose to create a frequency word report for a word investigation, three columns prepared for

the frequency word report appear in the Columns list.

v If you choose to create both a frequency pattern report and a frequency word report for a word

investigation, the pattern report columns appear in the Mapping tab when you select the appropriate

output link in the Output name field. The token report columns then appear in the Mapping tab when

you select the other link in the Output name field.

To map column metadata to the output link:

1. Click the Mapping tab.

2. In the Output name field, select an output link name.

3. Arrange the columns in the order in which you want them to appear in the report as follows.

a. Drag each column from the Columns list on the left to the Link pane on the right.

b. Or, select multiple columns.

c. Right-click and select Copy.

d. From the Link pane, right-click and select Paste to move the columns to the Link pane.4. If you are outputting two reports from a Word investigation, select the other link from the Output

name field and repeat step 3.

Chapter 2. Analyzing source data 17

Page 26: 25520509 Quality Stage 8 0 User Guide

Note: When you drag columns in this manner to create output table definitions, the table definitions

are not automatically saved in the repository. For best metadata management, on the Columns

tab of the Output page, click Save and save the newly created table definition.

Once you have configured the Mapping tab and set other desired properties on the Output page, you are

ready to save, compile, and run your Investigate job.

Related tasks

“Setting stage properties” on page 16

“Creating the Match Frequency job” on page 50You can use frequency information when you create and test match specifications and passes using

the Match Designer.

“Saving the Match Frequency table definition” on page 52Running the Match Frequency stage creates a table definition that you should save to use with the

Unduplicate or Reference Match stages.

“Configuring the Unduplicate Match stage” on page 81You must configure the Unduplicate Match stage before you run the job.

“Set up the Reference Match job” on page 87A Reference Match job requires that you add the Reference Match stage to the Designer client canvas,

and link it to data and reference sources and output stages.

“Configuring the Survive job” on page 91You need to configure the Survive stage and Sequential files before you run a Survive job.

“Creating a survival record” on page 90You set up and configure the Survive stage to create a survived record.

Investigation reports

The data from the Investigate job creates investigation reports.

You access the Investigation reports from the IBM Information Server Web console. The Investigate stage

produces the following graphical reports:

Column Frequency Report

Presents information about frequency values by using statistical analysis. You create the data for

this report by running a Character Discrete Investigate stage job or Character Concatenate

Investigate stage job.

Frequency Pattern Report

Presents pattern information for a specific column by using statistical analysis. You create the

data for this report by running a Word Pattern Investigate stage job.

Frequency Word Report

Presents the most commonly occurring word values from columns that are analyzed for patterns.

You create the data for this report by running a Word Token Investigate stage job.

You can request a report or multiple reports to run on a specific schedule. You can customize each report

by adding your company logo, a description of the report, the report name, and name of the originator of

the report. The report is written to a specific file location in your choice of the following formats:

v DHTML

v HTML

v PDF

v PS

v RTF

v TXT

v XLS

18 WebSphere QualityStage User Guide

Page 27: 25520509 Quality Stage 8 0 User Guide

v XML Related concepts

“The Character Investigate option” on page 7You can examine a single-domain column using Character investigation to analyze and classify data.

Character investigation provides you with the option of investigating multiple columns individually

(Character Discrete) or integrated as one unit of data (Character Concatenate).

Report format for the Investigate stage

The columns in the Investigate stage output data are interpreted by the report template and written by

using the column format. The data for each report is output on a different link from the stage.

These types of reports are produced by the Investigate stage:

v The Frequency Pattern and Column Frequency reports are prepared for both word and character

investigations. The reports have the following columns:

Column Name

The name of the input column in which the pattern is found for character discrete

investigations or the names of all selected input columns for other investigations.

Summary

A graph that represents the count of values and the pattern.

Pattern Value

A generated pattern that describes the data.

Count A frequency count indicating how many times this pattern was encountered across the entire

input data.

Percent

The percentage of the input data that matches this pattern.

Cumulative %

The percentage of a portion of the input data that matches the pattern in order to focus on the

most prevalent patterns. For example: the first 80 patterns represents 60% of the total.

Sample

One or more examples of input data that match the pattern.v The Frequency Word report is prepared only for word investigations. It analyzes individual token or

word values that are found in the selected input columns. The report has the following columns:

Word Token Summary

A graph that represents the count of values and the pattern.

Word Token

An individual token or word value that is found inside the selected input columns.

Count A frequency count that indicates how many times this token is encountered across the entire

input data.

Classification status

The classification of the token that is based on the selected rule set classification table.

(Unclassified tokens, if selected, get a question mark ? for alpha, or a carat ^ for numeric.)

By default, WebSphere QualityStage provides one sample for each unique pattern in the Pattern Value

column of the Pattern Frequency report. You can click Advanced Options in the Investigate stage and

choose a larger number of samples to display for each unique pattern. For example, you may want to see

four samples for each pattern.

Chapter 2. Analyzing source data 19

Page 28: 25520509 Quality Stage 8 0 User Guide

In both the Pattern Frequency and Word Frequency reports, you can limit the displayed frequencies. If

you do not want to see the low frequency patterns, the ones that appear only once or twice, you can set a

cutoff count for the frequency within Advanced Options.

Related concepts

“The Word investigate option” on page 8Word Investigate parses free-form data columns into individual tokens, that are analyzed to create

patterns. Related tasks

“Setting up a word investigation” on page 13A word investigation parses free-form data columns into individual tokens, which are analyzed to

create patterns. Word investigation uses a set of rules for classifying personal names, business names,

and addresses.

“Specify advanced options for word investigations” on page 14When you configure the advanced options for a word investigation, you determine how the token

report appears by the choices you make.

Creating Investigation reports

You use Investigation reports to evaluate the results of your Investigate job and to help develop the next

stage of your data cleansing process.

First, create an Investigate job to process the input data that is then written to a target file.

To create an Investigation report:

1. Open the Web console and click Reporting.

2. From the Navigation pane, click Report Templates → QualityStage → View Report Templates.

3. Select any one of the reports.

4. From the right task pane, click Create New Report. The report template for the report you selected

is displayed.

5. In the Name field, type a name for the report. The name is displayed in the generated reports as the

Report Name.

6. In the Description field, enter a description for the report. The description is displayed in the

generated reports as the Report Description.

The Creator field contains the name that was entered in the Web console User Name field as the

report originator.

7. Optional: Specify a folder location for the report in the Save Within field.

8. Enter the values in the Report Settings parameters.

a. Select the WebSphere QualityStage project from the list.

b. Select your job from Job Source, and click Retrieve Values to populate the Stage Name field

with related stages from the selected job.

c. Select the stage from Stage Name for the job that is selected in step a, and click Retrieve Values

to populate the Column Name field with related columns from the selected stage.

d. Select one or more of the available columns from Column Name for the stage that is selected in

step b.

e. Select Pattern or Count from Order by (Pattern/Count). This selection orders the report data by

using pattern values or count of values.

f. Select Ascending or Descending from Sort By (Descending/Ascending). This selection defines

the sorting order from step d. The report is sorted according to this value.

g. Choose between 1 and 10 samples from No of Samples. The number determines the number of

samples that are displayed in the report. The default number is 1.

h. Choose between 1 and 25 pattern values from No Of Patterns in Graph.

20 WebSphere QualityStage User Guide

Page 29: 25520509 Quality Stage 8 0 User Guide

i. Optional: Enter a comment or description in the Customer Description field.

9. Click Format to open the Output Format parameter and select the format for your report.

10. Click Settings to specify Expiration date and History policy.

11. Click Save or Save and Close to save the report settings in the metadata repository and to add it to

a new report.

Related tasks

“Running and viewing the report”You select Reports in the Web Console Navigation pane to access the reports that you create.

Running and viewing the report

You select Reports in the Web Console Navigation pane to access the reports that you create.

First, you need to select the parameter settings for the report.

To run and view a report:

1. From the Navigation pane, click Reports → View Reports and select the report that you want to run.

If required parameters are missing, the Parameters pane opens. The missing parameter values are

displayed in white.

2. From the task pane, click Run Now. The report is queued for running. When the report run starts, the

run date and run duration appear in the Running pane.

3. To refresh the run statistics, click Refresh.

4. After the report processes, click Reports → View Reports in the Navigation pane.

5. From the list of reports, select a report.

6. From the task pane, click View Report. The report is displayed in the format that you selected when

you created the report.

Related tasks

“Creating Investigation reports” on page 20You use Investigation reports to evaluate the results of your Investigate job and to help develop the

next stage of your data cleansing process.

Chapter 2. Analyzing source data 21

Page 30: 25520509 Quality Stage 8 0 User Guide

22 WebSphere QualityStage User Guide

Page 31: 25520509 Quality Stage 8 0 User Guide

Chapter 3. Managing rule sets

You can modify existing rules and add new rules in the Rules Management window.

You apply rule sets in the Standardize stage or Investigate stage to determine how columns are parsed

and classified into tokens. You can also apply rule sets for international stages such as Worldwide

Address Verification and Enhancement System (WAVES) and Multinational Standardize Stage (MNS).

With all of these stages, you can use rules management.

You can modify the following standardization rule sets:

v Domain preprocessor

v Domain specific

v Validation

After you modify or add a rule set, you can test it in rules management. When you modify or add a

business rule set, you can test it to ensure that it defines the data cleansing business rule that you need.

The information that you enter in override tables is applied to rule sets across all projects.

Related concepts

Chapter 13, “Describing rule set files,” on page 175Rule sets are fundamental to the standardization process. They determine how fields in input records

are parsed and classified into tokens.

Creating rule sets

You can create a unique rule set that applies to a particular business problem.

To create a new rule set:

1. In the Designer client Repository, right-click the Standardization Rules folder and select New → Data

Quality → Ruleset to open the New RuleSet window.

2. From the New RuleSet window, type a rule set name in the Specify the new RuleSet name field.

3. Add a folder to the repository for all the rule sets that you create.

4. Navigate to the rule set folder.

5. Type a description of your rule set in the Specify a description (optional) text field.

6. Click OK to add the new rule set to your folder.

Copying rule sets

You can make a copy of any rule set that you can then modify.

To copy a rule set:

1. In the Designer client Repository, select a rule set by clicking Standardization Rules → Country → Rule

Set.

2. Right-click that rule set and select Create copy.

3. Right-click and select Rename to change the name of your copied rule set.

4. Drag the new rule set to your folder for custom rule sets in the repository.

© Copyright IBM Corp. 2004, 2006 23

Page 32: 25520509 Quality Stage 8 0 User Guide

Provisioning rule sets

You need to provision new, copied, or customized rule sets to the Designer client before you can compile

a job that uses them.

To provision rule sets:

1. Open the Designer client, if it is not already open.

2. Locate the rule set that you want to use within the Repository → Standardization Rules →

YourCustomized folder.

3. Select the rule set.

4. Right-click and select Provision All from the menu.

The rule set is now available to be used in a job.

Rule set files

The Rule Management window shows the standard rule sets including Overrides.

The Rule sets used in the Standardize, Investigate, and international stages are essential to the formation

of data structures that provide comprehensive addressability to all data elements necessary to meet data

storage requirements and facilitate effective matching. The rule set includes the following files:

v Classifications. The Classification Table uses the standardization process to identify and classify key

words such as titles, street name, street type, and directions. The Classification Table includes the name

of the rule set and the classification legend.

v Dictionary. The Dictionary file defines the fields for the output of a particular rule set. The file

contains a list of domain, matching, and reporting columns. Each column is identified by a

two-character abbreviation such as CN for City Name.

v Patterns. The Pattern-Action file consists of a series of patterns and associated actions. The patterns

from an input file are processed in the order as they appear in the pattern-action file.

v Overrides. Click to access windows to add, copy, edit, or delete overrides to rules sets.

v Lookup Tables. Click to view information on the rule set.

Rule set customization with override object types

Rule sets define the way that WebSphere QualityStage processes the input data. You can change their

content by using override object types.

The override object types let you do the following tasks:

v Add new rules to the repository.“Creating rule sets” on page 23

v Create your own custom conditioning rules that are stored in a separate folder. “Selecting override

object types to modify rule sets” on page 25

The preprocessor, domain-specific, and validation override object types include the rule set file names

with three characters appended indicating each override object type. For example,

The WAVES and MNS override object types include eight characters. The first two characters indicate the

ISO country code abbreviation, the second two are ″MN″ for multinational, the third two are ″AD″ for

address, and the last two indicate the override object type.

When you first install WebSphere QualityStage, the override object types are empty.

24 WebSphere QualityStage User Guide

Page 33: 25520509 Quality Stage 8 0 User Guide

Selecting override object types to modify rule sets

In the Rules Management window, Overrides provides editing windows to customize rule sets for your

business requirements.

WebSphere QualityStage provides five types of rule set overrides:

v Classification. “Modifying rules with the classification override”

v Input and field pattern override for domain-preprocessor rule set. “Modifying the override objects for

input and column pattern” on page 26

v Input and field text override for domain-preprocessor rule set. “Modifying override objects for input

and column text” on page 27

v Input and unhandled pattern override for domain-specific rule set. “Modifying the override objects for

input and unhandled pattern” on page 28

v Input and unhandled text override for domain-specific rule set. “Modifying object overrides for input

and unhandled text” on page 29

To add an override rule set to the repository:

1. From the Designer client repository, click Standardization Rules → Country → Rule Sets.

2. Select a rule set to modify.

3. Right-click the rule set and select Properties to open the Rules Management window.

4. From the Rules Management window, click Overrides to add an override for that rule set.

Modifying rules with the classification override

From the Rules Management window, you can modify the classification override.

The Designer client provides the appropriate rule set depending on which rule set (Domain Pre-Processor,

Domain-Specific, Validation, WAVES, or MNS) you want to modify.

After you create the override, the next time you run the rule set, the word tokens are classified with the

designations you specified and appear with the appropriate standard form.

To modify rule sets using the classification override:

1. In the Input Token field, type the word for which you want to override the classification, such as

SSTREET.

Type the word as it appears in the input file.

2. In the Standard Form field, type the standardized spelling of the token, such as ST.

3. From the Classification menu, select the one-character tag that indicates the class of the token word.

4. In the Comparison Threshold field, type a value that defines the degree of uncertainty to tolerate in

the spelling of the token word.

For example, the following table shows values for the comparison threshold.

Range of Comparison Threshold Values Description

Blank or no value Token must match identically

700 High tolerance (minimum value)

750 and 800 Allows for one or two letter transformations depending

on the length of the word (common threshold value)

950 Zero tolerance (maximum value)

5. Click Add to add the override to the pane at the bottom of the window.

6. Click OK to close the window.

Related concepts

Chapter 3. Managing rule sets 25

Page 34: 25520509 Quality Stage 8 0 User Guide

“Standardize rule sets” on page 36The Standardize stage has three categories of rule sets: Domain Pre-processor, Domain Specific, and

Validation.

Modifying the override objects for input and column pattern

For the domain-preprocessor rule sets, the input pattern and column pattern overrides modify the

override object (*.IPO) for the input pattern and the override object (*.CPO) for the column pattern.

The pattern overrides have the following characteristics:

v With the input pattern override, you can specify token overrides that are based on the input pattern.

The input pattern overrides take precedence over the pattern-action file. Input pattern overrides are

specified for the entire input pattern.

v With the column pattern override, you can specify token overrides that are based on one column

pattern. These overrides can be specified only for an entire column pattern.

For example, you have the following input pattern:

N^+TA+S^

You must add an override to the input pattern object to move the N^T string to the address domain and

the A+S^ string to the area domain.

To add a pattern override:

1. Right-click a domain-preprocessor rule set such as USPREP and select Properties to open the Rules

Management window.

2. Double-click Overrides.

3. Click the Input Pattern or Column Pattern tab, as appropriate.

4. From the Classification Legend list, select the first token, such as N, and then click Append this code

to current pattern.

The token is added to the Enter Input Pattern field. The token also is displayed in the Current Pattern

List with the default A (Address Domain) under the Override Code column.

5. For each token in the input pattern, repeat Step 4, such as for tokens ^, +, T, A, +, S, and ^.

You can also type the tokens directly into the Enter Input Pattern field. If you use the list, it verifies

that you enter the correct values.

Related concepts

“Pattern matching principles” on page 180The concepts of pattern matching and the reasons for matching is required to obtain correct

standardization in all instances.

Changing a token’s override code:

You can change a token’s override code in the Current Pattern List.

To change a token’s override code:

1. Select the Token in the Current Pattern List.

2. Select a domain from the Dictionary Fields list.

For example, for the pattern N^+TA+S^, the N^+T string can stay at the default A-Address Domain.

Change the A+S^ string to the R-Area Domain.

Note: Alternatively, from the Current Pattern List, select the token from the Token column and the

override code from the Override Code column that you want to use. For example, select A from

the list of tokens, and then select R from the list of override codes.

3. Click Add to add the override to the Override Summary list.

26 WebSphere QualityStage User Guide

Page 35: 25520509 Quality Stage 8 0 User Guide

4. Click OK to save your edits and close the window.

Whenever you run the rule set on the pattern, it is tokenized as you specified.

For example, when running USPREP on the pattern N^+TA+S^, the pattern N^+T is tokenized with the

address domain; the pattern A+S^ is tokenized with the area domain.

Modifying override objects for input and column text

For the domain-preprocessor rule sets, the input text and column text overrides modify the override

object (*.ITO) for the input text and the override object (*.CTO) for the column text.

The input and column text objects have the following characteristics:

v With the input text override, you can specify token overrides that are based on all the input text. These

overrides take precedence over the pattern-action file. Because they are more specific, input text

overrides take precedence over input pattern overrides. Input text overrides are specified for the entire

input text string. Partial string matching is not allowed.

v With the column text override, you can specify token overrides that are based on the input text string.

Since they are more specific, column text overrides also take precedence over column pattern overrides.

You can specify column text overrides only for an entire column text string. You cannot match a partial

string within a column.

For example, you would add an override to the input text object if you wanted to change the name

domain in the following text to the address domain. ZQNAMEZQ is the name domain delimiter and ZQADDRZQ

is the address domain delimiter:

ZQNAMEZQ CHARLES DE GAULLE ZQADDRZQ SQUARE

To override the Input Text:

1. Right-click a domain-preprocessor rule set such as USPREP and select Properties to open the Rules

Management window.

2. Double-click Overrides.

3. Click the Input Text or Column Text tab, as appropriate.

4. In the Enter Input Tokens field, type the domain delimiter and the text for the tokens that you want

to override. For example, type ZQNAMEZQ CHARLES DE GAULLE ZQADDRZQ SQUARE.

Each word that you enter is displayed in the Current Token List with the word itself in the Token

column and the default domain, such as A (Address Domain), in the Override Code column.

5. Select the token, ZQNAMEZQ, for the current domain delimiter of the text you want to override, and then

select the override you want to apply from the Dictionary Fields list. For example, to process the

example text as an address, we do not need to change any of the override codes since both ZQNAMEZQ

and ZQADDRZQ have the same override code.

6. Repeat Step 5 if you need to change additional words.

7. Click Add to add the override to the Override Summary list.

8. Click OK to save your edits and close the window.

When you run the customized rule set on the text, it is processed as you specified. For example, when

you run USPREP on the text ZQNAMEZQ CHARLES DE GAULLE ZQADDRZQ SQUARE, the entire text string is

handled as an address.

Override object types for domain-preprocessor rule sets:

The domain-preprocessor override objects and their abbreviations let you specify your own custom

conditioning rules. These objects are also accessible in the QualityStage interface.

The following table describes the object types that override the standardize domain-preprocessor rule

sets.

Chapter 3. Managing rule sets 27

Page 36: 25520509 Quality Stage 8 0 User Guide

Domain preprocessor override

names Object type abbreviation Example (United States)

Classification N/A USPREP.CLS

Input pattern overrides IPO USPREP.IPO

Input text overrides ITO USPREP.ITO

Column pattern overrides CPO USPREP.CPO

Column text overrides CTO USPREP.CTO

Modifying the override objects for input and unhandled pattern

Input pattern and unhandled pattern overrides for domain-specific rule sets are used to modify the input

pattern (*.IPO) and unhandled pattern (*.UPO) override objects.

The pattern overrides have the following characteristics:

v With the input pattern override, you can specify token overrides that are based on the input pattern.

The input pattern overrides take precedence over the pattern-action file. Input pattern overrides are

specified for the entire input pattern.

v With the unhandled pattern override, you can specify token overrides that are based on the unhandled

pattern. Unhandled pattern overrides work on tokens that are not processed by the pattern-action file.

These overrides are specified only for an entire unhandled pattern. The overrides are not specified for

partial pattern matching.

For example, you override the input pattern object if you want to designate the following pattern:

^+T

The table shows how the pattern is designated.

Pattern token Type Value

^ House number Original

+ Street name Original

T Street type Standard

To add a pattern override:

1. Right-click a domain-specific rule set such as USADDR or a validation rule set such as VTAXID and

select Properties to open the Rules Management window.

2. Double-click Overrides.

3. Click the Input Pattern or Unhandled Pattern tab, as appropriate.

4. From the Classification Legend list, select the first token such as ^ and click Append this code to

current pattern to add the token to the Enter Input Pattern field. The token also is shown under the

Current Pattern List with the default override code AA1 (additional address) information and code 1.

5. Repeat step 4 for the tokens + and T.

6. Under Current Pattern List, select the first row: ^ AA1.

7. From the Dictionary Fields list, select the token that represents the type, for example HN-House

Number.

The selected row in the Current Pattern List changes to ^HN1.

8. Repeat Step 6 and Step 7 for the remaining tokens.

For example, select SN - Street Number for +, and ST - Street Type for T.

9. Select the current pattern from the Current Pattern List, such as T ST1, for the token that you want

to specify the override for.

28 WebSphere QualityStage User Guide

Page 37: 25520509 Quality Stage 8 0 User Guide

10. Click Standard Value.

The row T ST1 changes to T ST2, which indicates that the standard value (see “Action codes for

domain-specific, validation, WAVES, and multinational standardize rule sets” on page 31) from the

Classification table is used for this token in this pattern. The rest of the tokens are left as the original

value.

Every selection or combination of selections under User Override creates a code that appears next to

the selected row in the Current Pattern List.

11. Click Add to add the override to the Override Summary list.

12. Click OK to save your edits and close the window.

Domain-specific override object types:

The domain-specific override objects and their abbreviations let you specify your own custom

conditioning rules. These objects are also accessible in the QualityStage interface.

The following table describes the object types used to override the domain-specific rule sets:

Domain-specific override names Object type abbreviation Example (United States address)

Classification N/A USADDR.CLS

Input pattern overrides IPO USADDR.IPO

Input text overrides ITO USADDR.ITO

Unhandled pattern overrides UPO USADDR.UPO

Unhandled text overrides UTO USADDR.UTO

Modifying object overrides for input and unhandled text

For the domain-specific rule sets, the input text and unhandled text overrides modify the override object

(*.ITO) for input text and the override object (*.UTO) for unhandled text.

The input and unhandled text objects have the following characteristics:

v With the input text override, you can specify token overrides that are based on all the input text. These

overrides take precedence over the pattern-action file. Because they are more specific, input text

overrides take precedence over input pattern overrides. Input text overrides are specified for the entire

input text string. Partial string matching is not allowed.

v With the unhandled text override, you can specify rule overrides that are based on the unhandled text

string. Unhandled text overrides work on tokens that are not processed by the pattern-action file.

Because they are more specific, unhandled text overrides take precedence over unhandled pattern

overrides. Unhandled text overrides can be specified only for the entire unhandled text string. Partial

string matching is not allowed.

For example, the following address contains two tokens (Street and Floor) that use standard values from

the classification object:

100 Summer Street Floor 15

The remaining tokens are not associated with standard values from the classification object and use their

original data values. The following table shows the address represented as tokens before you add any

overrides:

Text Type Value

100 House number Original

Summer Street name Original

Street Street type Standard

Chapter 3. Managing rule sets 29

Page 38: 25520509 Quality Stage 8 0 User Guide

Text Type Value

Floor Floor type Standard

15 Floor value Original

To add a text override:

1. Right-click a domain-specific rule set such as USADDR or a validation rule set, such as VTAXID, and

select Properties to open the Rules Management window.

2. Double-click Overrides.

3. Click the Input Text or Unhandled Text tab, as appropriate.

4. In the Enter Input Tokens field, type the text string that you want to define a pattern override for,

such as 100 SUMMER STREET FLOOR 15.

Each text token is displayed in the Current Token List under the Token column. Next to each token,

the default code of AA (additional address) information plus the action code 1 is shown.

5. Select the first text token, such as 100.

6. From the Dictionary Fields list, select the code that you want, such as HN - House Number.

The AA1 next to 100 in the Current Token List changes to HN1.

7. Repeat Step 5 and Step 6 for each of the remaining text tokens, for example:

Text Type

Summer SN - Street Name

Street ST - Street Suffix Type

Floor FT - Floor Type

15 FV - Floor Value

8. Select the text token in the Current Token List, such as STREET, and then click Standard Value.

The row STREET ST1 changes to STREET ST2, indicating that the standard value from the classification

table are used for the token in this text string. The rest of the tokens are left as the original value.

9. Repeat Step 8 for each text token you wish to standardize. For example, repeat Step 8 for the text

token FLOOR.

Every selection or combination of selections under User Override creates a code that appears next to

the selected row in the Current Token List.

10. Click Add to add the override to the Override Summary list.

11. Click OK to save your edits and close the window.

Validation override object types:

The validation override objects and their abbreviations let you customize conditioning rule sets.

The following table describes the object types that override the validation rule sets:

Domain-specific override table

names Table type abbreviation Example (United States Address)

Classification N/A VTAXID.CLS

Input pattern overrides IPO VTAXID.IPO

Input text overrides ITO VTAXID.ITO

Unhandled pattern overrides UPO VTAXID.UPO

Unhandled text overrides UTO VTAXID.UTO

30 WebSphere QualityStage User Guide

Page 39: 25520509 Quality Stage 8 0 User Guide

Override object types for WAVES and Multinational addresses:

The WAVES and multinational address override objects and their abbreviations customize conditioning

rule sets.

The following table describes the object types that override the WAVES and multinational address rule

sets:

Multinational and WAVES address

override names Table type abbreviation Example (United States)

Classification N/A USMNAD.CLS

Input pattern IPO USMNAD.IPO

Input text ITO USMNAD.ITO

Unhandled pattern UPO USMNAD.UPO

Unhandled text UTO USMNAD.UTO

Action codes for domain-specific, validation, WAVES, and multinational standardize rule sets:

Actions are performed by the pattern-action file for a given code setting that you select in the

domain-specific text and pattern override panels.

The codes are displayed in the Override Code column of the Current Token List in the domain-specific

text and pattern override panels. You adjust the code settings by making selections in the User Override

pane.

0 (zero)

Drop the current token

1 Append a leading character space and then append the original value of the current token to the

specified data type.

2 Append a leading character space and then append the standard value of the current token to the

specified data type.

3 Append the original value of the current token to the specified data type, without appending a

leading character space.

4 Append the standard value of the current token to the specified data type, without appending a

leading character space.

5 Move all remaining tokens while using their original values to the specified data type. Leave one

character space between each token.

6 Move all remaining tokens while using their standard values to the specified data type. Leave one

character space between each token.

7 Move all remaining tokens to the specified data types, while using their original values. Do not

leave a character space between each token.

8 Move all remaining tokens to the specified data types, while using their standard values. Do not

leave a character space between each token.

Copying overrides

You can duplicate a rule and modify its values.

To copy an override:

1. Select the rule that you to want to duplicate.

Chapter 3. Managing rule sets 31

Page 40: 25520509 Quality Stage 8 0 User Guide

2. Click Copy to copy the values of the override to the Current Token List.

3. Modify the values to create a new override.

4. Click Add to add the override to the Override Summary list.

Modifying overrides

You can modify overrides.

To modify an existing override:

1. Select the override that you want to modify.

2. Click Edit to temporarily move the override values to the respective editing areas in the upper part of

the screen.

3. Modify the values as needed.

4. Click Add to move the override back to the Override Summary list.

Deleting overrides

You can delete overrides.

To delete overrides:

1. Select your overrides.

2. Click Delete to remove the selected overrides from the list.

Standardization rule set tester

The tester lets you quickly test a selected standardize rule set against a one-line test string (a single

record) before you run the rule set against an entire file.

This time-saving option is especially helpful when you plan to use a large input file. When you test the

rule set, you can ensure that the resulting data file performs the way you expect.

You can test domain-preprocessor rule sets, domain-specific rule sets, and validation rule sets with the

tester.

The tester is not available for WAVES and Multinational standardize rule sets.

Testing a domain-preprocessor rule set

You can test a new or modified domain-preprocessor rule set by using the rules management tester.

When you select a domain-preprocessor rule set, such as PREP to test, the tester first populates each Input

String field. Each individual row in a preprocessor rule set test screen has its own history of up to five

previously entered input strings. The Designer client maintains a separate history log for each rule set.

You can enter up to six strings of data to test. If you enter more than one input string, the only

requirement is that they be in the right order and that the delimiter field next to each input string be set.

You can leave blank rows in between.

Note: You must set the delimiter for each input string; you cannot leave it at None. If you attempt to run

the test without specifying a delimiter for each string input, an alert message is displayed.

The input string for preprocessor rule sets is a concatenation of all user-inputted strings that are

separated by the delimiter for each string. So the input file contains one long line that is created by a

concatenated string of input strings and delimiters.

32 WebSphere QualityStage User Guide

Page 41: 25520509 Quality Stage 8 0 User Guide

To test a domain-preprocessor rule set:

1. Right-click a Standardization Rules → Country → Rule Set and select Properties to open the Rules

Management window.

2. Click Test.

3. If needed, type a new path in the Locale field. The standardization tester supports international rules.

If no locale is specified, the tester assumes that you want to use the default locale to which your

computer is set. By specifying a different locale, you can run data against rule sets that are not

designed for the default locale.

4. Enter the input strings that you want to test, or select a previously entered string from the input

string’s menu.

5. Select a Delimiter for each input string that you enter.

6. Click Test this String to start the testing.

If the test finishes successfully, the results are displayed in the bottom grid, which lists each token and

its fields and field descriptions.

7. To stop a test in progress, click Cancel to restore the panel to its previous state.

8. To remove all data from all input boxes, reset the delimiters to None, and click Clear Data.

You can then test the same rule set by using a different set of input strings, or you can use the Rule

Set list to select a different rule set to test.

9. When you finish testing, click Exit.

Testing domain-specific or validation rule sets

You can test a new or modified domain-specific or validation rule set by using the rules management

tester.

When you select a domain-specific or validation rule set, such as ADDR or VTAXID to test, the tester first

populates each Input String field. Each individual row in a domain-specific or validation rule set test

panel has its own history of up to five previously entered input strings. The Designer client maintains a

separate history log for each rule set.

For domain-specific or validation rule sets, you can enter only one input string to test.

To test a domain-specific or validation rule set:

1. Right-click a Standardization Rules → Country → Rule Set and select Properties to open the Rules

Management window.

2. Click Test.

3. Enter the input strings that you want to test, or select a previously entered string from the input

string’s menu.

4. Click Test this String to start the testing.

If the test finishes successfully, the results are displayed in the bottom grid, which lists each token and

its fields and field descriptions.

5. To stop a test in progress, click Cancel to restore the panel to its previous state.

6. To remove the data from the input box and clear the results grid, click Clear Data.

You can then test the same rule set by using a different set of input strings, or you can use the Rule

Set list to select a different rule set to test.

7. When you finish testing, click Exit.

Chapter 3. Managing rule sets 33

Page 42: 25520509 Quality Stage 8 0 User Guide

Selecting a rule set editor

You can modify a rule set using an editor installed on your computer.

Open the Rules Management window.

To select a preferred editor:

1. From the Rules Management window, click Options.

2. From the Rules Management Options window, browse for your preferred editor.

3. Select the editor and click OK.

Using a default rule set editor

You can select a default editor if you do not have an installed editor.

1. Right-click a rule set that you have made a copy of.

2. Select Open in → Notepad. You can now read and edit the rule set.

34 WebSphere QualityStage User Guide

Page 43: 25520509 Quality Stage 8 0 User Guide

Chapter 4. Conditioning data

Standardizing data ensures that the source data is internally consistent, that is, each data type has the

same kind of content and format.

The Standardize stage uses the data content and placement within the record context to determine the

meaning of each data element. You can coordinate information in data columns such as name, address,

city, state, and postal code.

To correctly parse and identify each element or token, and place them in the appropriate column in the

output file, the Standardize stage uses rule sets that are designed to comply with the name (individual

and business) and address conventions of a specific country. The Standardize rule sets can assimilate the

data and append additional information from the input data, such as gender.

These rule sets are the same as those used in the Investigate stage. You can run the rules out of the box

or customize them to process obscure data not covered by the standard rule sets.

Standardize ensures that each data type has the same content and format. Standardized data is important

for the following reasons:

v Effectively matches data

v Facilitates a consistent format for the output data

The Standardize stage parses free-form and fixed-format columns into single-domain columns to create a

consistent representation of the input data.

v Free-form columns contain alphanumeric information of any length as long as it is less than or equal to

the maximum column length defined for that column.

v Fixed-format columns contain only one specific type of information, such as only numeric, character, or

alphanumeric, and have a specific format.

The Standardize stage takes a single input, which can be a link from any database connector supported

by WebSphere DataStage, a flat file or data set, or any processing stage. It is not necessary to restrict the

data to fixed-length columns. Standardize will accept all basic data types (non-vector, non-aggregate)

other than binary.

The Standardize stage has only one output link. This link can send standardized output and the raw

input to any other stage.

Related concepts

“Data reformatting and conditioning” on page 2Standardizing data involves moving free-form data (columns that contain more than one data entry)

into fixed columns and manipulating data to conform to standard conventions. The process identifies

and corrects invalid values, standardizes spelling formats and abbreviations, and validates the format

and content of the data.

Chapter 14, “About standardize rule sets,” on page 185Rule sets are applied when records are standardized to organize input data.

Creating the Standardize stage job

The Standardize stage creates multiple columns that you can send along with the input columns to the

output link.

© Copyright IBM Corp. 2004, 2006 35

Page 44: 25520509 Quality Stage 8 0 User Guide

Any columns from the original input can be written to the output along with additional data created by

the Standardize stage based on the input data (such as a SOUNDEX phonetic or NYSIIS codes). The

Match stage and other stages can use the output from the Standardize stage. You can use any of the

additional data for blocking and matching columns in Match stages.

To create a Standardize job:

1. Specify the input data.

2. Decide which rule sets to use against which columns:

v Select a country rule set included with WebSphere QualityStage to standardize on country postal

code requirements.

v Select a business-intelligence rule set.

v Create your own rule set to standardize non address columns.3. Specify the order of rules.

4. Configure the output columns in the Standardize stage to determine where the output would be sent.

5. Save and compile the Standardize job.

6. Click Run to process the job.

Related concepts

“About the Match Frequency stage” on page 49 Related tasks

“Setting up the Standardize job” on page 41Organize the stages on the Designer client canvas with an input source data file, one output source,

and a Standardize stage linked together.

“Configuring the Standardize stage job” on page 42When you configure the Standardize stage, you apply a rule set to one or more columns.

“Setting stage properties” on page 16

Standardize rule sets

The Standardize stage has three categories of rule sets: Domain Pre-processor, Domain Specific, and

Validation.

The rule sets provided for you in the Standardize stage fall into these categories:

Category Description Number of Rule Sets

Domain Pre-Processor For a specific country, identifies and

assigns a data domain to the name,

address, and area columns in each

record.

You can use the output from this file

as the input to the

country-appropriate Domain-Specific

rule sets.

One for each country

36 WebSphere QualityStage User Guide

Page 45: 25520509 Quality Stage 8 0 User Guide

Category Description Number of Rule Sets

Domain-Specific For a specific country, standardizes

each data domain as follows:

Name including individual names,

organization names, attention

instructions, and secondary names.

Address including unit number,

street name, type, and directionals.

Area including cities, states, and

postal codes (ZIP code in the USA,

for example).

Creates consistent and

industry-standard data storage

structures, and matching structures

such as blocking keys and primary

match keys.

Three for each country

Validation For a specific country, standardizes

and validates the format and value of

common business data including:

Phone Number

Tax ID or Social Security Number

E-mail Address

Date

Four, for USA only

Rule overrides

The rule sets provided with WebSphere QualityStage are designed to provide optimum results. However,

if the results are not satisfactory, you can modify rule set behavior using rule override tables.

Related tasks

“Modifying rules with the classification override” on page 25From the Rules Management window, you can modify the classification override.

Domain preprocessor rule sets

These rule sets evaluate the mixed-domain input from a file for a specific country. Domain-preprocessor

rule sets follow a naming convention that starts with a country abbreviation and ends with prep (an

abbreviation for preprocessor). See the following table for examples.

Rule Set Name Country

USPREP United States

GBPREP Great Britain

CAPREP Canada (English speaking)

These rule sets do not perform standardization but parse the columns in each record and each token into

one of the appropriate domain-specific column sets, which are Name, Area, or Address.

Chapter 4. Conditioning data 37

Page 46: 25520509 Quality Stage 8 0 User Guide

Metadata and domain-preprocessor rule sets

Since input files are rarely domain-specific, these rule sets are critical when preparing a file for

standardization. Columns can contain data that does not match their metadata description as shown in

the following table.

Metadata Label Data Content

Name 1 John Doe

Name 2 123 Main Street Apt. 456

Address 1 C/O Mary Doe

Address 2 Boston, MA 02111

As the column sets and metadata labels do not necessarily provide hard information about data content,

preprocessing categorizes the input data into domain-specific column sets: Name, Address, Area, and

Other.

Domain Name Data Content

Name John Doe

Name C/O Mary Doe

Address 123 Main Street Apt. 456

Area Boston, MA 02111

In addition, other problems can arise if information continues across multiple column sets or more than

one data domain is present within a single column set.

Domain Name Data Content

Name 1 John Doe and Mary

Name 2 Doe 123 Main Str

Address 1 eet Apt. 456 Boston

Address 2 MA 02111

Conventions used in name and address vary from one country to the next so the domain-preprocessor is

configured for a single country.

Domain Name Data Content

Name John Doe and Mary Doe

Address 123 Main Street Apt. 456

Area Boston, MA 02111

Preparing the input data for the domain-preprocessor rule set

The domain-preprocessor rule sets do not assume a data domain with a column position. To insert at

least one metadata delimiter for a column in your input record, use the Standardize Rule Process

window. It is recommended that you delimit every column or group of columns. The delimiter indicates

what kind of data you are expecting to find in the column based on one or more of the following

examples:

v Metadata descriptions

v Investigation results

38 WebSphere QualityStage User Guide

Page 47: 25520509 Quality Stage 8 0 User Guide

v An informed guess

You can use up to six metadata delimited columns in a file.

Delimiter Name Description

ZQNAMEZQ Name delimiter

ZQADDRZQ Address delimiter

ZQAREAZQ Area delimiter

You insert the literal using the Standardize Rule Process window.

Note: If you fail to enter at least one metadata delimiter for the input record, you receive the following

error message: PRE-PROCESSOR ERROR - NO METADATA DELIMITERS WERE SPECIFIED

Related concepts

“Using literals for required values”Literals are symbols or abbreviations that are entered when the value is missing in the record.

Related tasks

“Configuring the Standardize stage job” on page 42When you configure the Standardize stage, you apply a rule set to one or more columns.

Domain-specific rule sets

These rule sets evaluate the domain-specific input from a file for a specific country. There are three

Domain-Specific rules sets for each country.

Rule Set Name Comments

NAME Individual and business names

ADDR Street name, number, unit, and other address information

AREA City, state, region, and other locale information

Validation rule sets

These rule sets validate the values and standardize the format of common business data from a USA

input file.

The following validation rule sets are available with the Standardize stage.

Rule Set Name Comments

VDATE Dates that include day, month, and year

VEMAIL email addresses that have a user, domain, and top-level

qualifier

VPHONE Country-specific phone numbers

VTAXID Tax identity or pension fund identity numbers

Using literals for required values

Literals are symbols or abbreviations that are entered when the value is missing in the record.

If the input records do not include critical entries, you can insert the required values as a literal, which

appears in the output. You insert the literal using the Standardize Rule Process window.

Chapter 4. Conditioning data 39

Page 48: 25520509 Quality Stage 8 0 User Guide

For example, the input records lack a state entry because all records are for the state of Vermont. To

include the state in the standardized records, you would insert the literal VT between the city name and

the postal code.

If input records have an apartment number column containing only an apartment number, you could

insert a # (pound sign) literal between the unit type and the unit value.

Literals cannot contain any spaces and must be inserted between columns. You cannot include two

contiguous literals for a rule set.

The only special characters that you can use in a literal are:

# pound sign

% percentage

^ caret

& ampersand

<> angle brackets

/ slash

For Domain Pre-Processor rule sets, you must insert column delimiters using literals.

Related concepts

“Domain preprocessor rule sets” on page 37

“Records with non-identifiable countries” on page 47If the country identifier rule set cannot identify the country of origin of a record, the rule set adds a

delimiter that consists of a default country code. Related tasks

“Configuring the Standardize stage job” on page 42When you configure the Standardize stage, you apply a rule set to one or more columns.

Standardize processing flow for records for the USA

The following diagram illustrates the Standardize stage processing flow using Domain Pre-Processor and

Domain-Specific rule sets to standardize the records of a USA input file. The same workflow is

representative of other countries used with the Standardize stage.

40 WebSphere QualityStage User Guide

Page 49: 25520509 Quality Stage 8 0 User Guide

Setting up the Standardize job

Organize the stages on the Designer client canvas with an input source data file, one output source, and a

Standardize stage linked together.

The output of the Standardize stage is one set of columns that include both the standardized columns

and the input columns. You can choose to map any or all of these columns to the output link in the

WebSphere QualityStage job.

To set up the Standardize job:

1. Create a new parallel job or open an existing parallel job.

2. If the Palette is not displayed, click View → Palette to display it.

3. From the Palette, click Data Quality and locate the Standardize stage icon.

4. Grab the icon and drop it near the middle of the Designer client canvas.

5. To set up the input and output stages, complete the following steps:

a. On the Palette, click File, and locate the Sequential file icon.

b. Grab the Sequential file and drop it to the left of the Standardize stage on the Designer canvas.

This file becomes the source data file. Your source data comes from a file or database, but you can

also use other stages to preprocess it before inputting it to the Standardize stage.

Chapter 4. Conditioning data 41

Page 50: 25520509 Quality Stage 8 0 User Guide

c. Repeat step a and drop the second Sequential file to the right of the Standardize stage on the

Designer client canvas.

This file becomes the output or target file.6. To add links to the stages, complete the following steps:

a. Right click the source file and drag from the source file to the Standardize stage on the canvas.

If the link appears red, you need to extend the line until it touches each stage you are linking.

b. In the same manner, connect all the stages that you placed on the canvas.7. Rename the stages and links by following these steps:

a. Click on the stage default name. A box surrounds the name.

b. Type a significant name in the box. Do not use spaces.

c. Click outside the box to set the new name.

You need to configure the Standardize stage to set up the columns and rules for processing the data.

Related tasks

“Creating the Standardize stage job” on page 35The Standardize stage creates multiple columns that you can send along with the input columns to

the output link.

“Configuring the Standardize stage job”When you configure the Standardize stage, you apply a rule set to one or more columns.

Configuring the Standardize stage job

When you configure the Standardize stage, you apply a rule set to one or more columns.

Before you can configure the Standardize job, first set up the Standardize job.

A Standardize stage implements one or more standardize processes. A standardize process consists of a

rule set applied to one or more columns. The process may include the use of literals and names handling.

A rule set is used only once in a Standardize stage.

The Standardize Stage window adds and modifies standardize processes.

To configure the Standardize stage:

1. Set up the source data file.

2. Double-click the Standardize stage icon to open the Standardize Stage window.

3. Click New Process to open the Standardize Rule Process window.

4. In Rule Set field, click

.

5. In the Open window, navigate to the Standardization Rules → Rule Set.

6. Locate the rule set you want and select it.

The selected rule appears in the Rule Set field.

7. From the Available Columns list, select one or more columns to which to apply the rule and then

click

to move the selection to the Selected Columns list.

8. If necessary, adjust the order or selection of columns:

a. Select a column in the Selected Columns list.

b. Click Move Up or Move Down. 9. To remove a column from the Selected Columns list, select the column and click Remove Column.

v To add a domain-preprocessor rule set, go to step 10.

42 WebSphere QualityStage User Guide

Page 51: 25520509 Quality Stage 8 0 User Guide

v To add a domain-specific rule set, go to step 11.10. If you are using a domain-preprocessor rule set, you must enter one or more delimiter literals.

To add a literal in the Literal field, follow these steps.

a. Enter a value without spaces.

b. Click

to move the literal to the Selected Columns list.

If you are using domain-specific or validation rule sets, you can also add literals.

c. Continue with step 12.11. If you are using a domain-specific NAME rule set, after you select the rule set and the NAME

column, the Optional NAMES Handling drop-down box becomes available. To apply NAMES

handling, follow these steps.

a. Select one of the following process options:

v Process All as Individual. All columns are standardized as individual names.

v Process All as Organization. All columns are standardized as organization names.

v Process Undefined as Individual. All undefined (unhandled) columns are standardized as

individual names.

v Process Undefined as Organization. All undefined (unhandled) columns are standardized as

organization names.

This option is useful if you know the types of names your input file contains. For instance, if

you know that your file mainly contains organization names, specifying Process All as

Organization enhances performance by eliminating the processing steps of determining the

name’s type.

b. Click

to move the selection into the Selected Columns list.

The process appears as a literal above the NAME column in the Selected Columns list.12. When all desired columns for the rule set are listed, click OK.

The window closes and the rule set and columns to be standardized are displayed in the Standardize

Stage window.

13. To continue setting the processes for the stage, you can:

v Click New Process to add another rule.

v Select a process and click Modify Process to change your choices.

v Select a process and click Delete Process to delete it.

v Select a process and click Move Up or Move Down to change the order in which the processes

are executed.14. Select a format from the Default Standardized Output Format drop-down box.

15. To close the Standardize Stage window at any time, click OK.

Continue with Setting Stage Properties to map output link.

Related concepts

“Domain preprocessor rule sets” on page 37

“Using literals for required values” on page 39Literals are symbols or abbreviations that are entered when the value is missing in the record.

Chapter 13, “Describing rule set files,” on page 175Rule sets are fundamental to the standardization process. They determine how fields in input records

are parsed and classified into tokens. Related tasks

Chapter 4. Conditioning data 43

Page 52: 25520509 Quality Stage 8 0 User Guide

“Creating the Standardize stage job” on page 35The Standardize stage creates multiple columns that you can send along with the input columns to

the output link.

“Setting up the Standardize job” on page 41Organize the stages on the Designer client canvas with an input source data file, one output source,

and a Standardize stage linked together.

“Configuring the source data file” on page 10You configure the Sequential file as the source data file.

“Configure the Mapping tab” on page 17Specifies the columns that comprise an output report.

Standardizing international address files

The MNS stage performs international standardization in a single stage by producing a single output.

If your input file contains international address data, you can use the MNS stage to condition an address

file.

To standardize an address file:

1. Run a standardize job using the country identifier rule set.

2. Set up the job by using a Standardize stage to create an intermediate file that contains records from a

single country. The stage can use the ISO country code column to create this file.

3. Configure the MNS stage by using the appropriate domain-preprocessor rule set with the

intermediate file.

4. Run the standardize job by using the appropriate domain-specific rule sets.

Standardize and correct international address data

The Multinational Standardize stage (MNS) and Worldwide Address Verification and Enhancement

System (WAVES) stage standardize and verify international address data.

The Designer client provides the tools to standardize international address files.

MNS stage

Standardizes address files for city and street data in one step.

WAVES stage

Standardizes, corrects, verifies, and enhances addresses against country-specific postal reference

files in one step.

About the MNS stage

The MNS stage uses country names, abbreviations, or ISO country codes in the input file to apply

country-appropriate standardization rules. Thus, you can standardize all the records without having to

consolidate records from each country into separate files and to standardize the records using

country-specific rule sets.

For most countries, the MNS stage does the following tasks:

v Separates street-level address information from city-level information

v Assigns city, locality, province/state, postal code, and postal code add-on to separate fields

v Assigns ISO country codes (2 and 3 byte versions)

v Assigns city name phonetics with enhanced New York State Information and Intelligence Systems

(NYSIIS) and reverse Soundex to match incorrectly spelled city names

About the WAVES stage

44 WebSphere QualityStage User Guide

Page 53: 25520509 Quality Stage 8 0 User Guide

The WAVES stage is not a standard Data Quality stage. The WAVES stage is acquired as an option and

installed separately.

After you standardize the input files, the WAVES stage provides the following processing to the input

data:

v Corrects typographical and spelling errors in the input data.

v Matches a corrected input address against an address in a country-specific postal reference file by

using probabilistic matching.

v Assigns the postal record data to the appropriate field in the output file and substitutes the erroneous

and missing input data with the verified postal data. Appends the verified record to the original

record.

Setting up WAVES or MNS jobs

The WAVES or MNS job outputs international addresses.

To set up a WAVES or MNS job:

1. Create a new parallel job or open an existing parallel job.

2. If the Palette is not displayed, click View → Palette to display it.

3. From the Palette, click Data Quality, and locate the WAVES or MNS stage icons.

4. Click the icon and drag it toward the middle of the Designer canvas.

5. On the Palette, click File and locate the Sequential File icon.

6. Drag the icon and drop it before the WAVES or MNS stage on the Designer canvas.

7. Drag a Data Set icon and drop it after the WAVES or MNS stage.

8. Right-click the Sequential File icon to drag a link from the input stage to the WAVES or MNS stage.

9. Right-click the WAVES or MNS stage to drag a second link from the stage to the Data Set icon.

10. Rename the stages and links to meaningful names.

Now, you can configure the input file, WAVES or MNS stage, and output file.

Configuring the WAVES or MNS stage job

With the MNS and WAVES stages, you can define the input file configuration as you build the job. Use

the configuration that most closely matches your data source.

Before you configure the WAVES or MNS stage, add a preprocessor stage such as the Standardize stage

to the Designer client canvas to remove unrelated address or contact data from the address columns.

Standardization rules can process only address information. So you must remove the extraneous data

from the file before you run the job.

When you configure the input data for the WAVES or MNS stages, organize the input columns in one of

the following ways:

v One to five individual address columns to include city, state, street, postal code, and country

information

v One combined city, state, and postal code column and one country column

v Three columns to include state, postal code, and country

Each record must have a country or territory indicator and can be in any of the following formats:

v Entire country or territory name

v An abbreviation (such as FR for France)

v ISO country or territory code

Chapter 4. Conditioning data 45

Page 54: 25520509 Quality Stage 8 0 User Guide

If the territory code does not match the expected country-level, territory-level, or street-level formats for

the indicated territory, the data does not standardize, and the data is written to the output file

unchanged. For example, if the record identifier is GB and the address format is that of France, the record

does not standardize.

A record can contain contact information such as care of, attention, department, and so on. This

information is standardized and placed in the contact information column of the output file.

To configure a WAVES or MNS stage:

1. Configure the source file with the address, city, state or province, country or territory, and postal

code by following these steps:

a. Double-click the Sequential File icon to open the Properties page.

b. Select the Source → File to activate the File field.

c. Select Browse for file from the menu and locate the file where you installed the source data.

d. Select the file. The file name is shown in the File field.

e. Click Column.

f. Click Load to open the Table Definitions window.

g. Locate the source file metadata that you imported into the Repository → Table Definitions

directory.

h. Select the file to load the columns metadata into the source file.

i. Click OK to close the Table Definitions window.

j. Click OK to close the source file stage. 2. Double-click the WAVES or MNS stage icon to open the WAVES Stage or Multinational Stage

window.

3. Select one of the Input Entry Options based on the configuration of your input file.

Depending on your choice in step 3, the fields on the lower right side of the stage window are

activated.

4. Select a column and move it into the appropriate field.

5. For WAVES stage, specify a directory in which to store the information.

6. Click Stage Properties → Output → Mapping.

7. In the Columns pane, follow these steps:

a. Right-click the pane and select Select All from the context menu.

b. Right-click the pane and select Copy from the context menu.

c. Right-click the Output pane and select Paste Columns from the context menu.

The columns from the left pane are pasted into the output link pane with linking lines. 8. Configure the target data set file by following these steps:

a. Double-click the target Data Set icon to open the Properties Stage window and click Input →

Properties.

b. Select the folder Target → File and select Browse for file.

c. Specify the file where you want to write the output data.

d. Click OK to close the Properties Stage window. 9. Click Compile.

If the job compiles successfully, continue with the next step. If not, the Compile log specifies where

the compile failed.

10. Click Tools → Run Director to open DataStage Director.

11. Click Run to run the job.

Related tasks

46 WebSphere QualityStage User Guide

Page 55: 25520509 Quality Stage 8 0 User Guide

“Configuring the source data file” on page 10You configure the Sequential file as the source data file.

Related reference

Chapter 15, “ISO territory codes,” on page 203

Country identifier rule set

The country identifier rule set is used to condition files for one country. The output file contains the

country code and an identifier flag.

The country identifier rule set, named Country Group, prepares international input files for

standardization at the individual country level. The rule set creates an output file in which the following

columns are appended to the beginning of each input record:

v A two-byte ISO country code. The code is associated with the geographic origin of the record’s address

and area information.

v An identifier flag. The values are:

Y The rule set identifies the country.

N The rule set cannot identify the country and uses the value of the default country delimiter.

After you create this output file, you can use a Filter stage to create a file that contains only one country.

You can use the file with a domain-preprocessing rule set for the appropriate country.

Records with non-identifiable countries

If the country identifier rule set cannot identify the country of origin of a record, the rule set adds a

delimiter that consists of a default country code.

This delimiter consists of a default country code that you must define before you run the rule in a job.

Use the country code that represents the majority of the records.

The delimiter name is as follows:

ZQ<two-character ISO code>ZQ

For example, you use ZQUSZQ as a United States delimiter.

The ISO country codes list provides all the codes.

This delimiter is inserted as a literal when you define the columns from the input file.

Related concepts

“Using literals for required values” on page 39Literals are symbols or abbreviations that are entered when the value is missing in the record.

Related reference

Chapter 15, “ISO territory codes,” on page 203

Chapter 4. Conditioning data 47

Page 56: 25520509 Quality Stage 8 0 User Guide

48 WebSphere QualityStage User Guide

Page 57: 25520509 Quality Stage 8 0 User Guide

Chapter 5. Generating frequency information

The Match Frequency stage processes frequency data independently from executing a match.

The stage takes input from a database, file, or processing stage, and generates the frequency distribution

of values for columns in the input data.

You use frequency information along with input data when you run the Unduplicate Match or Reference

Match stages. Having the frequency information generated separately means you can reuse it as

necessary, and you do not have to generate it whenever you run an Unduplicate or Reference Match.

Related concepts

“Generating match frequency data” on page 2The Match Frequency stage generates frequency data that tells you how often a particular value

appears in a particular column. Related tasks

“Configure and update the Match specification” on page 61The Match specification contains information on the sample data set from unduplicate and reference

matches, and frequency data from Frequency stage matches.

About the Match Frequency stage

The Match Frequency stage takes one input data file. This data file can be from one of the following

places:

v A link from a sample data set file for use in the Match Designer

v A link from any parallel database, file or processing stage that carries information you need for the

following stages:

– an unduplicate match

– the data source input of a reference match

– the reference source input of a reference match

Standardize the input data before you use it with the Match Designer and the match stages.

When you are configuring the stage, you can choose from the following options:

v Designate a match specification from the repository, so that frequency information is generated only for

the match columns in the specification.

v Do not designate a match specification, thereby generating frequency information for all columns of the

input.

v Increase the number of frequencies reported in the output. The default is 100.

The Match Frequency stage takes a single output link that carries four columns:

v qsFreqVal

v qsFreqCounts

v qsFreqColumnID

v qsFreqHeaderFlag

The data in these columns provides the necessary information to give input to the Match Designer and to

the Unduplication Match and Reference Match stages.

© Copyright IBM Corp. 2004, 2006 49

Page 58: 25520509 Quality Stage 8 0 User Guide

You can link to the input or output of the Match Frequency stage from any parallel database and file

stages, and most processing stages.

Related concepts

Chapter 6, “Defining and testing match criteria,” on page 55 Related tasks

“Creating the Standardize stage job” on page 35The Standardize stage creates multiple columns that you can send along with the input columns to

the output link.

Creating the Match Frequency job

You can use frequency information when you create and test match specifications and passes using the

Match Designer.

First, standardize your data using the Standardize stage job.

To create a Match Frequency job:

1. Set up the Match Frequency stage job.

2. Configure the Match Frequency stage.

3. In the Match Frequency stage, generate frequency information for all records of the input data.

4. Specify a particular match specification that you have already created.

The match specification causes the frequency information to be generated only for the matching

columns. Reference matches require two sets of input.

5. Configure the Match Frequency Stage Properties.

6. Run the Match Frequency job.

7. Use the frequency information as input data for the Reference or Unduplicate Match stage.

Related tasks

“Create a reference match specification” on page 60The Match specification provides the framework for cleansing data in the Reference Match stage.

“Configure the Mapping tab” on page 17Specifies the columns that comprise an output report.

“Configuring the source data file” on page 10You configure the Sequential file as the source data file.

“Configuring the Standardize stage job” on page 42When you configure the Standardize stage, you apply a rule set to one or more columns.

Setting up the Match Frequency job

When you set up the Match Frequency job on the Designer client canvas, link the Match Frequency stage

with an input source data file and a single output.

While you could conceivably take input directly from a Standardize stage and output it directly to a

Match stage in the same WebSphere QualityStage job, there are some problems with this approach. The

following lists some of these problems:

v Performance. Generating frequencies is time consuming. Instead, run the frequencies periodically

(monthly), to support a nightly match run

v Not real time. The Frequency stage does not run in real-time mode so this stage is not real-time

compatible

v Unrepresentative data. The data for any particular match run may not be representative, you want to

build the frequencies on a representative data set

50 WebSphere QualityStage User Guide

Page 59: 25520509 Quality Stage 8 0 User Guide

It is better to build modular jobs.

To set up a Match Frequency job:

1. Create a new parallel job or open an existing parallel job.

2. If the Palette is not displayed, click View → Palette to display it.

3. From the Palette, do the following tasks:

a. Click Data Quality.

b. Locate the Match Frequency icon.

c. Drag the Match Frequency icon onto the canvas.

d. Drop it in the middle of the Designer client canvas. 4. From the Palette, click File Processing.

5. Locate the Sequential file and drag it onto the canvas to the left of the Match Frequency stage.

This is the source input file. The source data usually comes from a file or database, but you can also

use other stages to preprocess it before inputting it to the Match Frequency stage.

6. Grab a second Sequential file as the output stage and drop it to the right of the Match Frequency

stage.

For the output stage, you can use any parallel file, database, or processing stage. If you plan to use

the frequency output in the Match Designer, your output must be a WebSphere DataStage data set.

7. Right click the source file and drag a link to the Match Frequency stage.

8. Right click the Match Frequency stage and drag a link to the target stage.

9. Configure the input stage, loading the column definitions for your input data.

10. Specify an output destination for the output stage.

11. Rename the stages and links with meaningful names that reflect their functions in the job or project.

Configuring the Match Frequency stage

When you configure the Match Frequency stage, you determine the source of the input data, edit stage

properties, and send the data to a target file. Optionally, you can select a match specification.

First, set up the Match Frequency stage job.

To configure a Match Frequency stage:

1. In the WebSphere QualityStage job, double-click the Match Frequency icon to open the Match

Frequency Stage window.

From this window, you can do the following tasks:

v Select a match specification, if wanted.

v Specify whether the input link is connected to the data source or the reference source, when you

are using a match specification for a reference match.

v Edit the stage properties, mapping columns to the output, and specifying options for parallel

processing and buffering.2. Choose one of the following options:

v Click Do Not Use a Match Specification. Frequency information is generated for all columns of

your input data.

v Click

and select a match specification from the repository that is based on your input data.

Frequency information is generated only for those columns used by the match passes in the match

specification.

If you selected a match specification for a reference match, the Link Type choices become available.

3. Click to select one of the following options:

Chapter 5. Generating frequency information 51

Page 60: 25520509 Quality Stage 8 0 User Guide

v Select Data, if your input link is from the data source.

v Select Reference, if your input link is from the reference source.4. Optional, in the Maximum Frequency Entry field, enter a number between 101 and 100,000 to specify

the maximum number of frequencies shown in the output. By default, up to 100 different frequencies

are output, starting with the most frequent. You should increase this number, if you are processing

large numbers of records.

5. Click OK to close the stage window, or click Stage Properties to set stage properties.

Prepare and use frequency information for designing matches

Use the frequency information when you test match specifications and passes using the Match Designer.

Run the data through the Standardize stage first.

To prepare and use frequency information in matches:

1. Create a representative sample data set to use when creating and testing a match specification in the

Match Designer.

You must make sure that the sample is random and in the DataStage data set format.

2. Set up the Match Frequency stage by doing one of the following tasks:

v Run the Match Frequency against the data that you used to create the representative sample. This

step is preferable due to accuracy but it takes longer because of the volume of data.

v Use the Match Frequency stage to generate frequency information for that sample data set. For use

in the Match Designer, the output of the Match Frequency stage must also be a data set.3. In the Match Designer, follow these steps.

a. Specify the sample data set and the frequency data set in the Configuration Specification → Test

Environment for a given match specification.

b. Create and test your passes, referring to the frequency per column as necessary.

Saving the Match Frequency table definition

Running the Match Frequency stage creates a table definition that you should save to use with the

Unduplicate or Reference Match stages.

When you use the Reference Match or Unduplicate Match stages, you need to load the table definition

for the frequency information.

The first time you configure a Match Frequency stage, you should save this table definition for future

use.

To save table definitions:

1. If necessary, click Stage Properties to open the Stage Properties window for the Match Frequency

stage.

2. Click the Output tab.

3. Select the Columns tab.

4. Click Save.

5. In the Save Table Definition As window, specify a name and description for the table definition, and

click OK.

6. In the Save Table Definition As window, navigate to a folder under Table Definitions, select it, and

click Save.

7. Click Stage Properties → Output → Mapping to map output columns.

When you configure an Unduplicate Match or Reference Match stage, load this table definition into the

input stage or stages that represent the frequency information.

52 WebSphere QualityStage User Guide

Page 61: 25520509 Quality Stage 8 0 User Guide

Related tasks

“Configure the Mapping tab” on page 17Specifies the columns that comprise an output report.

“Setting up an Unduplicate Match job” on page 80The Unduplicate Match job requires that you add the Unduplicate Match stage icon to the job and

link it to two source stages and up to four output stages.

“Set up the Reference Match job” on page 87A Reference Match job requires that you add the Reference Match stage to the Designer client canvas,

and link it to data and reference sources and output stages.

Chapter 5. Generating frequency information 53

Page 62: 25520509 Quality Stage 8 0 User Guide

54 WebSphere QualityStage User Guide

Page 63: 25520509 Quality Stage 8 0 User Guide

Chapter 6. Defining and testing match criteria

You use Match Designer to define and test the criteria for matching data. The Match Designer creates

match specifications for unduplicate or reference matches that you then attach in the Unduplicate Match

or Reference Match stages. The match specifications can also be attached in the Match Frequency stage.

The strategy you choose to match data depends on your data cleansing goals. Once you decide on the

criteria, such as matching individuals, companies, households, or reconciling inventory transactions, you

can design a matching strategy to meet these goals.

Executing a match is essentially a two-step process: isolating a subset of records to process using blocking

strategy and then scoring those records. Blocking creates non-intersecting subsets of data in which the

records in the set have a higher probability to match each other than match other records. The block

results in the match process only looking for matches in records that have the same values in the

blocking columns.

With the Match Designer, you determine which columns are to be examined for the matching process.

Use the completed Match specification in the following stages:

v Unduplicate Match stage

v Reference Match stage

v Match Frequency stage

Apply the results from these match stages to the next stage of your data cleansing project, such as

Survive or for loading into a database.

Related concepts

“Ensuring data integrity” on page 3Matching identifies duplicate records in one file and builds relationships between records in multiple

files. Relationships are defined by business rules at the data level.

“About the Match Frequency stage” on page 49

Limiting record pairs with blocking

Blocking limits the number of record pairs that are examined and increases matching efficiency. When

you use blocking, a subset or block of records are created that have a high probability of being associated

with or linked to each other and other records during the matching phase.

Restrictive blocking schemes result in small blocks that are more efficient to match than large blocks.

Keeping the blocks small prevents block overflow. Block overflow occurs when the matrix size exceeds its

limit, all records in the set are skipped and must be handled by the subsequent matching pass.

To avoid block overflow, the amount of records to be compared in one block must not exceed your server

system memory and the total number of records from all sources cannot exceed the block overflow

setting. Block overflows are reported on the Statistics tab of the Match Designer.

All records having the same value in the blocking columns are eligible for comparison during the

matching phase. Any records not included in the matching phase become residuals and are the input for

the next blocking and matching pass.

Related concepts

© Copyright IBM Corp. 2004, 2006 55

Page 64: 25520509 Quality Stage 8 0 User Guide

“About blocking” on page 103Blocking provides a method of limiting the number of pairs to examine.

Related tasks

“Reviewing total statistics” on page 76The Match Designer Total Statistics provides you with statistical data in a graphical format for all the

passes that you run.

Creating smaller blocks

You should select a blocking strategy that produces small blocks of records. Using small blocks results in

better system performance when processing the records.

To create an effective blocking strategy, use several columns for blocking in each pass. Try to match the

majority of records on the first pass, so that on subsequent passes, you have fewer records to process.

Make the first pass as restrictive as possible by selecting columns that have the most number of values

and the highest reliability.

The columns you pick for blocking should be defined for missing values, such as spaces, zeroes, or all

nines, because Match skips blocks that have columns with missing values.

Matching data strategy

The strategy you choose to match data depends on your data reengineering goals. Once you decide on

the criteria, such as matching individuals, companies, households, or reconciling inventory transactions,

you can design a matching strategy to meet these goals.

Executing a match is a two-step process: isolating a subset of records to process using a blocking strategy

and then scoring those records. The match process only looks for matches in records that have the same

values in the blocking columns.

With the Match Designer, you set which columns are to be compared for the matching process.

Use the completed Match specification in the following stages:

v Unduplicate Match stage

v Reference Match stage

v Match Frequency stage

Apply the results from these match stages to the next stage of your data-cleansing project, such as

Survive or for loading into a database.

Related concepts

Chapter 10, “Blocking and matching concepts,” on page 99While the WebSphere QualityStage match functionality automates the process of linkage, you should

know how to evaluate the results, estimate probabilities, set error thresholds, and perform other

related tasks.

Matching basics

When you create the match specification, you can select from more than 20 types of comparisons. The

comparisons are algorithms that are based on the type of data in the columns.

After you create a block of records, Match stage compares columns that you specified as matching

columns to determine the best match for a record. For an Unduplicate Match, Match stage compares the

master record and associated duplicates.

56 WebSphere QualityStage User Guide

Page 65: 25520509 Quality Stage 8 0 User Guide

To determine whether a record is a match, the Match stage calculates a weight for each comparison,

according to the probability associated with each column. The Match stage uses two probabilities for each

column: the m probability and the u probability.

Vectors in the Match Command window

You can select Vectors in the Match Command window to compare vectors on the data source to vectors

on the reference source for a Reference Match or compare vectors on the data source for an Unduplicate

Match.

With vectors, you can reduce the number of cross comparisons you would need to define. For example, if

you have a given name, middle name, and family name column that could be shown in any order such

as given name in the family name column. Vectors can compare all names in any order.

Vector matching is available with some comparison types. If you select a comparison type that supports

vector matching, select Vectors.

If you are also calculating weights with vectors, the Match specification prevents the weight for the

vector from exceeding the weight that would result if a single column was compared. The reason for this

is that the weights for vector comparisons cannot dominate the weights for single columns.

Setting the probability agreement

The m probability reflects the error rate for the column.

You set the probability that a column agrees provided that the record pair is a match. The m probability

is one minus the error rate of the column. If a column in a sample of matched records disagrees 10% of

the time, the m probability for this column is 1 - 0.1, or 0.9.

The closer the m probability is to one, the more critical is a disagreement on the column. You can use a

very high m probability to force columns that are very important to have a high penalty for disagreeing.

Related concepts

“Estimating probabilities” on page 107The information contained in the variables to be matched helps the Match Designer determine which

record pairs are matches and which are nonmatches.

Using random probability

The u probability is the likelihood that a column agrees at random. If a u probability is high, the weight

is low.

The u probability is the probability that the column agrees provided that the record pair does not match.

The u probability is the probability that the column agrees at random.

For example, the probability that gender agrees at random is 50% of the time. With a uniform

distribution, you have four combinations in which gender agrees in two of the four, or a 0.5 u probability.

If you assign a high u probability, a low weight is calculated when a column agrees.

During the match run, the Match stage calculates a u probability for each comparison. As a result, your

only concern for u probability is that it is less than the m probability. If you need to control the u

probability (such as columns for an individual identification number, a national ID number, or a Patient

Identification Number), specify the vartype to be NOFREQ.

Related concepts

“Estimating probabilities” on page 107The information contained in the variables to be matched helps the Match Designer determine which

record pairs are matches and which are nonmatches. Related tasks

Chapter 6. defining and testing match criteria 57

Page 66: 25520509 Quality Stage 8 0 User Guide

“Defining special variables” on page 62You can assign up to six variables to a column or columns in the Variables Special Handling window

to judge the column according to the definition of the variable that you select.

Computing agreement and composite weights

Weights are used in the Match stage to determine by what percentage a column matches and to verify

that the matches have a high degree of agreement.

For each matching column, the Match stage computes a weight using the following equations:

v An agreement weight is computed when the comparison between a pair of columns agrees.

log2(m probability/(u probability)

v A disagreement weight is computed when the comparison between the pair of columns disagrees.

log2((1 - m probability)/(1 - u probability))

The Match stage adds the weights assigned to each column comparison and obtains a composite weight

for the record.

Finally, the Match stage adds the composite weight to the agreement weight of each column and

subtracts the disagreement weight from the composite weight. Thus, the higher the composite weight, the

greater the agreement.

Defining cutoff values

Match cutoff verifies that any record pairs above the cutoff have a high probability of matching and those

below the cutoff have a high probability of not being a match.

The composite weights assigned to each record pair create a distribution of scores that range from very

high positive to very high negative. Within the distribution of positive values, define a value or cutoff at

which any record pair receiving a weight equal to or greater than this cutoff is considered a match. This

is referred to as the match cutoff.

Conversely, define a cutoff at which any record pair receiving a weight equal to or less than this cutoff is

considered a non-match. Record pairs with weights that fall between these two cutoff values are

considered clerical review cases. This is referred to as the clerical cutoff.

Note: Set the clerical cutoff to less than zero and run the pass. Look at the resulting graph and adjust the

settings according to your requirements.

If more than one record pair receives a composite weight higher than the match cutoff weight, those

records are declared duplicates. The duplicate cutoff weight is optional and must be higher than the match

cutoff weight. This cutoff is not used with Unduplicate Match. The way in which duplicate records are

handled is based on what type of matching you selected. Any record pair that falls below the clerical

cutoff becomes a residual and is eligible for the next matching pass.

Related tasks

“Testing and reviewing match passes” on page 70When you run a match pass against a sample of data, you evaluate the results and determine whether

to make changes and run another pass or accept the results you have as the best you can achieve.

Identifying master records

The Unduplicate Match stage determines a master record as the record that matches to itself with the

highest weight.

To unduplicate a data source means that you group records that share common attributes, such as group

all invoices for a customer or merge a mailing list.

58 WebSphere QualityStage User Guide

Page 67: 25520509 Quality Stage 8 0 User Guide

The Unduplicate Match stage declares all records with weights above the match cutoff as a set of

duplicates. The stage then identifies the master record by selecting which record matches to itself with

the highest weight.

Any records that are not part of a set of duplicates are declared residuals. The residuals and the master

records are generally made available for the next pass.

You can use one of two options that determine what happens with duplicates:

v The Dependent option does not include duplicates in subsequent passes. The duplicates belong to only

one set.

v The Independent option makes duplicates available with every pass.

Selecting matching columns

The Unduplicate Match stage selects matches or duplicates depending on the blocking and matching

columns that you specify.

When you select columns for matching (including unduplication matches), include as many common

columns from both sources as possible. Include unreliable columns also and assign them low m

probabilities.

If you want the stage to do exact matching only, specify the blocking columns and not the matching

columns. This results in all record pairs that agree on the blocking columns being declared matches or

duplicates.

Using the Match Designer

Before you can create a Match Designer specification, there are various steps that you must complete in

preparation.

To create a match specification:

1. Configure a database to hold match results.

2. Prepare sample input data in WebSphere DataStage PX dataset format for the data source and, if you

are preparing a specification for Reference Match, the reference source.

3. Standardize and format your data source and reference source before preparing the sample data sets.

Include all the columns that you plan to use for blocking and matching.

4. Prepare frequency information based on the original or sample input data using Match Frequency.

This frequency information must be in WebSphere DataStage PX dataset format.

5. Import table definitions into the Designer that define the columns of the data source and for a

reference match, reference source.

6. Decide which of the following Match Types to use:

v One-to-One

v Unduplicate

v Unduplicate Independent

v Reference Match

Creating an Unduplicate Match specification

The Match specification provides the framework for cleansing data in the Unduplicate stage.

To create an Unduplicate Match specification:

1. Click Match Type menu and choose one of the following options:

v Unduplicate. Removes duplicates from match consideration after a pass.

v Unduplicate Independent. Includes all duplicates in subsequent passes.

Chapter 6. defining and testing match criteria 59

Page 68: 25520509 Quality Stage 8 0 User Guide

For an Unduplicate Match, only one data file button appears since only one set of data is being

considered. The data file button holds the table definitions.

2. Click

to open the Input Columns window.

3. Click Load to open the Table Definitions window.

4. In the Table Definitions window, follow these steps:

a. Navigate to the desired table definition in the Table Definition folder structure.

b. Select the table definition.

c. Click OK. The window closes and the columns are displayed in the Input Columns window.5. On the toolbar, click Save → Specification. The Save Match Specification As window opens.

6. To save the Match Specification, follow these steps.

a. Select a folder in which to save the Match Specification. This is usually the Match Specifications

folder.

b. Type a name for the Match Specification.

c. Click Save.

The specification is saved to the folder, and the specification name appears in the title bar.

Preparing match specifications for use

You need to provision the specification before you can use it in a match job.

To provision a match specification:

1. Open the Designer client, if it is not already open.

2. Locate the match specification within the Designer client Repository → Match Specifications.

3. Select the match specification you created.

4. Right-click and select Provision All from the menu.

Create a reference match specification

The Match specification provides the framework for cleansing data in the Reference Match stage.

To create a Reference Match specification:

1. In the Designer client Repository pane, right-click and choose New → Data Quality → Match

Specification.

The Match Designer opens with an untitled specification and a default pass, MyPass. The Match Type

is set to Reference Match and a button with two data files are shown.

2. Keep the default Reference Match or click Match Type and select One-to-One to create a two-file

Match specification based on a one-to-one relationship.

A record on the reference source can match to only one data source record.

3. Click

to open the Input Columns window.

4. Click Load to open the Table Definitions window.

5. In the Table Definitions window, follow these steps:

60 WebSphere QualityStage User Guide

Page 69: 25520509 Quality Stage 8 0 User Guide

a. Navigate to the desired table definition in the Table Definition folder structure.

b. Select the table definition.

c. Click OK. The window closes and the columns appear in the Input Columns window.

d. Click OK to close the Input Columns window.

The table definition names are shown beneath the data button.6. On the toolbar, click Save Match Specification. The Save Match Specification As window opens.

7. Select the folder in which to save the specification. Usually this is the Match Specifications folder.

8. Enter a name for the match specification, and click Save.

The specification is saved to the folder, and the specification name appears in the title bar.

Related tasks

“Creating the Match Frequency job” on page 50You can use frequency information when you create and test match specifications and passes using

the Match Designer.

Preparing match specifications for use

You need to provision the specification before you can use it in a match job.

To provision a match specification:

1. Open the Designer client, if it is not already open.

2. Locate the match specification within the Designer client Repository → Match Specifications.

3. Select the match specification you created.

4. Right-click and select Provision All from the menu.

Configure and update the Match specification

The Match specification contains information on the sample data set from unduplicate and reference

matches, and frequency data from Frequency stage matches.

Before you define and test match passes, configure the Match specification to specify the following

information:

v Sample Information. Specify a Data Sample Data Set file that is a representative subset of your data

source or reference source. This allows you to test your passes in the Match Designer against a small

sample of the data the match ultimately runs against.

Note: Be sure that each file truly represents a random sample of the data. Do not prepare your match

passes based on the first rows of a presorted table.

v Frequency Information. Specify a Data Frequency Data Set file in DataStage PX data set format that is

produced from your data source and reference source by running the Match Frequency stage against

the data. This file provides frequency information for every column in the input data. You can use this

information to develop your match passes.

v Test Results Database. Provides the DSN, user name and password for the results database you have

configured.

If you subsequently change any of the above information such as name, path, or content of the frequency

and sample data set files, update the information.

To configure a match specification:

1. On the Match Designer tool bar, click Configure Specification → Test Environment to open the Test

Environment window.

2. To provide sample data for testing match passes in the Sample Information area, do one of the

following tasks:

Chapter 6. defining and testing match criteria 61

Page 70: 25520509 Quality Stage 8 0 User Guide

v In the Data Sample Data Set field, enter the full path and name, or browse to the data set that

contains data from the data source for your Unduplication Match.

v For a Reference Match, enter the full path and name, or browse to the data set that contains data

from the reference source in the Reference Sample Data Set field.3. To provide frequency information on the input data columns, do the following task or tasks:

v In the Data Frequency Data Set field, enter the full path and name, or browse to the data set that

contains frequency information for the data source in your Unduplication or Reference Match.

v If you are configuring a specification for a Reference Match in the Reference Frequency Data Set

field, enter the full path and name, or browse to the data set that contains data from the reference

source.4. Enter a value in the Maximum Frequency Value field. You can increase this value only if you have

set the Maximum Frequency Entry in the Match Frequency stage to a value higher than the value

entered in this field. If this value exceeds the Maximum Frequency Entry, the maximum number of

values that actually exist is returned and stored in the Match Designer database frequency table.

5. In the Test Results Database area of the Configure window, follow these steps:

a. Select a source from the ODBC Data Source Name menu.

b. Type your user name and password for the results database.

c. Make the DSN available to the WebSphere DataStage server pointing at the results database.

d. Click Test Connection to test the validity of the connection before attempting to configure or run

passes.6. Click Update. Update saves and revises all the information for the Configure Specification.

Related concepts

Chapter 5, “Generating frequency information,” on page 49The Match Frequency stage processes frequency data independently from executing a match.

Update configuration information

The Test Environment window requires updating whenever the content of the input or frequency data

sets change.

First, you must open the Test Environment window.

Whenever you change any of the information on the Configure Specification → Test Environment

window, and whenever the content of the input or frequency data sets change, WebSphere QualityStage

must update the information. It does this by copying the referenced data sets and results database

information.

You can confirm all the configuration information at one time by clicking Update in the Test Environment

window.

Defining special variables

You can assign up to six variables to a column or columns in the Variables Special Handling window to

judge the column according to the definition of the variable that you select.

For any match specification, you can assign a column a special treatment such as specifying that a

disagreement on the column would cause the record pair automatically to be considered a non match.

You can assign a column more than one special treatment. A treatment applies to all passes for this match

job.

To define variables:

1. On the Match Designer tool bar, click Configure Specification → Variable Special Handling.

The Variable Special Handling window opens.

62 WebSphere QualityStage User Guide

Page 71: 25520509 Quality Stage 8 0 User Guide

2. From the Actions drop-down list, select one of the following actions:

v CRITICAL. A disagreement on the column causes the record pair automatically to be considered a

non-match.

v CRITICAL MISSINGOK. Missing values on one or both columns is acceptable; that is, the record pair is

automatically rejected if there is a non-missing disagreement.

v CLERICAL. A disagreement on the column causes the record pair automatically to be considered a

clerical review case regardless of the weight.

v CLERICAL MISSINGOK. A missing value should not cause the record pair being considered to be

forced into clerical review, but a disagreement would.

v NOFREQ. A frequency analysis is not run on the column. Used when a column has unique values,

such as Social Security number.

v CONCAT. Concatenates up to four columns to form one frequency count.3. Select one of the following columns:

v Data Columns to display columns from the data source

v Reference Columns to display columns from the reference source (available only for Reference

Match specifications).

4. From the list of available columns, select a column, and then click

.

5. If you selected CONCAT, repeat step 4. You may concatenate as many as four columns.

6. Click Add.

The columns and the specified actions appear in the variables list.

7. Repeat Step 2 through Step 6 until you have added all the variables you need.

8. If you need to remove a variable from the list, select it and click Remove.

9. Click OK to close the window.

When you have finished configuring the Match specification, on the toolbar click Save Specification.

Related concepts

“Using random probability” on page 57The u probability is the likelihood that a column agrees at random. If a u probability is high, the

weight is low.

A Match Pass

To define a match pass, you specify which columns in your source data to use for blocking or matching.

All passes require that you define the blocking columns. If you want exact matching, you specify only the

blocking columns. The process for defining a pass can require that you complete the following tasks:

v Add weight overrides for your match commands

v Examine the details of specific columns

v Define special treatment for a column

v Store alternate passes that you might want to use later in the match specification

Creating a new pass

The Match Designer provides Add Pass and New Pass commands to configure a pass using the Match

Pass Definition As window.

To create a new pass:

1. On the toolbar, click Add Pass → New Pass to open the Match Pass Definition As window.

2. In the Save Match Pass Definition As window, follow these steps:

Chapter 6. defining and testing match criteria 63

Page 72: 25520509 Quality Stage 8 0 User Guide

a. Select the Match Specifications folder or another folder of your choice.

b. Type a name for the new pass.

c. Click Save.

If you already have a pass in the specification, the new pass appears to its right.

When the specification runs, passes are executed in the order they appear from left to right.3. To change the order of the passes, Ctrl-drag to move pass left or right.

4. Click Test All Passes to run the passes.

Specify blocking variables

Blocking variables create subsets of data that are compared to records.

After you load the table definitions for your inputs, configure the specification, and click a Pass to open

the Match Pass work area, you are ready to configure the pass. The first step is to create one or more

blocking variables. Blocking variables are combinations of columns and comparison types.

To specify blocking variables:

1. Click the Pass icon in the Match Designer to access the Pass Definition tab.

In this tab, you can add, modify, delete, expand, or collapse variables.

2. In the Blocking Columns pane, click Add to open the Match Blocking Specification window.

3. To configure the Match Blocking Specification window, complete the following steps:

a. Select a column in the Available Data Columns section.

b. You can also right click the selected column and choose Properties to view the frequency

information in the Column Details window.

c. Select one of the following comparison types:

v Character Comparison. When the column is alphanumeric.

v Numeric Comparison. When the column is only numeric.d. In the Name field, enter a string to identify this blocking selection.

If you enter the name of the column plus the comparison type, you can recognize the block

without expanding it in the Blocking Columns section after you create it.

For example, a name of ″CUSTNM-C″ indicates that the blocking column is called ″CUSTNM,″

and the comparison type is character.

e. Click Apply to continue adding more blocking variables.

f. When you have completed your blocking entries, click OK to close the window.4. Click Modify → Blocking Specification to change the blocking entries.

5. Click Modify → Set Overflow Values to enter a different value in the Data field.

6. Click Expand or Collapse to expand or collapse the list of blocking variables.

7. Click Delete to delete a variable.

Related concepts

“Applying blocking variables” on page 104The best blocking variables are those with the largest number of values possible and the highest

reliability.

Adding matching commands

You can specify matching columns for Reference and Unduplicate matches in the Match Command

window.

From the Match Command window, you configure the following fields:

v Name

64 WebSphere QualityStage User Guide

Page 73: 25520509 Quality Stage 8 0 User Guide

v Available Comparison Types

v Vectors

v Columns

v m-prob (m-probability) and u-prob (u-probability)

v Param 1 and Param 2 (parameters) and modes required by the comparison type

v Reverse. Whether to run a reverse match.

v Optional override weights for the comparison

When you finish specifying all match columns, you can set the cutoffs for the match, the clerical review,

and the duplicates for the entire match pass.

To configure the Match Command parameters:

1. Click Pass Definition.

If the Pass Definition tab is not visible, click the icon for the pass you want to work on to display it.

2. In the Match Commands section, click Add.

The Match Command window opens. For an Unduplicate Match, available data columns are visible.

For a Reference Match, both data columns and reference columns are visible.

3. In the Name field, enter a name for the match command.

4. From the Available Comparison Types drop-down menu, select a comparison type.

Any additional parameters and modes required by the comparison type are added in the Command

Options section of the window.

By default, Columns is selected, and the data and reference columns are visible.

5. From the Available Data Columns list, select the desired column, and click

.

Note: You must not use the blocking columns for this pass for the matching columns. You can use

blocking columns from other passes for the matching columns on this pass.

For a Reference Match, select the desired column from the Available Reference Columns list and click

. Repeat as necessary to supply the number of reference columns required by the comparison.

6. In the m-prob field of the Command Options section, type a value for the m probability.

You can select from one of the following choices depending on your requirements:

v For most columns, use the default value of 0.9.

v For very important columns, use 0.999.

v For moderately important columns, use 0.95.

v For columns with poor reliability (such as street direction), use 0.8.

The higher you set the m probability, the greater the penalty when the column does not match.7. In the u-prob field of the Command Options section, type a value for the u probability.

You can select from one of the following choices depending on your requirements:

v For most data, use the default value of 0.01.

v For age, use 0.02.

v For gender, use 0.5.8. Enter any required and optional parameters by following these steps:

a. If your comparison choice allows reverse matching, select Reverse to assign the agreement weight

when the columns disagree or the disagreement weight when the columns agree.

Chapter 6. defining and testing match criteria 65

Page 74: 25520509 Quality Stage 8 0 User Guide

For example, the full agreement weight is assigned if the columns are different to a degree greater

than the parameter specified and the full disagreement weight is assigned if the columns are

equal.

b. Click Vectors to display and compare column vectors. Columns is selected by default. Reverse is

not available.

c. Click Override Weights to specify weight overrides.

d. Enter the mode if required.9. After defining the first match command, click OK.

If you wish to continue defining match commands, click Apply.

The Match Command window remains open and you can add any number of matching commands.

The command data is added to the Descriptions area of the Match Commands section. The list

expands as you add commands to locate you in the flow.

When you have finished specifying match commands, you need to specify match pass cutoffs, and, if

desired, set variables.

Related concepts

Chapter 11, “Match comparisons,” on page 113For the descriptions of each comparison, required data source and reference source columns are listed

in the order the columns appear in the Selected Column(s) list of the Match Command window in the

Match Designer when you select the comparison.

Specify weight overrides

You set the weight override values in the Weight Overrides window to determine which columns match

and which do not match.

Sometimes the normal method of calculating the weights is not appropriate. The Weight Overrides

window changes the calculated weights for missing value situations or for specific combinations of

values. You can use this window to control the weights for each match command independently.

For an Unduplication Match, the values for Data Source and Reference Source are for the two records

being compared in the same source. If you specify a value for Data Source Missing Weight, you should

also specify one for Reference Source Missing Weight.

To set weight overrides:

1. In the Match Command window, click Weight Overrides.

The Weight Overrides window opens.

2. Select one of the following:

v Replace. Replaces the weight calculated for this column with the weight that you are specifying.

v Add. Adds the weight that you are specifying to the weight calculated for this column.3. Enter one or more of the weight overrides as follows:

For Enter

Agreement Weight [AW] An agreement weight if the values for the column agree

and are not missing.

Disagreement Weight [DW] A disagreement weight if the values for the column

disagree and are not missing.

Data Source Missing Weight [AM] A weight when the value on the data source is missing.

Reference Source Missing Weight [BM] A weight when the value on the reference source is

missing.

Both Missing Weight [XM] A weight when values are missing on both sources.

66 WebSphere QualityStage User Guide

Page 75: 25520509 Quality Stage 8 0 User Guide

4. Optional: specify a value for the Conditional Data Source Value [AV] field or the Conditional

Reference Source Value [BV] field, or both, as follows:

For Enter

Conditional Data Source Value [AV] The value, enclosed in single quotes (’), in a column on

the data source, or the word ALL.

Conditional Reference Source Value [BV] The value, enclosed in single quotes (’), in a column on

the reference source, or the word ALL.

5. Click Add Override.

The override appears in the Summary of Weight Overrides area.

6. Click OK to return to the Match Command window.

7. To remove overrides, highlight the override.

8. Click Delete Override.

About weight overrides:

Weight overrides is a method for calculating weights for missing values in match comparisons.

Sometimes the normal method of calculating the weights is not appropriate. The Weight Overrides

window changes the calculated weights for missing value situations or for specific combinations of

values. You can use this window to control the weights for each match command independently.

For an Unduplication Match, the values for Data Source and Reference Source are for the two records

being compared in the same source. If you specify a value for Data Source Missing Weight, you should

also specify one for Reference Source Missing Weight.

Examples of Weight Overrides

The following examples explain how weighting a match helps the match.

v Directions in a street address are used for matching so that one version of an address matches a second

version rather than a third version.

You could add a weight of 1.0 to Both Missing Weight [XM] so that a missing value on both sources

receives a slightly higher weight than a missing value on only one source. This results in 123 Broadway

Ave compared to 123 Broadway Ave. receiving a higher weight than 123 Broadway Ave compared to

123 N Broadway Ave.

Original Address Matching Address Discarded Address

123 Broadway Ave 123 Broadway Ave. 123 N Broadway Ave

v For an Unduplication Match, unrealistic telephone numbers should not be matched.

The telephone number 1111111111 should not be matched. You could replace the calculated Agreement

Weight (AW) with a -10 for a data source value of 1111111111.

v How to handle missing house numbers when trying to unduplicate a list of customers.

For example, you could add a weight of -10 to the Data Source Missing Weight [AM] and the

Reference Source Missing Weight [BM]. If the data or the reference value is missing, subtract 10 points

from the calculated weight. If both are missing, nothing is subtracted. The probability of a house

number being missing in either record because of a coding error is much greater than the probability

that there really is no house number for that address.

v Matching a business location.

In unduplicating a business list by address, the suite number is very important, since a high-rise office

building can house many businesses. Thus, if the suite does not match, you want to penalize the

match. If the suite is missing on one of two records, you cannot be sure it refers to the same unit.

Chapter 6. defining and testing match criteria 67

Page 76: 25520509 Quality Stage 8 0 User Guide

For example, you could add a weight of -20 to the Disagreement Weight [DW] and weights of -9 to

both the Data Source Missing Weight [AM] and the Reference Source Missing Weight [BM].

Nine is subtracted from the weight if the suite is missing on one of the records and 20 is subtracted

from the weight if the suite number disagrees. If the suite number is missing from both records, it is

probable that the location does not have suites or apartments.

View frequency information for selected columns

The Column Details window displays frequency information and column metadata for a selected data

source or reference source column.

Frequency and pattern information for columns is helpful when constructing and refining match passes.

v Column name, description, and data type

v Frequency information

To view frequency information:

1. Right-click a column name in one of the following places:

v The Match Blocking Specification window.

v The Match Command window.

v The Descriptions list in either the Blocking Columns or Match Commands sections of the Match

Pass work area. (Click to expand the list and display the columns.)

v The Test Results table on the Pass Definition tab.

v The Data Display Alignment window for reference matches.2. From the context menu, select Properties.

The Column Details window opens.

The column Name, Description, and Type is shown along with a listing from the Frequency column.

3. When finished, click Cancel to close the window.

Assigning match pass cutoffs

Match pass cutoffs in the Cutoff Values area of the Match Designer let you set a value above and below

which passes are either matches or non matches. You type the values in the fields.

At the bottom of the Pass Definition tab in the Match Pass area, you can type the following cutoff

thresholds for each pass:

v Match Cutoff. Occurs when a record pair receives a composite weight greater than or equal to this

weight, the pair is declared a match.

v Clerical Cutoff. Occurs when a record pair receives a composite weight greater than or equal to this

weight and less than the match cutoff, the pair is marked for clerical review. This weight must be equal

to or less than the match cutoff weight. If you do not want a clerical review, set the clerical cutoff equal

to the match cutoff.

v Duplicate. The lowest weight that a record pair can have to be considered a duplicate. This cutoff

weight is optional and must be higher than the match cutoff weight. This cutoff is not used with

Unduplicate Match.

To assign cutoff values to a match pass:

1. Type a value in each of the following fields:

v Match Cutoff

v Clerical Cutoff

v Duplicate Cutoff (Reference Match and Match pass only)2. Click Save Pass to save the pass.

68 WebSphere QualityStage User Guide

Page 77: 25520509 Quality Stage 8 0 User Guide

3. After testing a pass, you can adjust the match and clerical cutoff values by dragging the handles in

the histogram in the Test Results area of the Pass Definition tab.

Related tasks

“Navigating the frequency/weight histogram” on page 71The Frequency/Weight histogram, at the top of the Test Results area, is a graphical representation of

the distribution of weights assigned by the run of a match pass.

Using the match pass holding area

The Match Pass Holding Area, at the top of the Compose tab, holds passes that you do not want to

execute as part of the Match specification.

You can open, modify, and test passes when they are in the holding area, and you can easily move them

back into the flow of the specification as desired.

To isolate passes in the holding area:

1. If the Match Pass Holding Area is not displayed, click Holding Area on the toolbar to display it.

2. Press Ctrl and drag the pass to the Holding Area.

When you use the match specification in a Reference Match, Unduplicate Match or Frequency stage

within a job, any passes in the Match Pass Holding Area are ignored.

Aligning data display of Reference Match columns

The Results Display window provides information to help you evaluate and modify Reference Match

passes.

When you test a Reference Match pass, the matched pairs are displayed in the Test Results area of the

Pass Definition tab. In addition to displaying the Set ID, weight, and record type, for each matched

record, separate display columns contain the values for each blocking column and Match command in the

pass.

You can add to this display by using the Results Display window to align additional combinations of

data and reference columns. This allows you to display values for one or more data columns paired

against one or more reference columns.

The choices you make in the Results Display window have no effect on the execution of the Pass or the

Match specification and do not affect the results of any of the Match stages. The Results Display window

only lets you display additional information that can help you evaluate and modify your Match pass.

Note: You cannot edit, delete, or change the display of blocking column or Match command alignments

in the Results Display window.

To align data display of a reference match:

1. With a match pass open, on the Pass Definition tab, click Results Display.

The Results Display window opens.

2. To add alignments, click Auto-Align All to align all data and reference columns that have the same

name and that were not used in a previous alignment, blocking column, or match command.

3. To manually align data and reference columns, follow these steps:

a. From the Data Source Columns list, select one or more columns.

b. From the Reference Source Columns list, select one or more columns.

c. Click Add Alignment. The selected pairing of data and reference columns appears in the

Alignments area, beneath the color-coded listing of blocking columns and match command

columns.4. Repeat step 3 to add more alignments.

Chapter 6. defining and testing match criteria 69

Page 78: 25520509 Quality Stage 8 0 User Guide

5. Modify the alignments or their order by following these actions:

v To select an alignment in the Alignments area, click in the box on the left of the alignment.

v To delete a selected alignment, click Delete.

v To clear all alignments, click Clear.

v To edit a selected alignment, click Edit. This removes the alignment from the Alignments area and

selects its columns in the New Alignment area.

v To change the order of display of a selected alignment, click Move Up or Move Down.

Changing the order of alignments does not affect the execution of the pass. It simply changes the

order of the columns displayed in the Test Results table.6. After creating and modifying alignments, click OK to close the window.

When you test the pass, values for each alignment you created are displayed in separate User Alignment

columns in the Test Results area.

Testing and reviewing match passes

When you run a match pass against a sample of data, you evaluate the results and determine whether to

make changes and run another pass or accept the results you have as the best you can achieve.

Once you have created a match pass and configured the sample data and frequency information, you can

test the pass against the sample data. After studying the test results, you can change your cutoff values,

blocking columns, or match commands.

For example, your plan may be to first perform a pass that matches on national ID number and then

perform a pass that matches on date of birth. But, when you look at the results of the first pass, it is

sufficient so you do not need to perform the second pass. Or, the results indicate that you need to choose

a different column for the second pass. Testing each match pass can help you choose the appropriate

action.

The following lists some of the choices you can make:

v Adjust the cutoff values by sliding them along the graph of data frequency versus weight. Then test

the pass again with the new cutoff values and with any other changes you make.

v Test a pass against the sample data or against the output of the previous pass you tested. Testing

against the output of the previous pass lets you evaluate how well your passes work together in the

match specification.

v Declare one test of the pass as a baseline and then review your subsequent tests against the baseline.

To test a match pass:

1. If not open, click the icon for the pass you want to test to open the Match Pass work area.

2. Click the Test Pass menu and choose one of the following:

v Test with output of previous pass

v Test with sample input data set

For Unduplicate Independent match type, select Test with sample input data set only when it is

available.3. Click Test Pass.

The test runs. When it completes, the Test Results area appears.

4. Expand or minimize the Test Results area as necessary:

v To expand the Test Results area:

a. Click the triangle above Blocking Columns to minimize the Blocking Columns and Match

Commands area.

b. For additional space, click-and-drag the borders of the Test Results area.

70 WebSphere QualityStage User Guide

Page 79: 25520509 Quality Stage 8 0 User Guide

v To minimize the Test Results area:

Click the triangle next to Test Results at the top left of the Test Results area.

v To display the Test Results area when minimized:

Click the triangle next to Test Results at the bottom left of the screen.5. Click Save Pass to preserve the test data.

Related concepts

“Defining cutoff values” on page 58Match cutoff verifies that any record pairs above the cutoff have a high probability of matching and

those below the cutoff have a high probability of not being a match.

Navigating the frequency/weight histogram

The Frequency/Weight histogram, at the top of the Test Results area, is a graphical representation of the

distribution of weights assigned by the run of a match pass.

You can move the Clerical Cutoff, Match Cutoff, or Duplicate Cutoff handles along the Weight axis on the

histogram to automatically change the values for the pass in the design area. Always place the Match

Cutoff handle on top of the other handles. With the handles, you can evaluate and adjust your match and

clerical cutoffs.

If you move the Current Data Selected handle on the histogram to a new weight, it automatically scrolls

the data in the table (beneath the histogram) to the location of the data with the selected weight.

Likewise, if you reposition the selection within the data display, the Current Data Selected handle is

repositioned in the histogram.

You can move the Current Data Selected handle by doing the following actions:

v To display records of a certain weight, drag the Current Data Selected handle along the Weight axis.

Ascending by Weight Sort moves the Current Data Selected handle to the lowest detail weight value.

v To adjust the Clerical Cutoff or Match Cutoff settings, drag the cutoff handle along the Weight axis.

The settings change appropriately in the fields beneath the Match Command area.

To navigate the histogram:

1. Display a desired weight by dragging the Current Data Selected handle or manually scrolling through

the data in the table.

The position and availability of the Current Data Selected handle depends on the following factors:

v Unduplicate Matches. The Current Data Selected handle is visible only if you group by match pairs,

not by match sets and the handle is initially positioned based on the weight of the first duplicate

record.

v Reference Matches. The initial position of the Current Data Selected handle is determined by the

weight of the first data record.

v For both Unduplicate and Reference Matches, if you scroll through the Test Results table, the

Current Data Selected handle is repositioned based on the selected row.2. Inspect the data in the Results Table to see if the matches are adequate.

3. Repeat steps 1 and 2 to find the most appropriate match cutoff and clerical cutoff points.

Note: Do not allow the Clerical Cutoff value to exceed the Match Cutoff value. If the Clerical Cutoff

value exceeds the Match Cutoff value a message is shown. The Clerical Cutoff will be

automatically adjusted to reflect the new Match Cutoff. Continue? The change is

cancelled or the Clerical Cutoff value is reduced.

4. Move the Match Cutoff and Clerical Cutoff handles to the desired position.

5. Run the pass again with the new cutoff settings.

Chapter 6. defining and testing match criteria 71

Page 80: 25520509 Quality Stage 8 0 User Guide

Related concepts

“Histogram and setting cutoff values” on page 109The match cutoff is a composite weight above which records are considered to be reliably matched.

Related tasks

“Assigning match pass cutoffs” on page 68Match pass cutoffs in the Cutoff Values area of the Match Designer let you set a value above and

below which passes are either matches or non matches. You type the values in the fields.

Using data search

The Test Results table provides an easy search method so that you can locate the data results quickly.

To search for data:

1. Right-click in a cell and select Search Data.

2. In the Search Data window, follow these steps:

a. Enter the string you want to search for.

b. Select All Columns or a specific column from the drop-down list.

c. Click Find.

The first row that contains the search target is moved to the top of the table. You may need to

scroll right or left to see the result.

d. Click Cancel to close the Search Data window.

Evaluating test results

The Match Designer provides many methods for evaluating test results, such as results tables and charts,

to make the information accessible in determining your next test pass.

Once you have tested a match pass, the results appear in one of the following areas:

v Test Results area of the Pass Definition tab. (A caption at the top of the area lists the number of rows

displayed, the grouping format and sort order you have chosen, and whether residuals are included in

the display.)

v Statistics tab

Displays list of data that you want to see on the chart. Displays the various charts.

v Total Statistics tab

Displays the results of each pass and combined results of all passes. If you are running consecutive

passes, you can evaluate each pass individually, and also evaluate the combined results.

The Frequency/Weight Histogram, the Statistics and Total Statistics tabs, and the Test Results table are

used in evaluating results. Using these reports, you can apply the following tasks:

v Understand the columns in the table

v Explore the data in the table

v Create charts

v Analyze baseline statistics

v Save baseline statistics for comparison

Once you have evaluated the results, you probably want to modify some elements of one or more passes,

test the passes, and then evaluate them again.

When you are satisfied with the results of all passes in a Match specification, you are ready to use it in

an Unduplicate Match or Reference Match stage.

72 WebSphere QualityStage User Guide

Page 81: 25520509 Quality Stage 8 0 User Guide

Using the test results table

The Test Results table displays rows and columns of matched data that adjust to whether you are

creating a specification for an Unduplicate Match or a Reference Match. By default, residuals are not

displayed and rows are sorted in ascending order by Match Set ID. If you want to, you can change the

sort order and display residuals.

The following table lists actions you can take in the Test Results table.

To... Do the Following...

Define sort order Right-click a row and select Sort by Multiple Columns

or Sort by Test Blocking Columns to sort on the order

in which you select items.

Deselect rows v Click each selected row to clear it.

v Right-click the table and choose Clear All Selections.

Display column metadata Move mouse over the Match Command column to show

the column names as follows.

v As it appears in Match stage output (Record Type is

″qsMatchType″).

v As it makes up a particular match command, blocking

column, or user alignment.

Display properties of columns Right-click a column head and select Properties. For

reference matches you can then further choose between

the data and reference source columns.

Display or exclude residual rows By default, residuals rows (those that are not part of a

match) are not displayed.

To display residuals, right-click the table and select one

of the following items:

v Group by Match Pairs → Include Residuals

v Group by Match Sets → Include Residuals

The residuals cluster as a group after the match pairs or

match sets. You can sort through the residuals.

To remove residuals, right click the table and choose one

of the following items:

v Group by Match Pairs → Exclude Residuals

v Group by Match Sets → Exclude Residuals

Resize column display Click-and-drag a column border.

Reorder the display of columns Click a column head and select a different column from

the drop-down list. The selected column appears in the

new position.

Sort the data by column Right-click a column head and choose Sort Ascending or

Sort Descending.

Select a row of data Click in the row.

Using Test Results table sort conditions:

The Test Results table uses a variety of sorting conditions to help you in evaluating the data.

The following conditions apply when sorting the Test Results table:

v By default, the initial display is sorted in ascending order by Match Set ID.

Chapter 6. defining and testing match criteria 73

Page 82: 25520509 Quality Stage 8 0 User Guide

v For Unduplicate matches grouped by match sets, the sets are sorted by the value of the master record.

Right-click the table and select Group by Match Sets to display the master record and its duplicates

grouped together.

v For Unduplicate matches grouped by match pairs, the sets are sorted by the value of the duplicate

records.

Right-click the table and select Group by Match Pairs to display the master record for each set

followed by its duplicates. (This can display the same master record multiple times.)

Note: To use the Selected Data slide bar in the Test Results table, select Group by Match Pairs.

v For Reference matches, right-click the table and select Sort by Multiple Columns to group columns

together and sort on data within those columns.

v For Reference matches, right-click the table and select Sort by Combined Blocking Columns to sort on

multiple blocking columns to pull together sets of records compared against one another.

v Residuals are sorted by the chosen criteria, but are always presented as a group at the bottom of the

table. They can also be sorted within the group.

Compare weights between rows

With the Test Results table, you can easily compare weights based on the current match settings or the

last match run.

To compare weights:

1. Click in each row individually to select it. (You can only compare two rows at one time.)

2. Right-click in the table and choose one of the following items:

v Compare Weights → Based on Current Match Settings

v Compare Weights → Based on Last Match Run

The Match Weights window opens, with selected records and column weight determined by Match

column and a listed composite weight.3. Right-click a column and choose Properties to show column details.

4. Click OK to close the window.

Test Results table columns

The columns of the Test Results table are specific for the type of match that you selected, either a

Unduplicate Match or Reference Match.

For an Unduplicate Match, the following columns are displayed in the following order:

v SetID. A unique ID number for each set of matched rows. Data is sorted on SetID.

v Record Type. The type of the match for the record within each set ID. One of:

– XA. Master record in a set of records.

– DA. Duplicate record.

– CP. Clerical review record.

– RA. Residual.v Weight. The total calculated matching weight for all matching columns for the given row.

v All columns used in blocks.

v All columns used in match commands.

v All other columns in the data source.

For a Reference Match, the following columns are displayed in the following order:

v SetID. A unique ID number for each set of matched rows. Data is sorted on SetID.

v Record Type. The type of the match for the record within each set ID. One of:

74 WebSphere QualityStage User Guide

Page 83: 25520509 Quality Stage 8 0 User Guide

– MP. Match pair

- MA. Master data file.

- MB. Reference file.– DB. Duplicate on the reference source

– CP. Clerical review pair from the data source and the reference source

– RA. Residual on the data sourcev Weight. The total calculated matching weight for all matching columns for the given row.

v Match Command. One column for each match command. Each column shows the value for the data

source column paired with the value for each reference column in the match command.

v Blocking Column. One column for each blocking column created. Each column shows the value for

the data source column paired with the value for the reference column.

v User Alignment. One column for each alignment created by using the Data Display Alignment

window.

Reviewing statistics for a pass

The Match Designer Pass Statistics area provides the options that you can use to evaluate your pass

results using statistical graphs.

Make sure a pass is selected and that you have run at least one test of it.

Statistics for each test run of the pass are saved in the Pass Statistics area. You can set one test run as the

baseline run and compare subsequent runs to it.

You can view the cumulative statistics for all passes in the Total Statistics area.

To review pass statistics:

1. Click Pass Statistics to open the Pass Statistics area.

2. To expand the Pass Statistics area, click-and-drag the flag above it.

3. To return to the Test Results area or the Blocking Columns and Match Commands area, click Pass

Definition.

The Pass Statistics tab contains two major components:

v Statistics table

v Pass Statistics summary chart

Creating a baseline run

The baseline run provides a control that you can compare subsequent runs to.

The statistics for each pass can be saved in a statistics table. You can use the table to compare statistics

for the most current run and a selected baseline run.

To create a baseline run:

1. To enable a pass run to be used as a baseline, click Save Current Statistics. The current statistics are

saved as a baseline run, which you can access from the Baseline Run drop-down list.

2. Select a run from the Baseline Run drop-down list.

3. If necessary, click Refresh to update the data in the table.

4. To delete information for a baseline run, complete the following steps.

a. Click Delete Baseline Data to open the Delete Baseline window.

b. In the Delete Baseline window, select the run you want to delete and click Delete.

For each type of statistical data, the table shows the following values:

Chapter 6. defining and testing match criteria 75

Page 84: 25520509 Quality Stage 8 0 User Guide

v current value

v baseline value

v difference between values

The Delta column has arrows that let you see quickly whether the current value or the baseline value is

greater for the following data:

v Matched pairs

v EXACT matched pairs

v Clerical pairs

Displaying graphs and charts

The Match Designer Statistics area provides pass data in graphical format.

You can view the information in the Pass Statistics chart in a variety of formats. You can also print the

chart.

To create graphs or charts:

1. In the Chart column of the table, click to select each type of statistic you want to display.

2. Select a chart type from the Chart Type drop-down list.

3. Select a style from the Chart Style drop-down list.

4. Click the Refresh button.

Note: If you select many types of statistics to display, certain styles of pie charts may become difficult

to read. In such a case, choose a pie chart with the style ″Use Small Values″.

5. To print the chart, click Print Chart.

Reviewing total statistics

The Match Designer Total Statistics provides you with statistical data in a graphical format for all the

passes that you run.

The cumulative statistics are of value only if you test multiple passes consecutively, in the order they

appear in the match specification. The Total Statistics page displays the following information:

v Cumulative statistics for the current runs of all passes in the match specification.

v Individual statistics for the current run of each pass.

v Charts that compare the statistics for the current run of all passes.

Note: The Total Statistics page does not display information on passes in the Match Pass Holding

Area.1. Click Test All Passes in the tool bar to run all active passes end to end taking the output of the

previous run as the input of the current run.

If you click the Total Statistics tab in step 4 without running all active passes, an alert message opens

asking you to run passes.

2. To test the first pass of the specification, click Test Pass on the Pass Definition tab, and select Test

with sample input data set.

3. Test the subsequent passes in order as shown in the following steps:

a. Click Test Pass on the Pass Definition tab.

b. Select Test with output of previous Pass (unless your Test Pass is for Unduplicate Independent

Match type).4. Click Total Statistics.

76 WebSphere QualityStage User Guide

Page 85: 25520509 Quality Stage 8 0 User Guide

The Cumulative Statistics table shows additive values for the current runs of all passes. The Match Pass

tables show values for the current run of each pass.

Related concepts

“Limiting record pairs with blocking” on page 55

Displaying cumulative statistics charts

The Total Statistics area provides a Cumulative Statistics chart that displays information for the runs of

all passes.

You can view the information in the chart in a variety of formats. You can also print the chart to your

default printer.

To view cumulative statistics:

1. In the Chart column of the Cumulative Statistics table, click to select each type of statistic you want to

display.

2. From the Chart By drop-down list, select one of the following items:

v Statistic

v Pass3. Select a chart type from the Chart Type drop-down list.

4. Select a style from the Chart Style drop-down list.

5. Click the refresh button.

6. To print the chart: Click Print Chart.

Chapter 6. defining and testing match criteria 77

Page 86: 25520509 Quality Stage 8 0 User Guide

78 WebSphere QualityStage User Guide

Page 87: 25520509 Quality Stage 8 0 User Guide

Chapter 7. Grouping records that share attributes

The Unduplicate Match stage processes records into a single output that share common attributes.

An example of grouping records might be that you locate all records that apply to the same individual,

household, or event. In addition, you could unduplicate a file to group all invoices for a customer or

merge a mailing list.

The Unduplicate Match stage accomplishes the following actions:

v Categorizes all records with weights above the match cutoff as a set of duplicates.

v Identifies a master record by selecting the record within the set that matches to itself with the highest

weight. The master record is associated with its set of duplicates.

v Determines that records not part of a set of duplicates are residuals. The residuals and the master

records are generally made available for the next pass.

v Excludes duplicates in subsequent passes. However, you can choose the Independent match type if you

want duplicates to be included in subsequent passes.

The output of the Unduplicate Match stage can include master records, duplicates above the match

cutoff, clerical duplicates, and residuals. You can use this output as input to the Survive stage.

Related concepts

“The Unduplicate Match stage” on page 4The Unduplicate Match stage declares all records with weights above the match cutoff value,

duplicates.

About the Unduplicate Match stage

The Unduplicate stage accepts input from two sources and requires a Match specification. The

Unduplicate Match stage uses the Match specification to group and match the data.

The Unduplicate Match stage links to two sources. You can link source data from any parallel database,

file or processing stage. To add source data to the Unduplicate Match, you need links from the following

areas:

v A link from the standardized data you want to unduplicate.

v A link from the frequency information for that data, as generated by the Match Frequency stage.

Which option goes to which link is controlled in the Stage Properties → Mapping tab of the Stage

Properties.

When you configure the stage, you must designate an existing Match specification from the repository.

This Match specification must be of the unduplicate type and be based on the column definitions of the

data you are inputting to the Unduplicate Match Stage.

The Unduplicate Match stage matches and groups your input data based upon the Match specification.

You select which columns to output.

Unduplicate Match stage workflow

The Unduplicate Match stage requires an unduplicate match specification, standardized data, and

frequency information to process data according to particular attributes.

A typical workflow for using the Unduplicate Match stage would include the following:

© Copyright IBM Corp. 2004, 2006 79

Page 88: 25520509 Quality Stage 8 0 User Guide

v Standardize the source data.

v Prepare a representative sample data set from the source data.

v Use the Match Frequency stage to generate frequency information.

v Use the Match Designer to create a match specification for unduplicates.

v Use the Match Frequency stage to create frequency information for the match columns for all records

of the source data, referencing the match specification.

v Create a WebSphere QualityStage job using the Unduplicate Match stage, with the source data and the

frequency information as input. Configure the output as described in this chapter.

v Use the output information from the Unduplicate Match stage as input to the Survive Stage.

Setting up an Unduplicate Match job

The Unduplicate Match job requires that you add the Unduplicate Match stage icon to the job and link it

to two source stages and up to four output stages.

The Unduplicate Match stage requires an unduplicate match specification that is based on the column

definitions of the data you are adding to the stage.

To set up an Unduplicate Match job:

1. Create a new parallel job or open an existing parallel job.

2. If the Palette is not displayed, click View → Palette to display it.

3. In the Palette, click Data Quality.

4. Select the Unduplicate Match stage icon and drag it onto the Designer canvas.

5. Drop the icon near the middle of the canvas.

6. From the palette, add one input stage in which to attach the standardize data and one input stage to

attach the frequency data.

Generally, your source data comes from a file or database but you can also use other stages to

preprocess it before inputting it to the Unduplicate Match stage.

7. From the palette, drag up to four output stages, based on the output options you want to use in the

Unduplicate Match stage.

For the output stages, you can use any parallel file, database, or processing stage.

8. Right-click on the source stage and drag a link to the target stage.

9. Configure the input stages, loading the table definitions for your input data and for the frequency

information.

If you did not save the table definition for the frequency information when you created it, you can

do so by opening a job that includes the Match Frequency stage.

10. Specify output destinations for the output stages.

11. Rename the stages and links with meaningful names that reflect their functions in the job or project.

Once you have set up the job, you need to:

v Configure the stage.

v Set the stage properties. .

v Save and Compile the job.

v From the WebSphere DataStage Director, run your job. Related tasks

“Saving the Match Frequency table definition” on page 52Running the Match Frequency stage creates a table definition that you should save to use with the

Unduplicate or Reference Match stages.

80 WebSphere QualityStage User Guide

Page 89: 25520509 Quality Stage 8 0 User Guide

Configuring the Unduplicate Match stage

You must configure the Unduplicate Match stage before you run the job.

When you configure the Unduplicate Match stage, you perform the following actions:

v Select an Unduplicate Match type match specification stored in the repository. This specification must

be based upon the column definitions in your input data.

v Select the match type.

v Select the match outputs. The number of outputs you select must equal the number of output links

from the stage.

v Set stage properties.

To configure an Unduplicate Match stage:

1. In the QualityStage job, double-click the Unduplicate Match stage icon to open the Unduplicate

Match Stage window.

2. Select the Match specification that matches your input data. It must be of the unduplicate type. When

you select it, it is shown in the Match Specification field.

3. In the Match Type area, select one of the following options:

v Dependent. The default and most common choice. After the first pass, duplicates are removed from

match consideration in subsequent passes.

v Independent. Duplicates are included in subsequent passes.4. In the Match Outputs area, select the outputs you want to create. You can select up to four outputs.

Be aware of the following conditions:

v You must have an output link for each selection.

v No record can be sent to more than one link.

The choices are the following outputs:

– Match. The master records.

– Clerical. The duplicates that fall in the clerical range.

– Duplicate. The duplicates that are above the match cutoff.

– Residual. The unassociated records (residuals).5. Click Stage Properties to set stage properties.

6. Click OK to close the Unduplicate Match Stage window and save the configuration.

Related tasks

“Configure the Mapping tab” on page 17Specifies the columns that comprise an output report.

Selecting match types

Unduplicate Match stage uses two match types, independent where duplicates are included in later

passes, and dependent where duplicates are removed after the first pass.

When you use Unduplicate Match stage, you can select one of two match types.

v Dependent. The default choice. After the first pass, duplicates are removed from match consideration

in subsequent passes.

v Independent. Duplicates are included in subsequent passes. Across all passes, all records that match to

any given record are also considered matched to each other.

For example, if records A and B match in pass 1, records B and C match in pass 2, and records C and

D match in pass 3, then records A, B, C and D are matched to each other.

Chapter 7. Grouping records that share attributes 81

Page 90: 25520509 Quality Stage 8 0 User Guide

Usually, you would choose Dependent match type, since you want duplicates removed from

consideration so that they do not match to other records in subsequent passes.

However, the Independent option is useful in circumstances where you want to link people or

organizations regardless of address. For example, you can link together all the locations where a doctor

practices.

An example of match type processing

The following example shows how to use the Independent match type option with the Unduplicate

Match stage. The table shows four records that describe the same person. You require that all records

concerning the same person match without regard to address.

Record Name Address Tax Identifier

1 William Nickson 123 Rodeo Drive 123456789

2 Bill Nixon 123 Rodeo Drive

3 B Nickson 978 Sunset Blvd. 123456789

4 Nickson 456 Western Ave. 123456789

The matching process using this data can yield different results depending on whether you choose the

Dependent or Independent match type:

v Dependent Match

The first pass blocks and matches on Name and Address. Records 1 and 2 are considered a matched

pair. Records 3 and 4 are considered residuals.

If Record 2 (without the TaxID) is selected as the master, and Record 1 is considered a duplicate, then

Record 1 is not available for the second pass.

If the second pass blocks and matches on Name and TaxID, then only Records 3 and 4 match. The

result is two groups of matched records: Records 1 and 2, and Records 3 and 4.

v Independent Match

The first pass results are the same as the Dependent Match. Records 1 and 2 are considered a matched

pair. Records 3 and 4 are considered residuals.

If Record 2 (without the TaxID) is selected as the master record in the second pass, the duplicate

record, Record 1, is also compared to the rest of the records. When you block on Name and TaxID,

records 1, 3, and 4 match. Since Record 1 matched Record 2 in the first pass, the output is one group

with all four records linked.

Selecting output options

The Unduplicate Match stage takes up to four output links and links to any parallel database or file

stage, and most processing stages.

You can send records to different links using one of the following options:

v Match. The master records.

v Clerical. The duplicates that fall in the clerical range.

v Duplicate. The duplicates that are above the match cutoff.

v Residual. The unassociated records (residuals).

Each of these options must connect to a separate link. Which option goes to which link is controlled in

the Stage Properties → Link Ordering tab.

If you want, you can add other WebSphere DataStage stages (such as the Funnel stage) to group some or

all of the output into a single file or table.

82 WebSphere QualityStage User Guide

Page 91: 25520509 Quality Stage 8 0 User Guide

The columns available for output consist of all the input columns, plus additional columns created by the

match process.

The residual output includes the following columns:

v qsMatchDataID. The data record ID.

v qsMatchType. The match type code, one of:

– XA. Master record.

– CL. Clerical review master record.

– DA. Duplicate of a master or clerical master record.

– RA. Residual.v qsMatchSetId. The match set identifier. (For residuals, this is the same as the data record ID.

The non-residual output (Match, Clerical, and Duplicate) includes the previous three columns in addition

to the following columns:

v qsMatchWeight. The weight.

v qsMatchPattern. The pattern.

v qsMatchLRFlag. ″L″ for left, ″R″ for right.

v qsMatchExactFlag. ″X″ if the match is exact.

v qsMatchPassNumber. The number of the pass where the match was found.

Chapter 7. Grouping records that share attributes 83

Page 92: 25520509 Quality Stage 8 0 User Guide

84 WebSphere QualityStage User Guide

Page 93: 25520509 Quality Stage 8 0 User Guide

Chapter 8. Matching data from dual sources

The Reference Match stage takes data from two input sources, acts on one of four different types of

matches, and outputs data to six links.

The Reference Match stage uses the following two sources of data for matches:

v A data source

v A reference source

These sources can be links from any parallel database, file or processing stage.

You choose one of four types of matches to apply to the data:

v Many-to-one. Any reference source record can match many data source records. Any one data source

record can only match one reference source record.

For example, if 101 Main St. on the data source matches to two records on the reference source: 101-199

Main St SW and 101-199 Main St SE, the first reference source record is the matched record and the

other is disregarded.

v Many-to-one Multiple. Each reference source record having the same weight as the matched pair

when it is scored against the data record is flagged as a duplicate record. Any one data source record

may match more than one reference source record.

For example, if 101 Main St. on the data source matches to two records on the reference source: 101-199

Main St SW and 101-199 Main St SE, one reference source record is the matched record and the other is

the duplicate.

v Many-to-one Duplicates. Similar to the Many-to-one Multiple option, except that additional reference

source records that match to a level above the duplicate cutoff value are flagged as duplicates. This

means that records with lower weights than the match weight can be flagged as duplicates.

For example, if 101 Main St on the data source matches to three records on the reference source:

101-199 Main St SW, 101-199 Main St SE, 101 Main Rd, one would get 101-199 Main St SW as the

match and both of the other addresses could be duplicates.

v One-to-one. Matches a record on the data source to only one record on the reference source. A record

on the reference source can only match to one data source record.

Related concepts

“The Reference Match stage” on page 4The Reference Match stage matches reference data to source data using a variety of match processes.

“One-to-one matching examples” on page 100The matching methodology used by WebSphere QualityStage was tested extensively by matching a

sample of individuals counted in the U.S. Census to a Post Enumeration Survey with the object of

determining which individuals and households were present in both the census and survey.

“Many-to-one matching examples” on page 100Many-to-one matching is used for matching a single data source against a reference source with the

object of providing information that the data source lacks.

“Grouping records into sets” on page 101The definition of an unduplicate match job for WebSphere QualityStage is to group records into sets

having similar attributes.

Reference Match stage workflow

The Reference Match stage requires standardized data and reference data as source data, a reference

match specification, and frequency information for both sources.

© Copyright IBM Corp. 2004, 2006 85

Page 94: 25520509 Quality Stage 8 0 User Guide

The output of the Reference Match stage includes master records, clerical review records, duplicates, and

residuals. You can use this output as input to the Survive stage.

A typical workflow for using the Reference Match stage would include the following tasks:

v Standardize the source data for the data source and the reference source.

v Prepare representative sample data sets from the source data.

v Use the Match Designer to create a match specification for a reference match.

v Use the Match Frequency stage to create frequency information for the entire data source and

separately for the entire reference source, referencing the match specification.

v Set up a QualityStage job using the Reference Match stage, with data source, reference source, and the

frequency information for each as inputs.

v Configure the Reference Match stage and output format.

How to use the Reference Match stage

The Reference Match stage takes up to four input sources. These sources can be from any parallel

database, file or processing stage.

v Data source

v Reference source

v Match Frequency stage generated frequency information for the data source

v Match Frequency stage generated frequency information for the reference source

When you configure the stage, designate an existing Reference type Match specification from the

repository based on the column definitions of the data and reference sources.

The Reference Match stage matches and groups your input data based upon the Match specification. You

select which columns to output.

Output Options

The Reference Match stage takes up to six outputs. This lets you send records from each of the following

categories to different outputs using these options:

v Match. The matched records for both inputs.

v Clerical. The clerical review records for both inputs.

v Data Duplicate. The duplicates in the data source.

v Reference Duplicate. The duplicates in the reference source.

v Data Residual. The residual records (non-matches) from the data input.

v Reference Residual. The residual records (non-matches) from the reference input.

You can link from the output of the Reference Match Stage to any parallel database or file stage and to

most processing stages.

Each of these options require a separate output. Which option goes to which output is controlled in the

Stage Properties → Mapping tab.

If you have many output links, you can verify that the links are correct in Stage Properties → Link

Ordering tab.

If desired, you can add other WebSphere DataStage stages, such as the Funnel stage, to group some or all

of the output together.

86 WebSphere QualityStage User Guide

Page 95: 25520509 Quality Stage 8 0 User Guide

The columns available for output consist of all the input columns plus additional columns created by the

match process.

Set up the Reference Match job

A Reference Match job requires that you add the Reference Match stage to the Designer client canvas, and

link it to data and reference sources and output stages.

First, you must open the Designer client.

To set up a Reference Match job:

1. Create a new parallel job or open an existing parallel job.

2. If the Palette is not displayed, click View → Palette to display it.

3. On the Palette, click Data Quality.

4. Click the Reference Match icon and drag it onto the canvas.

5. From the palette, select two Sequential files from the File group to create the following two source

stages:

v Data source

v Reference sourceGenerally, your source data comes from a file or database but you can also use other stages to

preprocess it before adding it to the Reference Match stage.

6. From the palette, add up to six target stages, based on the output options you want to use in the

Reference Match stage.

For the target stage, you can use any parallel file, database, or processing stage.

7. Right click the Reference Match stage and drag a link from the Reference Match stage to the source

and target stages.

8. Configure the input stages, loading the table definitions for your input data and for the frequency

information.

9. Specify output destinations for the target stages.

10. Rename the stages and links with meaningful names that reflect their functions in the job or project.

Once you have set up the job, you need to:

v Configure the stage, as described in the next section.

v Set the stage properties.

v Save and compile the job.

v Run the job. Related tasks

“Saving the Match Frequency table definition” on page 52Running the Match Frequency stage creates a table definition that you should save to use with the

Unduplicate or Reference Match stages.

“Configure the Mapping tab” on page 17Specifies the columns that comprise an output report.

Configure the Reference Match stage

When you configure the Reference Match stage, you select an existing Reference-type Match specification

stored in the repository, select the match type, and select the match outputs. The number of outputs you

choose must match the number of output links from the stage. In addition, you set stage properties.

To configure a Reference Match stage:

Chapter 8. Matching data from dual sources 87

Page 96: 25520509 Quality Stage 8 0 User Guide

1. In the Reference Match job, double-click the Reference Match stage icon to open the Reference Match

Stage window.

2. Browse for a match specification that matches your input data. When you select it, it appears in the

Match Specification field.

3. In the Match Type area, select one of the following match types:

v Many-to-one

v Many-to-one Multiple

v Many-to-one Duplicates

v One-to-one

4. In the Match Outputs area, select the outputs you want to create. You can select up to six outputs. Be

aware of the following conditions:

v You must have an output link for each selection.

v No record can be sent to more than one link.5. Click OK to leave the stage, or click Stage Properties to set stage properties.

88 WebSphere QualityStage User Guide

Page 97: 25520509 Quality Stage 8 0 User Guide

Chapter 9. Creating a survived record

The Survive stage constructs column values from groups of related or duplicate records and stores the

column values in the survived record (the best result) from each group.

The Survive job is the last job in the WebSphere QualityStage workflow and is usually run after the

Unduplicate Match stage job. The output from the Unduplicate Match stage, and in some cases the

Reference Match stage, becomes the source data that you use for the Survive stage.

The Survive stage accepts all basic data types (non-vector, non-aggregate) other than binary. The Survive

stage accepts a single data source from any of the following groups:

v database connector

v flat file

v data set

v processing stage

The Survive stage requires one input source. If your input is the result of a match stage, you need to set

up another stage (for example, a Funnel stage) to combine the master and duplicate records into one

input source.

While it is not necessary to process the data through the match stages before you use the Survive stage,

the source data must include related or duplicate groups of rows. Also, the data must be able to be sorted

on one or more columns that identify each group. These columns are referred to as group keys.

To order the records, you sort on the group key or keys so that all records in a group are contiguous. The

Survive stage automatically sorts records if the Pre-sort Input Option is selected in the Survive Stage

window. However, the automatic sort provides no control over the order of the records within each

group. To control the order within groups, you can presort the input by using the Sort stage.

The Survive stage can have only one output link. This link can send output to any other stage. You

specify which columns and column values from each group create the output record for the group. The

output record can include the following information:

v An entire input record

v Selected columns from the record

v Selected columns from different records in the group

You select column values based on rules for testing the columns. A rule contains a set of conditions and a

list of one or more target columns. If a column tests true against the conditions, the column value for that

record becomes the best candidate for the target. After each record in the group is tested, the columns

that are the best candidates are combined to become the output record for the group.

To select a best candidate match, you can specify multiple columns, for example:

v Record creation date

v Data source from which the record originated

v Length of data in the column

v Frequency of data in a group

For example, the Unduplicate Match stage identified the following portions of three records as

representing the same person using different variations of the name.

© Copyright IBM Corp. 2004, 2006 89

Page 98: 25520509 Quality Stage 8 0 User Guide

Column Name

qsMatchSetID Given Name Middle Initial Family Name Suffix

9 JON SMITH JR

9 J SMITHE

9 JOHN E SMITH

The Survive stage constructs the best record using length analysis on the columns Given Name, Middle

Initial, and Suffix, and using frequency analysis on the column Family Name, with the following result.

Column Name

qsMatchSetID Given Name Middle Initial Family Name Suffix

9 JOHN E SMITH JR

Related concepts

“Consolidating and creating a survive record” on page 4The Survive stage allows you to specify the columns and column values from the group of input

records that create the output record.

Creating a survival record

You set up and configure the Survive stage to create a survived record.

Before you can add source data to the Survive stage, all input records must be combined into one input

source.

To create a survived record:

1. Set up the Survive job.

2. Configure the Survive stage.

a. Define survive rules:

v “Defining simple survive rules” on page 92

v “Defining complex survive expressions” on page 93b. Set stage properties.

3. Compile the job.

4. Run the job.

Related tasks

“Setting up a survive job” on page 91A Survive job requires that you link a single input stage and a single output stage to the Survive

stage.

“Configuring the Survive job” on page 91You need to configure the Survive stage and Sequential files before you run a Survive job.

“Defining simple survive rules” on page 92To identify a target (data columns) for output records, the Survive stage requires a rule that contains

one or more targets and a TRUE condition expression.

“Defining complex survive expressions” on page 93To identify a target for output records, the Survive stage requires a rule that contains a target and a

TRUE condition expression.

“Configure the Mapping tab” on page 17Specifies the columns that comprise an output report.

90 WebSphere QualityStage User Guide

Page 99: 25520509 Quality Stage 8 0 User Guide

Setting up a survive job

A Survive job requires that you link a single input stage and a single output stage to the Survive stage.

First, you must open the Designer client.

To set up a survive job:

1. Create a new parallel job or open an existing parallel job.

2. If the Palette is not displayed, click View → Palette to display it.

3. Click Data Quality and locate the Survive stage.

4. Drag the Survive stage icon onto the canvas and drop it in the middle of the canvas.

5. In the Palette, perform the following steps:

a. Click the File group and drag one Sequential file to the Designer canvas.

b. Drop it to the left of the Survive stage icon.

c. Drag a second Sequential file and drop it to the right of the Survive stage icon.

d. Click General and drag the Link to add a link between the Survive stage and the left Sequential

file. To add links, you can also right-click the Sequential file and drag the mouse to the Survive

stage.

e. Drag another link from the Survive stage and the right Sequential file.6. Rename the stages and links.

Related tasks

“Creating a survival record” on page 90You set up and configure the Survive stage to create a survived record.

Configuring the Survive job

You need to configure the Survive stage and Sequential files before you run a Survive job.

When you configure the Survive stage, you choose simple rules that are provided in the New Rules

window or you select the Complex Survive Expression to create your own custom rules. You use some or

all of the columns from the source file, add a rule to each column, and apply the data. After the Survive

stage processes the records to select the best record, this information is sent to the target file.

1. Double click the source file.

2. To configure the source file, follow these steps:

a. From the Properties window, click Source: File to activate the File: field.

b. Select Browse for file.

c. Locate the directory where you stored the input data file.

d. Select the file. The file name displays in the Source: File pane.

e. Click OK to close the Properties window. 3. Double click the Survive stage icon on the Designer client canvas.

4. To configure the Survive stage, follow these steps:

a. In the Survive Stage window, click the Select the group identification data column to select the

column that contains the ID number for each matched group. If you are using data from a Match

stage, this would be the qsMatchSetId column.

b. If your input data is already sorted on the group keys that you specified in substep a, select

Don’t pre-sort the input data.

Otherwise, the Survive stage sorts the input data on the column selected in substep a.

c. Click New Rule to add a new survive rule.

Chapter 9. Creating a survived record 91

Page 100: 25520509 Quality Stage 8 0 User Guide

d. In the Survive Rules Definition window, select one or more columns from the Available Columns

list.

e. Click

to add the selection to the Targets list in the Specify Output Column(s) area.

If you are creating a complex survive expression, select AllColumns to preserve the entire record.

f. Create a simple rule or a rule that uses a complex expression by selecting one of the following

procedures:

Option Description

“Defining simple survive rules” You define a simple rule by selecting a Technique and

applying it to a selected column.

“Defining complex survive expressions” on page 93 You define a complex expression by clicking the

Complex Survive Expression button and building a

condition for a selected column.

5. Click OK to return to the Survive Stage window.

6. Click Stage Properties → Output → Mapping tab.

You configure the Mapping columns to specify which target columns you want to send to the output

Sequential file. When you select rules for the Survive stage, the Mapping tab displays only the target

columns that you selected when creating rules.

7. Copy the columns from the left pane to the right pane.

8. Click OK twice to save your changes and exit the stage.

9. Click Compile. The Compile window displays information about the compile process.

10. When the compile ends without errors, open the WebSphere DataStage Director and click Run.

Related tasks

“Configure the Mapping tab” on page 17Specifies the columns that comprise an output report.

“Creating a survival record” on page 90You set up and configure the Survive stage to create a survived record.

Defining simple survive rules

To identify a target (data columns) for output records, the Survive stage requires a rule that contains one

or more targets and a TRUE condition expression.

In the Survive stage, you define a simple rule by specifying each of the following elements:

v Target column or columns

v Column to analyze

v Technique to apply to the column that is being analyzed

The rule is defined for you depending on the Technique that you select. See step 2.

To define a simple rule:

1. In the Analyze Column field, click the drop-down menu to select the column you want to analyze.

You are selecting a column as the target to which to compare other columns. If you selected a single

target column such as AllColumns, you can select Use Target to analyze that column. The values in

the selected target column survive depending on criteria set for that column. Only one column is

analyzed by each rule, but values for multiple target columns can survive as a result.

2. In the Technique field, select the Technique to apply to the column being analyzed.

Techniques are commonly used survive rules that are compressed into a single, descriptive name. The

following table lists the available Techniques and their associated pattern, where column is the column

92 WebSphere QualityStage User Guide

Page 101: 25520509 Quality Stage 8 0 User Guide

name to be analyzed, DATA is the contents of the Data column, c. is the current record to be analyzed,

and b. is the best record analyzed so far.

Technique Pattern

Shortest Field SIZEOF(TRIM(c."column"))<= SIZEOF(TRIM(b."column"))

Longest Field SIZEOF(TRIM(c."column"))>= SIZEOF(TRIM(b."column"))

Most Frequent FREQUENCY

Most Frequent [Non-blank] FREQUENCY (Skips missing values when counting most

frequent.)

Equals c."column" = "DATA"

Not Equals c."column" <> "DATA"

Greater Than c."column" >= "DATA"

Less Than c."column" <= "DATA"

At Least One 1 (At least one record survives, regardless of other rules.)

3. If the Technique you selected was Equals, Not Equals, Greater Than, or Less Than, enter a value, field

name, or expression in the Data field.

For all other Techniques, enter nothing in the Data field.

4. Click OK to add the rule. The Survive Rules Definition window closes and the rule appears in the

Survive Stage window.

You can add, modify, or delete simple rules for all the columns that you want to appear in your target

data in the same manner.

If you have multiple rules, you can reorder them in the Survive Stage window.

Related tasks

“Creating a survival record” on page 90You set up and configure the Survive stage to create a survived record.

Defining complex survive expressions

To identify a target for output records, the Survive stage requires a rule that contains a target and a

TRUE condition expression.

In the Rule Expression Builder, you define a rule by specifying each of the following elements:

v a current record from the Columns list

v one or both functions

v an operator

v a best record from the Columns list

v one or both functions

To define a complex survive rule:

1. Click Complex Survive Expression to display the Rule Expression Builder.

2. To create a complex expression, follow these steps:

a. From the Functions list, double-click the SIZEOF function. The SIZEOF function determines the

number of characters including spaces in a string-type column.

b. In the Expression field, place the cursor between the parentheses that follow the SIZEOF function.

c. Double-click the TRIM function. The TRIM function strips the leading and trailing spaces from the

string-type column.

d. In the Expression field, place the cursor between the parentheses that follow the TRIM function.

Chapter 9. Creating a survived record 93

Page 102: 25520509 Quality Stage 8 0 User Guide

e. From the Columns list, double click to select a current record. A current record is a column name

preceded by the letter c; for example, c.AddressLine.

f. In the Expression field, click to the right of all parentheses.

g. From the Operations list, double-click to select the operation that best compares the two records.

h. Repeat steps a to d.

i. From the Columns list, double-click to select a best record. A best record is a column name

preceded by the letter b; for example, b.AddressLine.

j. To check your expression for the correct syntax, click Check Expression.

If an error in syntax occurred, a message describes the error and where it occurred. The cursor

moves to the error in the Expression field. You should correct the error and click Check Expression

again.3. Click OK to add the rule. The expression checker checks the rule again to ensure that it is

syntactically correct.

Note: Even though the syntax is correct does not mean that the rule makes sense in the context of the

data. You need to evaluate the logic of the rules as you construct them.

The Survive Rules Definition window closes, and the rule appears in the Survive Stage window.

Related tasks

“Creating a survival record” on page 90You set up and configure the Survive stage to create a survived record.

Applying survive rules

The Survive stage analyzes record columns by applying simple or complex rules to the column and

selecting the best column based on the rule.

To apply survival rules to the input columns, the Survive stage includes:

v A set of pre-defined Techniques (packaged survive expressions) from which you can select

v The Rule Expression Builder for creating your own complex expressions

To consider a target as the best candidate for the output record requires a rule that comprises one or

more targets and a TRUE conditional expression. A condition is made up of:

v Column names

v Constant or literal values

v Operators that specify comparison or arithmetic operations

You can create more than one rule for a target. In addition, you can use any input column for testing the

condition. The column can be the target or another column that is not associated with the target.

About the Survive stage rule processing

The Survive stage evaluates the columns to the rule and selects those that meet the conditions of the rule

as best columns.

The Survive stage reads the first record and evaluates the record according to any rule that you select.

The evaluation process uses the following method:

v If the first record has no best columns then the selected rule for the target record is evaluated against

all the columns in the record. If a target record passes the test, its columns become best columns and a

b appears in front of the column names.

94 WebSphere QualityStage User Guide

Page 103: 25520509 Quality Stage 8 0 User Guide

v Each subsequent record in the group is evaluated in relation to the current record. If a target record

passes the test then its columns become the best columns and replace any existing best columns. If

none of the current columns meets the conditions, the best columns remain unchanged.

v After all records in the group are evaluated, the values that are designated as the best values are

combined in the output record. Survive continues the process with the next records.

Rule processing example

The following rule states that COLUMN3 of the current record should be retained if the column contains

five or more characters and COLUMN1 has any contents.

COLUMN3: (SIZEOF (TRIM c.COLUMN3) >= 5) AND (SIZEOF (TRIM c.COLUMN1) > 0) ;

This rule is created by selecting COLUMN3 as the target and using the Rule Expression Builder to create

the complex expression.

This table shows the number of characters in the three records in the first record group.

Record COLUMN1 COLUMN3

1 3 2

2 5 7

3 7 5

Record 1 has two characters in COLUMN3 and three characters in COLUMN1. This record fails the test,

because COLUMN3 has less than five characters.

Record 2 has seven characters in COLUMN3 and five in COLUMN1. This record passes the conditions

for the rule. The current COLUMN3 (from the second record) becomes the best column.

Record 3 has five characters in COLUMN3 and seven in COLUMN1 and also passes the conditions.

COLUMN3 from this record replaces the best value as the new best value.

When you define multiple rules for the same target, the rule that appears later in the list of rules has

precedence.

For example, if you define two rules for the target COLUMN1, the record value that meets listed

conditions for the second rule becomes the best value. If no target passes the second rule, the best values

for the first rule become part of the output record.

Rule syntax

A rule comprises one or more targets and a true conditional statement. The conditional statement consists

of a column name, constant or literal values, and comparison or arithmetic operations.

Typical Survive rules require special syntax. The following example shows the syntax for a rule:

TARGETS: CONDITIONS;

Use the following elements when creating a rule:

v You can have multiple targets for the same rule. A space separates individual targets in a list; a colon

(:) separates the list of targets from the condition.

v Use only one condition in a rule.

v Every column must be prefixed with a c. to indicate the current record or a b. to indicate the best

record.

v Parentheses () can be used for grouping complex conditions.

Chapter 9. Creating a survived record 95

Page 104: 25520509 Quality Stage 8 0 User Guide

v Integer constants are indicated with a number, for example 9.

v String literals are enclosed in quotation marks, for example ″MARS″.

v A rule can extend over several lines.

v A semicolon (;) terminates a rule.

Rule operators

The Survive stage supports the following types of operators.

Table 1. List of operators for string and integer columns

Mathematical operator Description

= Equals

<> or != Not Equals

> Greater Than

< Less Than

>= Greater Than or Equals

<= Less Than or Equals

Table 2. List of operators for integer columns

Mathematical operator Description

+ Addition

- Subtraction

* Multiplication

/ Division (drops the remainder)

% Modulo (evaluates the remainder)

Table 3. List of logical operators

Operator Description

AND Binary logical ″and″ (expression1 AND expression2 is true

if both expressions are true.)

OR Binary logical ″or″ (expression1 OR expression2 is true if

either expression is true.)

NOT Unary logical ″not″ (NOT expression1 is true if expression1

is false.)

Table 4. List of supported Survive stage functions

Function Description

SIZEOF The number of characters, including spaces in a

string-type; the number of decimal digits in an

integer-type column

TRIM Strips leading and trailing spaces from string-type

columns

Examples

First record in a group survives

To assign the first record in the group as the best record, you must select the Target name

96 WebSphere QualityStage User Guide

Page 105: 25520509 Quality Stage 8 0 User Guide

<AllColumns>. Select as your test column one that always has a value. You can then define the

following rule for test column named TEST. This rule should appear before any other rules in the

Survive stage.

<AllColumns>: SIZEOF (TRIM b.TEST) = 0) AND (SIZEOF(TRIM c.TEST)

>= 0)

Date column as a target

With the DATE column selected as the target, you can compare the column for the greater value:

DATE: c.YEAR > b.YEAR

Multiple targets

With the NAME and PHONE columns selected as the target, their current values should survive

if the current year is greater than the best year:

NAME PHONE: c.YEAR > b.YEAR

Using the length of data

To use the data length in a column, the column must be a string column use type. You can use

the SIZEOF and TRIM operators. In the example, the first name and middle name columns

(FNNAMES and MNNAMES) were selected as targets. The rule causes the first name and middle

name to survive based on the longest first name.

FNNAMES MNNAMES: (SIZEOF (TRIM c.FNNAMES) > SIZEOF (TRIM b.FNNAMES);

Using the file from which the record originated

To use the file from which the record originated, you assign each record a file identifier. You then

define the condition for that column.

Multiple rules

If you have multiple rules for the surviving column, the value that satisfies the later rule is the

survivor. In the following example, the <AllColumns> Column Name was selected as the target

for the first three rules to ensure that the entire record survives the analysis. TRUE, TYPE, FREQ,

FIRSTACC, and V9 are columns in the record.

<AllColumns>: (c.TYPE <>"DD") ;

<AllColumns>: (c.FREQ>b.FREQ) ;

<AllColumns>: (c.FIRSTACC = 1) ;

V9: (c.V9 > b.V9) ;

Use the rules if the following conditions are true:

v If a record satisfies the last rule for the target <AllColumns> and the value for column

FIRSTACC is 1, the record becomes the best record (b.RECORD).

v If more than one record in the group passes the last rule, the latest record processed that

satisfies the rule survives.

v If no records pass the FIRSTACC rule, the last record processed that passes the

c.FREQ>b.FREQ rule survives.

v If no records pass the FREQ rule, the last record processed that passes the c.TYPE<> ″DD″ rule

survives.

v If no records pass any of the rules, the surviving record is all blanks.

This set of rules has a rule for one of the columns (V9) in the record to survive. Because the V9

rule appears later in the list of rules than the rules for <AllColumns>, V9 takes precedence over

the value that survives for that column in the record. The following example uses three records in

a group with the following values:

TYPE FREQ FIRSTACC V9

MD 3 2 19990401

DD 4 1 19990314

DN 5 4 19980302

Chapter 9. Creating a survived record 97

Page 106: 25520509 Quality Stage 8 0 User Guide

The Survive stage processes the records using the rules and the second input record survives the

rule for the <AllColumns> target because FIRSTACC=1, but the first input record provides the

surviving value for V9. If the FIRSTACC is not equal to 1 for any of these records, the third

record survives the <AllColumns> target because it has the highest value for the FREQ column.

The following record survives:

TYPE FREQ FIRSTACC V9

DD 4 1 19990314

98 WebSphere QualityStage User Guide

Page 107: 25520509 Quality Stage 8 0 User Guide

Chapter 10. Blocking and matching concepts

While the WebSphere QualityStage match functionality automates the process of linkage, you should

know how to evaluate the results, estimate probabilities, set error thresholds, and perform other related

tasks.

To accomplish these tasks, you need some understanding of the theory of record linkage.

If you have a statistical background, the theory of record linkage as implemented with WebSphere

QualityStage is explained in depth in the following papers:

Fellegi, I.P. and Sunter, A. B. (1969) ″A Theory for Record Linkage,″ Journal of the American Statistical

Association, 64, 1183-1210.

Jaro, M. A. (1989) ″Advances in Record-Linkage Methodology as Applied to Matching the 1985 Census of

Tampa, Florida″, Journal of the American Statistical Association, 84, No. 406, 414-420

Related concepts

“Matching data strategy” on page 56

About record linkage

Individual record linkage involves two sources, a data source and a reference source.

The WebSphere QualityStage record linkage system provides the following matching types:

v One-to-one matching

v Many-to-one matching

v Many-to-one Duplicates

You can perform all of these matching functions on flat files, data sets, or records from relational

databases. The Designer interface lets you manage the data and report on it. You can perform clerical

review using the separate Clerical Review product.

The purpose of a record linkage application is to find records pertaining to the same person, household,

event, and so forth, even though the source data can contain missing or incorrect information.

Geographic coding involves matching a single data source to a reference source with the object of

obtaining geographic location information on the data source.

Unduplicate involves identifying all records on a single source that pertain to the same individual,

household, event, and so forth.

Record linkage has the following basic concepts:

v For two sources, classify each record pair as being matched or unmatched.

v All columns in common provide information as to whether the pair is a match or not.

v Columns can contain missing values or errors.

When you perform individual record linkage on two sources, it generally does not matter which is the

main source. However, selecting one source as the master or larger source, makes analysis easier.

© Copyright IBM Corp. 2004, 2006 99

Page 108: 25520509 Quality Stage 8 0 User Guide

Each source consists of columns that contain the information to match. The use of scientific methods of

record linkage is necessary since all columns contain errors or missing values. The purpose is to find

matches with a reasonable statistical assurance.

One or more columns on the data source must have equivalent columns on the reference source.

For example, to match on family name and age, both sources require columns containing this

information. The location, name, and length of a column in the data source could be different from its

equivalent column in a reference source.

As an experiment in record linkage, one could create a set of all possible record pairs as follows.

v The first pair of records would contain record 1 from the data source and record 1 from the reference

source.

v The second pair would contain record 1 from the data source and record 2 from the reference source,

until n X m pairs (where n is the number of records from the data source and m is the number of

records from the reference source) were formed.

One-to-one matching examples

The matching methodology used by WebSphere QualityStage was tested extensively by matching a

sample of individuals counted in the U.S. Census to a Post Enumeration Survey with the object of

determining which individuals and households were present in both the census and survey.

The National Highway Traffic Safety Administration matches highway traffic accident reports filled out

by the police to injury records completed by emergency medical service and hospital personnel. This

provides a way to measure how highway safety countermeasures affect medical outcomes.

If you match files of cancer cases to files containing information about exposure to certain risks or to

death index files, you can obtain data about morbidity and mortality of various forms of cancer. You can

correlate various occupations to various forms of cancers.

Matching files containing administrative data is useful in a number of areas. For example, if juries are

chosen from both drivers license records and voter registration rolls, the two files should be matched to

determine which individuals are on both files, so they are not twice as likely to be selected for a jury as

persons on only one file.

Matching administrative files can also provide data that is missing from one set of files. For example, a

driver’s license file could provide information regarding age, gender, or race, while a voter’s file might

provide a national identity number.

Related concepts

Chapter 8, “Matching data from dual sources,” on page 85The Reference Match stage takes data from two input sources, acts on one of four different types of

matches, and outputs data to six links.

Many-to-one matching examples

Many-to-one matching is used for matching a single data source against a reference source with the object

of providing information that the data source lacks.

A reference source record can match to many records on the data source. This is different from individual

matching, where matching an individual record means that the record cannot match any other record.

Examples of many-to-one matching are:

v Matching a purchased mailing list against a list of customers. The mailing list can have duplicates or

many lists may have been integrated. Consequently more than one record on the mailing list can match

to the list of customers.

100 WebSphere QualityStage User Guide

Page 109: 25520509 Quality Stage 8 0 User Guide

v Matching a file of sales activities or accounts receivable to the file of customers. There may be more

than one sale for any given customer.

v Reference match where any number of records on the data source could match to the same record on

the reference source.

A major application of reference match is address matching, where you match a data source containing

street addresses to a geographic reference source to obtain latitude-longitude coordinates, census tract

numbers, special area codes, and other information.

Note: Reference sources providing this information are readily available. Examples include the Census

TIGER files, The GDT reference sources, the Etak reference sources, the postal code files, and

others.

v Address matching where a data source containing postal addresses is matched to a reference source

such as a postal code file.

The purpose of such a match is to take an address and match it to a reference source containing

addresses in order to obtain a code or geographic coordinates. For example, 103 Main St. would match

to a record like 101-199 Main St. Obviously, there can be more than one user record within that block,

so multiple records on the data source might match to a single record on the reference source.

Other examples of address matching include:

v Matching a file of cancer cases to produce a computer-generated map showing where the cases

occurred.

v Matching a file of park visitors to the census reference sources to obtain the census tracts where the

visitors reside.

This can be used to prepare a demographic profile of the visitors.

v Matching a customer file to a geographic coordinate file to produce an automated map showing the

location of the customers.

v Matching a file of ambulance calls or fires to a file containing fire district codes to produce a map

showing locations of such events.

To perform address matching, the files containing the addresses must be standardized so that each

address component is in a separate column. You can use the Standardize stage to accomplish this.

Three types of many-to-one options are available in the Reference Match stage.

Related concepts

Chapter 8, “Matching data from dual sources,” on page 85The Reference Match stage takes data from two input sources, acts on one of four different types of

matches, and outputs data to six links.

Grouping records into sets

The definition of an unduplicate match job for WebSphere QualityStage is to group records into sets

having similar attributes.

The unduplicate match has many applications such as grouping all hospital charges for a patient together,

standard mailing list merge and purge, and enterprise grouping (householding). All enterprises that share

a common thread are grouped together locating all persons in a specific household or building.

It is important to mention that unduplicate does not imply that you are only searching for duplicate

records in a source. Although you might want to do this, unduplicate provides the capability of grouping

records on any set of criteria given that there can be errors in any identifier or variable.

The process of unduplicate involves a single data source instead of two sources. The unduplicate process

operates by forming a block of records, in the same way that the matching process reads blocks with

identical keys.

Chapter 10. Blocking and matching concepts 101

Page 110: 25520509 Quality Stage 8 0 User Guide

A matrix of weights is computed by comparing each record in the block with all other records (including

itself). The matrix is searched for the maximum weight entry (not including records matched to

themselves). All elements in the same row or column with weights above the cutoff threshold are

considered a set of duplicates.

Once the records for a set are chosen, a master record is selected by choosing the record within the set

that matched to itself with the greatest weight. This insures that the master record is the most complete

record, since missing values receive less weight than coded values. The master record and its set of

duplicates is called a pseudo match.

The set of records for one pseudo match are removed, and the process continues until all sets for the

block are found. Those records that remain isolated are called residuals. When the block is exhausted,

another block is read, until the end of the input data is reached.

The master records and residuals from a pass are made available for the subsequent pass. When you use

the Dependent option, duplicates are taken out of consideration since you do not want a duplicate to

belong to more than one set. The master records are given priority in set construction, since one would

not want a master record in one pass to be a duplicate in another. It is possible that the sets of duplicates

can become fragmented using this methodology. The Independent option can be used to obtain

nonfragmented sets.

Related concepts

Chapter 8, “Matching data from dual sources,” on page 85The Reference Match stage takes data from two input sources, acts on one of four different types of

matches, and outputs data to six links.

Examples of using unduplicate match

Source unduplicate is used to purge an individual data source of multiple records pertaining to the same

individual, household, event, or other type of data.

The most obvious example of unduplicate is in purging mailing lists of duplicates.

Other examples of removing duplicates include the following situations:

v From a data source before updating or creating a database

v To obtain a clean set of data

v Identifying households (since all individuals are duplicates within a household address)

A variation of source unduplicate is source grouping. Examples include finding all members of a

household, all hospital charges associated with one patient, all customers in the same building, all

affiliated customers, and so forth.

Classifying record pairs

You can compare record pairs for matches and sort into matched pairs and unmatched pairs.

The objective of the record linkage process is to classify each pair as belonging to one of two sets:

v M. The set of matched record pairs

v U. The set of unmatched record pairs

For example, if you compare the pair created from record 123 on the data source with record 217 on the

reference source, you determine whether or not it is or is not a match. If it is not a match, it belongs in

set U. If it is a match, it belongs in set M.

When you enlarge this premise to 1000 records each, you can obtain 1,000,000 possible record pairs, but

only 1000 possible matches (if there are no duplicates on the files). Thus, set M contains at most 1000

pairs and set U contains the remaining 999,000 pairs.

102 WebSphere QualityStage User Guide

Page 111: 25520509 Quality Stage 8 0 User Guide

For data sources of reasonable size it is not feasible to compare all record pairs since the number of

possible pairs is the product of the number of records in each source. Only when you look at pairs of

records having a high probability of being matches and ignore all pairs with very low probabilities, does

it become feasible in a computational sense to use linkage with large data sources.

For a record linkage application to be useful, it needs a human to examine columns for any record on the

data source and the equivalent columns for any record on the reference source, and declare with

reasonable certainty that the record pair examined is a match or a nonmatch.

For example, if the only column in common between two sources were gender, no one would say that, if

the gender agreed, the pair represented the same individual. However, if both sources contained a

column for a national identity number, one could claim that a match represented the same individual.

To determine if a record linkage application is feasible, do the following tasks:

v Multiply the number of possible values in each column

v Compare the results with the number of records in both sources

If the product is much greater than the number of records, the application is probably feasible.

For example, if the columns gender, age and middle initial were the only columns that could serve as

matching columns, the following calculation can be made:

v Gender has two possible values

v Age has about 100

v Middle initial has 26

v 2 x 100 x 26 = 5200

Since there are only 5200 possible values for the columns, only very small data sets can be matched with

any confidence. The probability that more than one record is an exact duplicate and does not represent

the same individual is very high with a source size of 5200. The actual probabilities would depend on the

distribution of the values in the columns.

About blocking

Blocking provides a method of limiting the number of pairs to examine.

When you partition both data sources into mutually-exclusive and exhaustive subsets and only search for

matches within a subset, the process of linkage becomes manageable.

The following lists some basic blocking concepts:

v Blocking partitions the sources into subsets that make computation feasible.

v Blocking variables are like sort keys.

v Block size is the single most important factor in match performance.

v Blocks should be as small as possible.

To understand the concept of blocking, consider a column such as age. If there are 100 possible ages, this

variable partitions a source into 100 subsets. The first subset contains individuals having an age of zero,

the next subset contains those with an age of 1, and so forth. These subsets are called blocks. If the age

values are uniformly distributed, there are 10 records out of the 1000-record source.

The pairs of records to be compared are taken from records in the same block. The first block would

consist of all persons of age 0 on each data source. This would be 10 times 10 or 100 record pairs. The

Chapter 10. Blocking and matching concepts 103

Page 112: 25520509 Quality Stage 8 0 User Guide

second block would consist of all persons on each data source with an age of 1. When the process is

complete, you would have compared 100 (blocks) x 100 (pairs in a block) = 10,000 pairs, rather than the

1,000,000 record pairs required without blocking.

Blocking compares all records having the same value as the blocking variables. Records that do not match

on the blocking variables are automatically classified as non matched.

For example, if you run a match where age is the blocking variable, you can rematch any records that do

not match using another blocking scheme, such as residential postal code. If a record does not match on

age in pass one, it has a possibility to match on a postal code in pass two. Thus, only those cases that

have errors on both the age and postal code columns are unmatched. If necessary, run a third pass with

different blocking variables. Errors on all three blocking variables are unlikely.

Related concepts

“Limiting record pairs with blocking” on page 55

Blocking strategies

Blocking strategies are used to limit the number of records to compare.

Smaller blocks are many times more efficient than larger blocks. Use restrictive blocking schemes in the

first pass. For instance, blocking on age and gender divides the sources into sets of 0 year old males, 0

year old females, 1 year old males, 1 year old females, and so forth.

The matcher computes composite weights for all pairs in the set. WebSphere QualityStage then finds the

mathematically optimal sets of matches and duplicates on each source.

In order to do this, the matcher maintains a matrix of weights that can be optimized. This matrix is size

limited so the number of records in a set is limited. If the matrix size is exceeded, all records in the set

are skipped and must be handled by a subsequent matching pass.

Avoiding block overflow

To avoid block overflow, the number of records to be compared in one block must not exceed system

memory on the server and the total number of records on either source in one block must not exceed the

block overflow setting.

For many-to-one runs, an overflow occurs only when more than 10,000 reference source records are read

in one block.

For large sets, the matcher performs many more comparisons which reduces efficiency. Try to keep the

block sizes as small as possible and compensate for errors in blocking by running multiple passes.

Applying blocking variables

The best blocking variables are those with the largest number of values possible and the highest

reliability.

You should base your blocking strategy on the following principles:

v Make blocking sets as small as possible. Ten to 20 records per source is a good size. Efficiency becomes

quite poor when blocks exceed 100 records per source.

v Use multiple passes to define different sets.

v Find easy matches quickly, then widen the net in your subsequent passes.

v Consider a pair of sources containing the following columns:

– family name

– middle initial

– given name

104 WebSphere QualityStage User Guide

Page 113: 25520509 Quality Stage 8 0 User Guide

– gender

– birth date (year, month, day)

The first pass could be blocked on family name, gender and birth year. The pairs that did not match

for the first pass would be input to the second pass. The second pass could be blocked on birth

month, birth day, the first character of the given name, and middle initial. Usually, two passes are

enough to match most cases.v Convert all missing values to nulls. Failure to do this creates large blocks.

For example, if a national identity number were present in only half the records, but the missing values

were reported as spaces instead of nulls, all of the blank numbers would form one large block, causing

incorrect results and possible block overflow. Similarly, remove bogus values such as UNKNOWN from

any variables that are used as blocking variables.

Individual identification numbers

Block sources containing individual identification numbers such as national identity number, medical

record numbers, claim numbers, and so forth on one of these numbers in pass 1, even if the numbers are

missing or in error in a sizable percentage of the records.

Suppose the sources contain a national identity number in 50 percent of the records. Pass 1 should be

blocked by national identity number. The matcher skips all records with no national identity number.

These skipped records are applied to pass 2. However, we matched a fairly large percentage of the

records very easily.

If there are several identification numbers, use them on the first two passes. After that, try other

variables. These numbers are ideal for blocking variables, since they partition the records into a large

number of sets.

Birthdates

Birthdates are excellent blocking variables.

For example, by using the DataStage Transformer stage, you can separate the birthdates into three

columns: BirthYear, BirthMonth and BirthDay. For larger sources (over 100,000 records), use all three

columns as a pass 1 blocking variable. For smaller sources, use BirthYear, BirthMonth and an additional

variable such as Gender. Subsequent passes can use blocks containing BirthDay.

Event dates

Event dates, such as an accident date, claim date, hospital admission date, and so forth, are useful as

blocking variables.

Names

A phonetic encoding (such as Soundex or NYSIIS codes) of the last name is a useful blocking variable.

For large sources, combine this code with the first letter of the first name, or birth year. Remember that

women often change their last names, so subsequent passes should block on other variables.

Addresses

Postal addresses present a wealth of information for blocking. For example, postal codes, and a phonetic

encoding (Soundex or NYSIIS) of street name or city name are all excellent choices. Remember, that

people may change their address, so that too much weight should not be given to the address.

Related tasks

Chapter 10. Blocking and matching concepts 105

Page 114: 25520509 Quality Stage 8 0 User Guide

“Specify blocking variables” on page 64Blocking variables create subsets of data that are compared to records.

Examples of blocking strategies

You design the strategies to use for blocking.

The following examples provide some considerations about setting up useful blocking strategies.

For example:

v Two data sources containing a date, given name, family name and gender:

pass 1: date and gender

pass 2: Soundex of family name and first two characters of given name

pass 3: Soundex of given name, year and month (from date)

v Two data sources containing a date, last name, city, and postal code:

pass 1: date and gender

pass 2: postal code

pass 3: Soundex of family name and first two characters of city

v Two data sources containing national identity number, last name, first name, and birth date:

pass 1: national identity number

pass 2: birth date

pass 3: Soundex of family name, birth year

Each succeeding pass has diminishing returns. Three passes may not be worthwhile in terms of

additional matches found. Notice how sometimes variables are taken whole (birth date) or divided into

parts (birth year). Where necessary, this is accomplished by manufacturing the additional columns.

For sources with limited information, a reverse Soundex code is often useful for blocking. The reverse

Soundex is formed by looking at the name backwards and computing a Soundex. For example, the

reverse of JONES would be SENOJ. Since the Soundex algorithm preserves the first letter, running a

reverse Soundex accounts for errors at the beginning of names.

Use your imagination to design good strategies. Remember to keep the first passes more restrictive than

the later passes.

Selecting the matching variables

The Match Designer reads a set of records (block) from each data source and compares all of the

matching variables to obtain a composite weight for each pair of records in the set.

In general, all variables that are in common on both data sources (except for the blocking variables) are

match variables.

There are two important rules for selecting matching variables:

v Each variable contributes some information as to whether two records should match. Even unreliable

variables or variables that are often missing can still be of use. Do not discard a variable because it is

suspect.

v For any pass, include all variables as matching variables except the blocking variables for that pass.

Thus, the matching variables will be different for each pass.

If a blocking variable is a Soundex code, or part of a name (say the first three characters) be sure to

include the entire name as a matching variable. Agreement on Soundex is not a guarantee that the names

are the same.

106 WebSphere QualityStage User Guide

Page 115: 25520509 Quality Stage 8 0 User Guide

For any given pass, the match variables are or are not also the blocking variables. In contrast, if a variable

is a blocking variable, one does not make it a match variable. However, if all variables are included in all

match commands, the weights generated are identical for each pass.

Include all variables in common on both sources as match variables. It is best to include even those

variables with a low m probability, so that there is not much penalty for mismatches.

If the number of match variables are decreased, the results are higher match rates. Decreasing the number

of variables that participate in a match also decreases the discriminating ability to differentiate the correct

matches from the incorrect matches.

For example, matching a pair of sources on the variable Gender alone matches almost all the records, but

one has no confidence that the matches pertain to the same individuals on both sources.

The blocking statements for pass one specify the sort keys for bringing together records in pass one and

the match commands specify the columns to be compared for pass one. Rejects from pass one go into

pass two, where the blocking statements specify the sort keys for pass two, and the matching commands

specify the columns compared for pass two.

Estimating probabilities

The information contained in the variables to be matched helps the Match Designer determine which

record pairs are matches and which are nonmatches.

Each column provides some information. Taken together, all the columns should determine the status of

the pair being examined.

Some columns provide information more reliably than others. For example, it would be unreasonable to

sort both sources on the gender variable, and assert that if the gender agrees, the record pair represents

the same individual. However, it would not be unreasonable to sort both sources on the national identity

number, and assert that if this number agrees the record pair represents the same individual.

Each column has two probabilities associated with it. These are called the m and u probabilities.

v If the record being examined is a matched pair, the possibility that a column agrees is the m

probability. The more reliable a column, the greater is the m probability.

You can estimate the m probability, if you are unsure about the appropriate values. 0.9 is always a

good estimate for the m probability. The higher the m probability, the greater is the disagreement

weight. So if a column is very important, give the m probability higher values.

If the m probability is high, then a disagreement of that column is a rare event in a matched pair and

consequently, the penalty for a nonmatch is high. The weights computed from the probabilities are

visible in the data viewer of the Match Designer, so you can inspect the results.

Use the following guidelines when determining weights.

– Give high m probabilities to the columns that are most important and reliable.

– Give lower m probabilities to the columns that are often in error or incomplete.

– The m probability must always be greater than the u probability and must never be zero or 1.v If the record being examined is an unmatched pair, the possibility that a column agrees is the u

probability. Since there are so many more unmatched pairs possible than matched pairs, this

probability is effectively the probability that the column agrees at random. For example, the probability

that the gender variable agrees at random is about 0.5. There are four possibilities as shown in the

following table:

Record 1 Record 2

M F

M M

Chapter 10. Blocking and matching concepts 107

Page 116: 25520509 Quality Stage 8 0 User Guide

Record 1 Record 2

F M

F F

You can guess the u probability since the frequency analysis program will replace any guess with

actual values. A good starting guess is to make the u probability 1/n values, where n values is the

number of unique values for the column.

The frequency analysis program uses the frequency information you input to the Match Designer to

obtain a u probability for each value. This is important for variables with nonuniform distributions.

Related concepts

“Setting the probability agreement” on page 57The m probability reflects the error rate for the column.

“Using random probability” on page 57The u probability is the likelihood that a column agrees at random. If a u probability is high, the

weight is low.

Running a match test

When you run a match test, for the first run, set the cutoff ranges low.

Sort your match design test run in descending order of weight. Examine the results. If at a certain weight

range, the decisions seem to be poor, set the clerical cutoff at this point. If it appears that incorrect

decisions are being made at higher weight ranges, the columns should be given higher m probabilities.

Probabilities like 0.99999 are possible for very important columns. This assigns a very large penalty if this

column disagrees.

The gray area is fairly large since only matches and clerical review cases are assigned in pairs. If the

cutoff weights are too high, you can have too many unmatched cases which makes it difficult to obtain a

good value for the cutoffs.

It is important to know that even exact matching is subject to the same statistical laws as probabilistic

matching, since it is possible to have two records match identically and not represent the same

individual.

Column estimates

You must provide an estimate for the m and u probabilities for each column.

The Match Designer computes accurate u probabilities by using the frequency information for all values

in the columns. The frequency information allows the Match Designer to vary the weights according to

the particular values of a column.

For example, in using a variable such as RELIGION, the values Christian and Muslim are probably fairly

common. However, a value such as Ba’ hai would be relatively rare. A match on such a value should get

a much higher weight than a match on the more common religions because the probability of chance

agreement on Ba’ hai is relatively low compared to chance agreements on the other values.

If it is necessary to explicitly control the u probabilities, you should specify the vartype NOFREQ in the

Vartype (Special Variable Properties) window of the Match Designer. In this case, the user-supplied value

of the u probability is used. NOFREQ should be used where the variable represents an individual

identification number (such as national identity number or a Patient Identification Number).

Agreement weight

The weight for a column is computed as the logarithm to the base two of the ratio of m and u.

108 WebSphere QualityStage User Guide

Page 117: 25520509 Quality Stage 8 0 User Guide

To see how this translates into actual values, consider the values for gender and the national identity

number variables where gender has a 10 percent error rate and national identity number has a 40 percent

error rate.

The m probability for gender is 0.9. The u probability is 0.5. Therefore, the weight for gender is shown in

the following example:

log2

(m/u) = ln(m/u)/ln(2) = ln(0.9/0.5)/ln(2) = 0.85.

Conservatively, assume that the probability of chance agreement of national identity number is one in 10

million. Given m as 0.6 (40% error rate in matched pairs), the weight for national identity number is

ln(0.6/0.0000001) = 22.51.

Thus, the weight for a match on the gender variable is 0.85 and a match on national identity number is

worth 22.51. The weights have captured what is intuitively known about the variables.

Composite weights

For each record pair compared, a composite weight is computed and stored.

The composite weight is the sum of the individual weights for all column comparisons.

If a column agrees with the pair being compared, the agreement weight, as computed previously, is used.

If a column disagrees with the pair being compared, the disagreement weight is computed as shown in

the following example:

log2

[(1-m)/(1-u)]

This results in column disagreements receiving negative weights. Thus, agreements add to the composite

weight and disagreements subtract from the composite weight. The higher the score, the greater the

agreement.

Histogram and setting cutoff values

The match cutoff is a composite weight above which records are considered to be reliably matched.

The clerical cutoff is a composite weight above which records are considered to be possible matches.

Records with weights between the match and the clerical cutoff are known as clericals and typically

would be examined manually to determine whether they truly match. If you do not want to treat clericals

in a special way, make the match cutoff weight equal to the clerical cutoff weight.

Cutoff weights can be negative values, if desired. However, the quality of matches at levels below zero

will definitely be very poor

The Match Designer histogram displays the distribution of the composite weights. This histogram would

have many values at highly negative weights, since most cases are unmatched pairs. However, the

matcher does not spend much time comparing records that are obvious disagreements, and thus, negative

weights are not often shown.

There is another bulge at highly positive weights for the matched cases. The cutoff value for the match

run can be set by inspecting this histogram. The clerical review cutoff should be the weight where the

bump in the histogram reaches near the axis, the other cutoff weight should be where the unmatched

cases start to dominate. Experimentation and examination of the results is the best guide for setting the

cutoffs. See ″Using the frequency/weight histogram″ .

For a Reference Match with Many-to-One Duplicates option set, there is an additional cutoff weight

called the duplicate cutoff. The duplicate cutoff weight specifies the lowest weight that a duplicate can

have. It must be higher than the match cutoff weight. Setting the duplicate cutoff weights very high

inhibits the identification of duplicates. Duplicates cannot be under the match weight, since a duplicate

Chapter 10. Blocking and matching concepts 109

Page 118: 25520509 Quality Stage 8 0 User Guide

record is tied to the matched pair. Any duplicate with a weight beneath the match cutoff weight and

above the clerical cutoff weight is put into the clerical review category.

Related tasks

“Navigating the frequency/weight histogram” on page 71The Frequency/Weight histogram, at the top of the Test Results area, is a graphical representation of

the distribution of weights assigned by the run of a match pass.

The matching algorithm

The matching algorithm can be summarized as follows.

v A block of records is read from data source or in a Reference Match from both a data source and

reference source.

v All columns are compared and a composite weight is computed for each possible record pair in the

block.

– Reference Match

A matrix of composite weights is created. The matrix size is nXm, where n is the number of data

source records in the block and m is the number of reference source records in the block. The

elements of the matrix are the composite weights.

– Unduplicate Match

A matrix of composite weights is created. The matrix size is nXn, where n is the number of data

source records in the block. The elements of the matrix are the composite weights.v Matches are assigned.

The assigned elements are examined. If they have a weight greater than the cutoff values, they are

matched or considered clerical review pairs.

v Duplicates are detected on both sources by examining the row and column of an assigned pair.

If there is more than one element whose weight is greater than the cutoff weight, it is a potential

duplicate.

The matches, clerical review cases, and duplicates are removed from consideration in subsequent passes.

This prevents a record from being matched to different records in each pass. The residuals from a pass

participate in the next pass.

It is theoretically possible to match a record to a better record in a subsequent pass, but this record was

not found since it was removed from consideration. In practice, try to make the early passes the

gold-plated passes. These have the most restrictive blocking criteria. In subsequent passes, the net is

widened to try to find records having errors on the most discriminating columns. Consequently, a record

matching on an early pass is always a much better match than anything that would be found later.

The decision to remove matches from consideration in future passes makes data management much

easier. If each pass produced a different set of possibilities, you would have to arbitrate the results from

each set to decide on the correct outcome. This of course, could remove matches from other sets. Thus by

keeping only one match for each record, performance is greatly improved, the quality of the matches is

excellent and user interaction is dramatically reduced.

If it is important to retain matches in a number of passes, you can specify a number of single pass match

stages and arbitrate the differences by grouping all match results into sets.

Reverse matching

By default, the agreement weight is assigned whenever the columns agree and the disagreement weight

is assigned whenever the columns disagree. But with the following comparison types you can use reverse

matching to assign the agreement weight whenever the columns disagree and the agreement weights

whenever the columns agree.

v CHAR

110 WebSphere QualityStage User Guide

Page 119: 25520509 Quality Stage 8 0 User Guide

v CNT_DIFF

v DATE

v DELTA_PERCENT

v INT_TO_INT

v NUMERIC

v PREFIX

v PRORATED

v UNCERT

You invoke reverse matching in the Match Command window of the Match Designer. First select one of

the appropriate comparison types, then select an available column, and select Reverse.

For the comparison requiring arguments, such as PRORATED, the roles of the agreement weight and

disagreement weight are reversed. For example, the full agreement weight is assigned if the columns are

different to a degree greater than the parameter specified, and the full disagreement weight is assigned if

the columns are equal.

Special variable properties (VARTYPE)

Vartypes are used to indicate that some columns require special treatment. A vartype applies to all

passes. You can include more than one vartype for the same column.

The action argument can take one of the following values:

v CLERICAL [MISSINGOK]

Used where a disagreement on the column causes the record pair to be considered a clerical review

case regardless of the weight. For example, if you want to review any errors on birthdate, the column

is made clerical.

Generally, if one or both values for the variable are missing, the record pair is forced into clerical

review. Specify MISSINGOK if a missing value does not force the record pair being considered into

clerical review.

v CRITICAL [MISSINGOK]

Use where a disagreement on the column causes the record pair to automatically be considered a

nonmatch. For example, if you would never tolerate an error on birthdate, make the column critical. If

one or both values for the variable are missing, the record pair is rejected. MISSINGOK should be

specified if one or both values missing is acceptable.

v NOFREQ

Used when some columns have unique values, such as Social Security Number, and it is a waste of

time to conduct a frequency analysis of these columns. NOFREQ indicates that no frequency analysis

should be performed.

v CONCAT

Used when it is desirable to concatenate columns. For example, diagnostic codes can be highly

correlated to age and gender. It is not likely that a 20-year-old male will develop breast cancer. As

many as five columns can be concatenated .

Chapter 10. Blocking and matching concepts 111

Page 120: 25520509 Quality Stage 8 0 User Guide

112 WebSphere QualityStage User Guide

Page 121: 25520509 Quality Stage 8 0 User Guide

Chapter 11. Match comparisons

For the descriptions of each comparison, required data source and reference source columns are listed in

the order the columns appear in the Selected Column(s) list of the Match Command window in the

Match Designer when you select the comparison.

All of the following comparisons are used for matching single variables. Comparisons that can also be

used for matching array variables are marked with an asterisk (*). Comparisons that can be done for

unduplicate matches are marked with an equal sign (=).

Comparison Description

ABS_DIFF*= Absolute differences comparison

AN_DINT Double alphanumeric left/right intervals

AN_INTERVAL Alphanumeric odd/even intervals

CHAR*= Character comparison

CNT_DIFF*= Counting errors in columns

D_INT Left/right Interval comparison

D_USPS Left/right United States Postal Service interval

DATE8*= Date comparisons in the form of YYYYMMDD

DELTA_PERCENT*= Delta percentage comparison

DISTANCE= Geometric distance comparison

INT_TO_INT= Interval-to-interval comparison

INTERVAL_NOPAR Interval comparison

INTERVAL_PARITY Interval comparisons with parity

LR_CHAR Left/right character string comparison

LR_UNCERT Left/right uncertainty character comparison

MULT_EXACT= Multi-word exact

MULT_RANGE Multi-address range

MULT_UNCERT= Multi-word uncertainty

NAME_UNCERT*= First name uncertainty string comparison

NUMERIC*= Numeric comparison

PREFIX*= Prefix comparisons for truncated columns

PRORATED*= Prorated comparisons

TIME*= Time comparison

UNCERT*= Uncertainty character comparison

USPS United Stages Postal Service ranges

USPS_DINT United Stages Postal Service double interval comparison

USPS_INT= United Stages Postal Service interval comparison

ABS_DIFF comparison

You use ABS_DIFF to compare the absolute differences between numbers.

© Copyright IBM Corp. 2004, 2006 113

Page 122: 25520509 Quality Stage 8 0 User Guide

The ABS_DIFF comparison is an absolute difference comparison that compares two numbers, such as age

and assigns the full weight, if the numbers differ by less than or equal to the value of Param 1.

Otherwise, the full disagreement weight is assigned. You can use this comparison with arrays.

Required Columns

The following data source and reference source columns are required:

v Data. The number from the data source.

v Reference. The number from the reference source (only applies to a Reference Match).

Required Parameter

The following parameter is required:

Param 1. The absolute value of the difference in the values of the columns.

For example, you are comparing ages and specify 5 for Param 1. If the ages being compared are 24 and

26, the absolute difference is 2 and the full agreement weight is assigned. If the ages are 45 and 52, the

absolute difference is 7 and the full disagreement weight is assigned.

AN_DINT comparison

The AN_DINT comparison is a double alphanumeric left/right interval comparison that compares house

numbers in census, Etak, GDT DynaMap, or postal code files.

A single house number, which might contain alpha characters, is compared to two intervals. One interval

represents the left side of the street and the other represents the right side of the street.

For example, 123A is compared to the intervals 101-199 and 100-198. For a number to match to an

interval, both the parity (odd/even) and the range must agree. This comparison causes a special flag to

be set to indicate whether the left or the right interval matched.

The beginning number of an interval can be higher than the ending number and still match. Files can

have a high address in the FROM column and a low address in the TO column. For example, 153

matches both the range 200-100 and the range 100-200.

Required Columns

The following data source and reference source columns are required:

v Data. The number on the data source.

v Reference. The beginning range of the interval for one side of the street (such as from left) from the

reference source.

v Reference. The ending range of the interval for one side of the street (such as to left) from the reference

source.

v Reference. The beginning range of the interval for the other side of the street (such as from right) from

the reference source.

v Reference. The ending range of the interval for the other side of the street (such as to right) from the

reference source.

Required Mode

A mode is required. Choose one of the following modes:

v ZERO_VALID. Indicates zero or blanks should be treated as any other number.

v ZERO_NULL. Indicates zero or blank columns should be considered null or missing values.

114 WebSphere QualityStage User Guide

Page 123: 25520509 Quality Stage 8 0 User Guide

AN_INTERVAL comparison

The AN_INTERVAL comparison is an alphanumeric odd/even interval comparison that compares a

single number on the data source to an interval or range of numbers on the reference source.

These numbers can contain alphanumeric suffixes or prefixes. The number must agree in parity with the

low range of the interval. For example, an interval such as 123A to 123C is valid and contains the

numbers 123A, 123B and 123C.

A single number on the data source is compared to an interval on the reference source. If the number on

the data source is odd, the begin range number on the reference source must also be odd to be

considered a match. Similarly, if the number on the data source is even, the begin range on the reference

source must be even to be considered a match.

Interval comparison types are primarily used for geocoding applications, such as postal address matching

in which you are matching 123A Main St to the range 121 to 123C Main St. The single number on the

data source must be within the interval, including the end points, to be considered a match.

The beginning number of the interval can be higher than the ending number and still match. The files

have a high address in the FROM column and a low address in the TO column. For example, 153

matches both the range 200-100 and the range 100-200.

Required Columns

The following data source and reference source columns are required:

v Data. The number on the data source.

v Reference. The beginning range of the interval from the reference source.

v Reference. The ending range of the interval from the reference source.

Required Mode

A mode is required. Choose one of the following modes:

v ZERO_VALID. Indicates zero or blanks should be treated as any other number.

v ZERO_NULL. Indicates zero or blank columns should be considered null or missing values.

CHAR comparison

The CHAR comparison is a character-by-character comparison.

If one column is shorter than the other, the shorter column is padded with trailing blanks to match the

length of the longer column. Any mismatched character causes the disagreement weight to be assigned.

You can use the CHAR comparison with arrays and reverse matching.

Required Columns

The following data source and reference source columns are required:

v Data. The character string from the data source.

v Reference. The character string from the reference source (only applies to a Reference Match).

CNT_DIFF comparison

You can use the CNT_DIFF comparison to count keying errors in columns.

Chapter 11. Match comparisons 115

Page 124: 25520509 Quality Stage 8 0 User Guide

Some of these keying errors can include dates, telephone numbers, file or record numbers, and national

identity numbers. For example, you have the following birth dates appearing on both files, and you

suspect that these represent the same birth date with a data entry error on the month (03 vs. 08):

19670301

19670801

You can use this comparison with arrays and reverse matching.

Required Columns

The following data source and reference source columns are required:

v Data. The number from the data source.

v Reference. The number from the reference source (only applies to a Reference Match).

Required Parameter

The following parameter is required:

Param 1. Indicates how many keying errors will be tolerated.

The full agreement weight is always assigned if no keying errors are found. If you specify 1 and one

keying error is found, the weight assigned is calculated as follows:

agreement weight - 1/2 agreement weight + disagreement

weight.

Two or more errors result in the disagreement weight. The disagreement weight is always a negative

number. Thus, one error would yield a partial weight.

If you specify 2, the errors are divided into thirds. One error results in assigning the agreement weight

minus 1/3 the weight range from agreement to disagreement. Two errors would receive the agreement

weight minus 2/3 the weight range, and so on. Thus, the weights are prorated according to the

seriousness of the disagreement.

D_INT comparison

The D_INT comparison is a left/right interval comparison that compares house numbers in census files,

the Etak files, or the GDT DynaMap files.

A single house number is compared to two intervals. One interval represents the left side of the street

and the other represents the right side of the street. For a number to match to an interval, both the parity

(odd/even) and the range must agree.

Required Columns

The following data source and reference source columns are required:

v Data. The number on the data source.

v Reference. The beginning range of the interval for one side of the street (such as from left) from the

reference source.

v Reference. The ending range of the interval for one side of the street (such as to left) from the reference

source.

v Reference. The beginning range of the interval for the other side of the street (such as from right) from

the reference source.

v Reference. The ending range of the interval for the other side of the street (such as to right) from the

reference source.

116 WebSphere QualityStage User Guide

Page 125: 25520509 Quality Stage 8 0 User Guide

Required Mode

A mode is required. Choose one of the following modes:

v ZERO_VALID. Indicates zero or blanks should be treated as any other number.

v ZERO_NULL. Indicates zero or blank columns should be considered null or missing values.

D_USPS comparison

The D_USPS comparison is a left/right USPS®

interval comparison that processes United States Postal

Service (USPS) ZIP Code™

files or other files that might contain non-numeric address ranges.

The D_USPS comparison requires the column names for the house number (generally on the data source),

two intervals for house number ranges on the reference source, and control columns that indicate the

parity of the house number range.

Required columns

The following data source and reference source columns are required:

v Data. The number from the data source.

v Reference. (1) The beginning range of the interval for one side of the street (such as from left) from the

reference source.

v Reference. (2) The ending range of the interval for one side of the street (such as from left) from the

reference source.

v Reference. (3) The beginning range of the interval for the other side of the street (such as from right)

from the reference source.

v Reference. (4) The ending range of the interval for the other side of the street (such as to right) from

the reference source.

v Reference. (Control1) The odd/even parity for the range defined with reference columns (1) and (2).

v Reference. (Control2) The odd/even parity for the range defined with reference columns (3) and (4).

The control information from the USPS ZIP+4®

code is:

v O. The range represents only odd house numbers.

v E. The range represents only even house numbers.

v B. The range represents all numbers (both odd and even) in the interval.

v U. The parity of the range is unknown.

Required mode

A mode is required. Choose one of the following modes:

v ZERO_VALID. Indicates zero or blanks should be treated as any other number.

v ZERO_NULL. Indicates zero or blank columns should be considered null or missing values.

A house number on the data source is first compared to the interval range defined with reference source

columns (1) and (2). If the parity of house number agrees with the code defined with Control 1 and with

the parity of the house number defined with reference source column (1), and the intervals overlap, it is

considered a match. If not, the house number on the data source is next compared to the interval defined

with reference source columns (3) and (4).

DATE8 comparison

The DATE8 comparison allows tolerances in dates, taking into account the number of days in a month

and leap years.

Chapter 11. Match comparisons 117

Page 126: 25520509 Quality Stage 8 0 User Guide

The DataStage PX date fields and character date fields with the date format of yyyymmdd are supported.

You can use this comparison with arrays and reverse matching.

Required Columns

The following data source and reference source columns are required:

v Data. The date from the data source.

v Reference. The date from the reference source (only applies for a Reference Match).

Required Parameters

At least one of the following parameters are required:

v Param 1. The maximum number of days difference that can be tolerated when the data source date is

less than the reference source date. If you only specify Param 1, this is the number of days that can be

tolerated for either reference source date greater than data source date, or data source date greater than

reference source date.

v Param 2. (Optional) The maximum number of days difference that can be tolerated when reference

source date is less than data source date.

For example, you are matching on birth date and specified a 1 for Param 1. If the birth dates differ by

one day, the weight is the agreement weight minus 1/2 of the weight range from agreement to

disagreement.

Two or more days difference results in a disagreement weight. Similarly, if the value were 2, one day

difference reduces the agreement weight by 1/3 of the weight range and two days by 2/3.

An example is matching highway crashes to hospital admissions. A hospital admission cannot occur

before the accident date to be related to the accident. You might specify a 1 for Param 1, which allows the

admission date to be one day later (greater) than the crash date, and a 0 for Param 2, which does not

allow an admission date earlier than the crash date.

Note: An invalid date is treated as a missing value.

DELTA_PERCENT comparison

The DELTA_PERCENT comparison compares columns in which the difference is measured in

percentages.

One use for DELTA_PERCENTAGE is comparing age. For example, a one year difference for an 85

year-old is less significant than for a 3 year-old, but a 10% difference for each is more meaningful. You

can use this comparison with arrays and reverse matching.

Required Columns

The following data source and reference source columns are required:

v Data. The value from the data source.

v Reference. The value from the reference source (only applies for a Reference Match).

Required Parameters

One parameter is required and one parameter is optional.

v Param 1. The maximum percentage difference that can be tolerated. If you specify only Param 1, this is

the percentage that can be tolerated for either reference source value greater than data source value or

118 WebSphere QualityStage User Guide

Page 127: 25520509 Quality Stage 8 0 User Guide

data source value greater than reference source value. If you specified both parameters, Param 1 is the

maximum percentage tolerated for reference source value greater than data source value.

v Param 2. (Optional) The maximum percentage difference that can be tolerated when reference source

value is less than data source value.

For example, you are comparing age in two files. If you want tolerance of a ten percent difference in the

values, specify 10 for Param 1. A one percent difference subtracts 1/11 of the weight range (the difference

between the agreement and disagreement weight) from the agreement weight. A 10 percent difference

subtracts 10/11 of the difference in the weight range.

You would specify Param 2 = 5 if you want a five percent tolerance when the reference source value is

less than the data source value.

DISTANCE comparison

The DISTANCE comparison computes the Pythagorean distance between two points and prorates the

weight on the basis of the distance between the points.

You can use this comparison for matching geographic coordinates where the farther the points are from

each other, the less weight is applied.

Required Columns

The following data source and reference source columns are required:

v Data. The X coordinate from the data source.

v Data. The Y coordinate from the data source.

v Reference. The X coordinate from the reference source.

v Reference. The Y coordinate from the reference source.

Required Parameter

The following parameter is required:

Param 1. The maximum distance to be tolerated.

The distance is in the units of the coordinates. Coordinates must be positive or negative integers; decimal

places are not permitted. For example, if the coordinates are in thousandths of a degree, a maximum

distance of 100 tolerates a distance of 0.1 degrees.

If the distance between the points is zero, the agreement weight is assigned. If the distance is 0.05

degrees, the midpoint between the agreement and disagreement weight is assigned. If the distance is

greater than 0.1 degree, the disagreement weight is assigned.

Frequency analysis is not run on distance values.

INT_TO_INT comparison

The INT_TO_INT comparison matches if an interval on one file overlaps or is fully contained in an

interval on another file.

You could use this comparison type for comparing hospital admission dates to see if hospital stays are

partially concurrent, or for matching two geographic reference files containing ranges of addresses. You

can use this comparison with reverse matching.

Chapter 11. Match comparisons 119

Page 128: 25520509 Quality Stage 8 0 User Guide

Required Columns

The following data source and reference source columns are required:

v Data. The beginning range of the interval from the data source.

v Data. The ending range of the interval from the data source.

v Reference. The beginning range of the interval from the reference source.

v Reference. The ending range of the interval from the reference source.

Required Modes

A mode is required. Choose one of the following modes:

v ZERO_VALID. Indicates zero or blanks should be treated as any other number.

v ZERO_NULL. Indicates zero or blank columns should be considered null or missing values.

Example

The following example illustrates interval-to-interval comparisons.

Assume the interval from the data source is 19931023 to 19931031.

The interval from the reference source matches or does not match depending on whether the interval falls

within the data source interval.

v From 19931025 to 19931102, matches because 19931031 falls within the interval on the reference source

v 19930901 to 19931225, matches because the interval from the data source falls within the interval on

the reference source

v 19930920 to 19931025, matches because 19931023 falls within the interval on the reference source

v 19931030 to 19940123, matches because 19931031 falls within the interval on the reference source

v 19930901 to 19930922, does not match because the interval from the data source does not overlap the

interval on the reference source

INTERVAL_NOPAR comparison

The INTERVAL_NOPAR comparison is an interval noparity comparison that compares a single number

on the data source to an interval (range of numbers) on the reference source.

Interval comparisons are primarily used for geocoding applications. The single number must be within

the interval (including the end points) to be considered a match. Otherwise, it is a disagreement.

The beginning number of the intervals can be higher than the end number and still match; that is, the

files can have a high address in the beginning range column and a low address in the ending range

column. For example, 153 matches both the range 200-100 and the range 100-200.

Required Columns

The following data source and reference source columns are required.

v Data. The number from the data source.

v Reference. The beginning range of the interval from the reference source.

v Reference. The ending range of the interval from the reference source.

120 WebSphere QualityStage User Guide

Page 129: 25520509 Quality Stage 8 0 User Guide

Required Mode

A mode is required. Choose one of the following modes:

v ZERO_VALID. Indicates zero or blanks should be treated as any other number.

v ZERO_NULL. Indicates zero or blank columns should be considered null or missing values.

INTERVAL_PARITY comparison

The INTERVAL_PARITY comparison is an odd/even interval comparison that is identical to the

INTERVAL_NOPAR comparison, except that the number must agree in parity with the parity of the low

range of the interval.

A single number on the data source is compared to an interval on the reference source. If the number on

the data source is odd, the begin range number on the reference source must also be odd to be

considered a match. Similarly, if the number on the data source is even, the begin range on the reference

source must be even to be considered a match.

This type of comparison is used primarily for geocoding applications in comparing a house number on

the data source to a range of addresses on the reference source. Reference sources such as the ZIP Code™

files have a single odd or even interval.

The begin number of the intervals can be higher than the end number and still match; that is, the sources

can have a high address in the beginning range column and a low address in the ending range column.

For example, 153 matches both the range 199-101 and the range 101-199.

Required Columns

The following data source and reference source columns are required:

v Data. The number from the data source.

v Reference. The beginning range of the interval from the reference source.

v Reference. The ending range of the interval from the reference source.

Required Mode

A mode is required. Choose one of the following modes:

v ZERO_VALID. Indicates zero or blanks should be treated as any other number.

v ZERO_NULL. Indicates zero or blank columns should be considered null or missing values.

LR_CHAR comparison

The LR_CHAR comparison is a left/right character string comparison that can compare place and ZIP

Code™

information in geocoding applications.

A single column on the user data file must be matched to the two columns on the reference source on a

character-by-character basis.

Census Bureau Tiger files and other geographic reference sources contain a left ZIP code and a right ZIP

code, a left city code and a right city code. The left code applies if there was a match to the left address

range interval and the right code applies if there was a match to the right address range.

Required Columns

The following data source and reference source columns are required.

v Data. The column from the data source.

Chapter 11. Match comparisons 121

Page 130: 25520509 Quality Stage 8 0 User Guide

v Reference. The left field (ZIP code, city, etc.) from the reference source.

v Reference. The right field (ZIP code, city, etc.) from the reference source.

Required Mode

A mode is required. Choose one of the following modes:

v EITHER. The contents of the data source column must match either of the reference source columns

specified (or both) to receive the full agreement weight.

v BASED_PREV. Use the result of a previous D_INT comparison to decide which column to compare.

If you specify the EITHER mode, the data source column must match either of the reference source

columns to receive an agreement weight. If you specified the BASED_PREV mode, the data source

column must match to the first reference source column of a previous D_INT comparison or of a similar

double interval comparison in which the data source matched to the left interval, or the data source

column must match to the first reference source column of the previous D_INT in which the data source

matched to the right interval. If neither the left nor the right interval agrees, the missing weight for the

column is assigned.

LR_UNCERT comparison

The LR_UNCERT comparison is a left/right uncertainty string comparison that is used in conjunction

with geocoding applications for comparing place information.

Census files and other geographic reference sources contain a left postal code and a right postal code, a

left city code and a right city code, and so forth.

Required Columns

The following data source and reference source columns are required.

v Data. The column from the data source.

v Reference. The left column (city code for example) from the reference source.

v Reference. The right column (city code for example) from the reference source.

Required Parameter

The following parameter is required:

Param 1. The minimum threshold is a number between 0 and 900. The following guidelines explain how

the number is interpreted.

v 900. The two strings are identical.

v 850. The two strings can be considered the same.

v 800. The two strings are probably the same.

v 750. The two strings are probably different.

v 700. The two strings are different.

Required Mode

A mode is required. Choose one of the following modes:

v EITHER. The contents of the data source column must match either of the reference source columns

specified (or both) to receive the full agreement weight.

v BASED_PREV. Use the result of a previous D_INT comparison to decide which column to compare.

122 WebSphere QualityStage User Guide

Page 131: 25520509 Quality Stage 8 0 User Guide

If you specify the EITHER mode, the data source column must match either of the reference source

columns to receive an agreement weight. If you specified the BASED_PREV mode, the data source

column must match to the first reference source column of a previous D_INT comparison or of a similar

double interval comparison in which the data source matched to the left interval, or the data source

column must match to the first reference source column of the previous D_INT in which the data source

matched to the right interval. If neither the left nor the right interval agrees, the missing weight for the

column is assigned.

MULT_EXACT comparison

The MULT_EXACT comparison compares all words on one record in the column with all words in the

second record.

This comparison is similar to array matching, except that the individual words are considered to be the

array elements. This type of comparison allows matching of free-form text where the order of the words

may not matter and where there may be missing words or words in error. The score is based on the

similarity of the columns.

For example, the first address matches the second address if all words are inspected.

Building 5 Apartment 4-B

Apartment 4-B Building 5

Required Columns

The following data source and reference source columns are required.

v Data. The character string from the data source.

v Reference. The character string from the reference source.

MULT_RANGE comparison

The MULT_RANGE comparison matches a single house number to a list of house number ranges.

Each range must be separated by a pipe symbol (|). The tilde (~) is used to indicate the ranges, since the

hyphen may be a legitimate address suffix (123-A). The prefix ″B:″ can be used to signify both odd and

even numbers in the range. Otherwise, the parity of the low number is used.

101~199 | B:201~299|456|670 ½| 800-A~898-B|1000~

The following ranges result from the previous example.

101 to 199 odd numbers only

201 to 299 both odd and even number

456 (the one house number only)

670 ½ (the one house number only)

800-A to 898-B even numbers only

All even house numbers 1000 or greater.

Required Columns

The following data source and reference source columns are required.

v Data. The character string from the data source.

v Reference. The character string from the reference source.

MULT_UNCERT comparison

The MULT_UNCERT uncertainty character comparison routine compares all words on one record in the

column with all words in the second record.

Chapter 11. Match comparisons 123

Page 132: 25520509 Quality Stage 8 0 User Guide

The following examples show that the MULT_UNCERT comparison is the best choice to match these

addresses.

Building 5 Apartment 4B

Apartment 4-B Building 5

Required Columns

The following data source and reference source columns are required:

v Data. The character string from the data source.

v Reference. The character string from the reference source.

Required Parameter

The following parameter is required:

Param 1. The cutoff threshold is a number between 0 and 900.

v 900. The two strings are identical.

v 850. The two strings can be safely considered to be the same.

v 800. The two strings are probably the same.

v 750. The two strings are probably different.

v 700. The two strings are almost certainly different.

The weight assigned is proportioned linearly between the agreement and disagreement weights,

dependent upon how close the score is to the cutoff threshold. For example, if you specify 700 and the

score is 700 or less, then the full disagreement weight is assigned. If the strings agree exactly, the full

agreement weight is assigned.

NAME_UNCERT comparison

The NAME_UNCERT comparison compares first names, where one name could be truncated.

This comparison uses the shorter length of the two names for the comparison and does not compare any

characters after that length. You can use this comparison with arrays.

For example, the following two sets of first names would be considered exact matches:

AL ALBERT

W WILLIAM

This is different from the CHAR comparison where these two names would not match. The length is

computed by ignoring trailing blanks (spaces). Embedded blanks are not ignored.

Required Columns

The following data source and reference source columns are required:

v Data. The first name from the data source.

v Reference. The first name from the reference source (only applies for a Reference Match).

Required Parameter

The following parameter is required:

Param 1. The minimum threshold, which is a number between 0 and 900.

v 900. The two strings are identical.

124 WebSphere QualityStage User Guide

Page 133: 25520509 Quality Stage 8 0 User Guide

v 850. The two strings can be considered the same.

v 800. The two strings are probably the same.

v 750. The two strings are probably different.

v 700. The two strings are different.

The weight assigned is proportioned linearly between the agreement and disagreement weights,

dependent upon how close the score is to the cutoff threshold.

For example, if you specify 700 and the score is 700 or less, then the full disagreement weight is assigned.

If the strings agree exactly, the full agreement weight is assigned.

NUMERIC comparison

The NUMERIC comparison is an algebraic numeric comparison. Leading spaces are converted to zeros

and the numbers are compared.

You can use this comparison with arrays and reverse matching.

Required Columns

The following data source and reference source columns are required.

v Data. Column from the data source.

v Reference. Column from the reference source (only applies for a Reference Match).

PREFIX comparison

The PREFIX comparison compares character strings, one of which might be truncated.

This comparison uses the shorter length of the two strings for the comparison and does not compare any

characters after that length. You can use this comparison with arrays and reverse matching.

For example, a last name of ABECROMBY could be truncated to ABECROM. The PREFIX comparison

considers these two representations to be an equal match. This is different from the CHAR comparison

where these two names would not match. The length is computed by ignoring trailing blanks (spaces).

Embedded blanks are not ignored.

Required Columns

The following data source and reference source columns are required.

v Data. The string from the data source.

v Reference. The string from the reference source (only applies for a Reference Match).

PRORATED comparison

The PRORATED comparison allows numeric columns to disagree by a specified absolute amount that

you specify.

A difference of zero between the two columns results in the full agreement weight being assigned. A

difference greater than the absolute amount results in the disagreement weight being assigned. Any

difference between zero and the specified absolute amounts receives a weight proportionally equal to the

difference. You can use this comparison with arrays and reverse matching.

Small differences between the columns receive slightly less than the full agreement weight. Large

differences receive weights closer to the disagreement weight.

Chapter 11. Match comparisons 125

Page 134: 25520509 Quality Stage 8 0 User Guide

For example, if the absolute amount is 15 and the value from the reference source is greater by 18 than

the value from the data source, the comparison receives the full disagreement weight. If the value from

the reference source is greater by 8 than the value from the data source, the comparison receives a weight

exactly between the agreement and disagreement weight.

Required Columns

The following data source and reference source columns are required:

v Data. The numeric column from the data source.

v Reference. The numeric column from the reference source (only applies for a Reference Match).

Required Parameters

The following parameters are required:

Parameter 1 is required, Parameter 2 is optional:

v Param 1. The maximum absolute value difference that can be tolerated. If you specify only Param 1,

this is the difference that can be tolerated for either reference source value greater than data source

value or data source value greater than reference source.

If you specify both parameters, Param 1 is the difference tolerated for reference source value greater

than data source value.

v Param 2. (Optional) The absolute value difference that can be tolerated when reference source value is

less than data source value.

For example, if you are comparing two dates and specify 5 for Param 1 and 7 for Param 2, the reference

source value can exceed the data source value by 5 days, but the data source value can exceed the

reference source value by 7 days.

TIME comparison

The TIME comparison compares times in WebSphere DataStage PX time fields or character fields with

format HHMM or HHMMSS.

In the latter case, the time must be in 24 hour format in which 0 is midnight and 2359 is 11:59 PM. Times

can cross midnight since the difference is always the shortest way around the clock. You can specify an

acceptable maximum time difference in minutes. You can use this comparison with arrays.

A difference of zero between the two times results in the full agreement weight being assigned. A

difference greater than the absolute amount results in the disagreement weight being assigned. Any

difference between zero and the specified maximum time difference receives a weight proportionally

equal to the difference.

For example, if the maximum time difference is 10 and the times differ by 12 minutes, the comparison

receives the full disagreement weight. If the times differ by 5 minutes, the comparison receives a weight

between the agreement and disagreement weight. If you want to specify unequal tolerance, you specify a

second time allowance.

Required Columns

The following data source and reference source columns are required:

v Data. The time from data source.

v Reference. The time from reference source (only applies for a Reference Match).

126 WebSphere QualityStage User Guide

Page 135: 25520509 Quality Stage 8 0 User Guide

Required Parameters

Parameter 1 is required, Parameter 2 is optional:

v Param 1. The maximum time difference that can be tolerated.. If you only specify Param 1, this is the

difference that can be tolerated for either data source time greater than reference source time or

reference source time greater than data source time. If you specified both parameters, Param1 is the

difference tolerated for reference source time greater than data source time.

v Param 2. (Optional) The maximum time difference that can be tolerated in other direction; that is,

when reference source time is less than data source time.

For example, if you specify 20 for Param 1 and 14 for Param 2, the reference source value can exceed the

data source value by 20 minutes, but the data source value can exceed the reference source value by 4

minutes. The second parameter allows for minor errors in recording the times.

UNCERT comparison

The UNCERT comparison is a character comparison that uses an information-theoretic character

comparison algorithm to compare two character strings.

This comparison provides for phonetic errors, transpositions, random insertion, deletion, and replacement

of characters within strings. You can use this comparison with arrays and reverse matching.

The weight assigned is based on the difference between the two strings being compared as a function of

the string length (longer words can tolerate more errors and still be recognizable than shorter words can),

the number of transpositions, and the number of unassigned insertions, deletions, or replacement of

characters.

Required Columns

The following data source and reference source columns are required:

v Data. The character string from the data source.

v Reference. The character string from the reference source (only applies for a Reference Match).

Required Parameter

The following parameter is required:

Param 1. The cutoff threshold, which is a number between 0 and 900.

v 900. The two strings are identical.

v 850. The two strings can be safely considered to be the same.

v 800. The two strings are probably the same.

v 750. The two strings are probably different.

v 700. The two strings are almost certainly different.

The weight assigned is proportioned linearly between the agreement and disagreement weights,

dependent upon how close the score is to the cutoff threshold.

For example, if you specify 700 and the score is 700 or less, then the full disagreement weight is assigned.

If the strings agree exactly, the full agreement weight is assigned.

USPS comparison

The USPS®

comparison processes United States Postal Service (USPS) ZIP Code™

files or other sources that

can contain non-numeric address ranges.

Chapter 11. Match comparisons 127

Page 136: 25520509 Quality Stage 8 0 User Guide

The USPS comparison requires that the data source contains the column names for the house number and

the reference source contains a low house number range, a high house number range, and a control

column, indicating the parity of the house number range.

Required Columns

The following data source and reference source columns are required:

v Data. The house number from the data source.

v Reference. (1) The ZIP+4®

column primary low house number for the beginning of the range from the

reference source.

v Reference. (2) The ZIP+4 column primary high house number for the ending of the range from the

reference source.

v Reference. (Control) The odd/even parity for the range defined with (1) and (2).

The control information from the USPS ZIP+4 code is:

v O. The range represents only odd house numbers.

v E. The range represents only even house numbers.

v B. The range represents all numbers (both odd and even) in the interval.

v U. The parity of the range is unknown.

Required Mode

A mode is required, choose either:

v ZERO_VALID. Indicates zero or blanks should be treated as any other number.

v ZERO_NULL. Indicates zero or blank columns should be considered null or missing values.

USPS_DINT comparison

The USPS_DINT comparison is an interval to double interval USPS®

comparison that compares an

interval on the data source to two intervals on the reference source.

If the interval on the data source overlaps any part of either interval on the reference source and the

parity flags agree, the results match.

The data source requires an address primary low number, an address primary high number, and an

address primary odd/even control, the USPS ZIP Code™

file contains this information. The reference

source requires two primary low numbers, two primary high numbers, and two primary odd/even

controls, one for each side of the street.

This comparison is useful for matching the USPS ZIP+4®

file to a geographic reference source such as the

Census Bureau TIGER file, GDT Dynamap, Etak MapBase, or other reference sources.

Required Columns

The following data source and reference source columns are required:

v Data. (1) The beginning of the street address range from the data source.

v Data. (2) The ending of the street address range from the data source.

v Reference. (3) The beginning of the street address range for one side of the street (such as from left)

from the reference source.

v Reference. (4) The ending of the street address range for one side of the street (such as from left) from

the reference source.

128 WebSphere QualityStage User Guide

Page 137: 25520509 Quality Stage 8 0 User Guide

v Reference. (5) The beginning of the street address range for the other side of the street (such as from

right) from the reference source.

v Reference. (6) The ending of the street address range for the other side of the street (such as to right)

from the reference source.

v Data. (Control) The odd/even parity for the for the range defined with (1) and (2).

v Reference. (Control) The odd/even parity for the range defined with (3) and (4).

v Reference. (Control) The odd/even parity for the range defined with (5) and (6).

The control information from the USPS ZIP+4 code is:

v O. The range represents only odd house numbers.

v E. The range represents only even house numbers.

v B. The range represents all numbers (both odd and even) in the interval.

v U. The parity of the range is unknown.

Required Mode

A mode is required. Choose one of the following modes:

v ZERO_VALID. Indicates zero or blanks should be treated as any other number.

v ZERO_NULL. Indicates zero or blank columns should be considered null or missing values.

How It Works

Agreement weight is assigned when:

v The odd/even control is set to E, O, or B on both the data source and the reference source

v The odd/even control is set to E or O on one source and to B on the other source (such as E on the

data source and B on the reference source)

Disagreement weight is assigned when the parity is on one source is set to E or O and on the other

source is set to the opposite; that is, either the data source to E and the reference source to O or the data

source to O and the reference source to E.

If all strings are numeric, the comparison performs an integer interval comparison; otherwise, the

comparison performs an alphanumeric interval comparison.

The interval on the data source is first compared to the first interval defined with reference (3) and

reference (4). If the odd/even parity agree, that is, if the data source control matches control (1) or control

(2), and the intervals overlap; the intervals are considered a match.

In the table, the data source interval matches the interval on the reference source defined by reference (3)

and reference (4) and because the odd/even parity is compatible (odd on the data source and both on the

reference source), and the interval 101-199 overlaps with 123-299.

Source Begin range End Range Odd/Even Control

data interval (1) and (20) 101 199 O

reference interval (3) and

(4)

123 299 B

reference interval (5) and

(6)

124 298 B

Chapter 11. Match comparisons 129

Page 138: 25520509 Quality Stage 8 0 User Guide

If the interval on the data source does not match the first interval on the reference source, the data source

interval is compared with the interval on the reference source defined by reference (5) and reference (6)

for a match.

USPS_INT comparison

The USPS_INT comparison is an interval-to-interval comparison that compares an interval on the data

source to an interval on the reference source.

If the interval on the data source overlaps any part of the interval on the reference source and the parity

agrees, the results match.

Both sources require an address primary low number, an address primary high number, and an address

primary odd/even control, such as the USPS®

ZIP Code™

file control column.

Required Columns

The following data source and reference source columns are required.

v Data. The beginning of the street address range from the data source.

v Data. The ending of the street address range from the data source.

v Reference. The beginning of the street address range from the reference source.

v Reference. The ending of the street address range from the reference source.

v Data. The odd/even parity for the data source.

v Reference. The odd/even parity for the reference source.

The control information from the USPS ZIP+4®

code is:

v O. The range represents only odd house numbers.

v E. The range represents only even house numbers.

v B. The range represents all numbers (both odd and even) in the interval.

v U. The parity of the range is unknown.

Required Mode

A mode is required. Choose one of the following modes:

v ZERO_VALID. Indicates zero or blanks should be treated as any other number.

v ZERO_NULL. Indicates zero or blank columns should be considered null or missing values.

Agreement weight is assigned when:

v The odd/even control is set to E, O, or B on both the data source and the reference source

v The odd/even control is set to E or O on one file and to B on the other file (such as E on the data

source and B on the reference source)

Disagreement weight is assigned when the parity on one source is set to E or O and on the other source

is set to the opposite; that is, either the data source to E and the reference source to O or the data source

to O and the reference source to E.

If all strings are numeric, the comparison performs an integer interval comparison; otherwise, the

comparison performs an alphanumeric interval comparisons.

130 WebSphere QualityStage User Guide

Page 139: 25520509 Quality Stage 8 0 User Guide

Chapter 12. The stage editor interface

The Parallel job stage editors all use a generic user interface.

The exception to that are the Transformer, Lookup, Shared Container, and Complex Flat File stages.

The following table lists the available stage types and gives a quick guide to their function:

Stage Type Function

Data Set File Allows you to read data from or

write data to a persistent data set.

Sequential File File Allows you to read data from or

write data to one or more flat files.

File Set File Allows you to read data from or

write data to a file set. File sets

enable you to spread data across a

set of files referenced by a single

control file.

Lookup File Set File Allows you to create a lookup file set

or reference one for a lookup.

External Source File Allows you to read data that is

output from one or more source

programs.

External Target File Allows you to write data to one or

more source programs.

Complex Flat File File Allows you to read or write complex

flat files on a mainframe machine.

This is intended for use on USS

systems (note that it uses a different

interface from other file stages).

SAS Data Set File Allows you to read data from or

write data to a parallel SAS data set

in conjunction with an SAS stage.

DB2/UDB Enterprise Database Allows you to read data from and

write data to a DB2 database.

Oracle Enterprise Database Allows you to read data from and

write data to a Oracle database.

Teradata Enterprise Database Allows you to read data from and

write data to a Teradata database.

Informix Enterprise Database Allows you to read data from and

write data to an Informix database.

Transformer Processing Handles extracted data, performs any

conversions required, and passes data

to another active stage or a stage that

writes data to a target database or

file.

BASIC Transformer Processing Same as Transformer stage, but gives

access to DataStage BASIC functions.

© Copyright IBM Corp. 2004, 2006 131

Page 140: 25520509 Quality Stage 8 0 User Guide

Stage Type Function

Aggregator Processing Classifies incoming data into groups,

computes totals and other summary

functions for each group, and passes

them to another stage in the job.

Join Processing Performs join operations on two or

more data sets input to the stage and

then outputs the resulting data set.

Merge Processing Combines a sorted master data set

with one or more sorted update data

sets.

Lookup Processing Used to perform lookup operations

on a data set read into memory from

any other Parallel job stage that can

output data or provided by one of

the database stages that support

reference output links. It can also

perform a look up on a lookup table

contained in a Lookup File Set stage.

Sort Processing Sorts input columns.

Funnel Processing Copies multiple input data sets to a

single output data set.

Remove Duplicates Processing Takes a single sorted data set as

input, removes all duplicate records,

and writes the results to an output

data set.

Compress Processing Uses the UNIX compress or GZIP

utility to compress a data set. It

converts a data set from a sequence

of records into a stream of raw

binary data.

Expand Processing Uses the UNIX uncompress or GZIP

utility to expand a data set. It

converts a previously compressed

data set back into a sequence of

records from a stream of raw binary

data.

Copy Processing Copies a single input data set to a

number of output data sets.

Modify Processing Alters the record schema of its input

data set.

Filter Processing Transfers, unmodified, the records of

the input data set which satisfy

requirements that you specify and

filters out all other records.

External Filter Processing Allows you to specify a UNIX

command that acts as a filter on the

data you are processing.

Change Capture Processing Takes two input data sets, denoted

before and after, and outputs a single

data set whose records represent the

changes made to the before data set

to obtain the after data set.

132 WebSphere QualityStage User Guide

Page 141: 25520509 Quality Stage 8 0 User Guide

Stage Type Function

Change Apply Processing Takes the change data set, that

contains the changes in the before

and after data sets, from the Change

Capture stage and applies the

encoded change operations to a before

data set to compute an after data set.

Difference Processing Performs a record-by-record

comparison of two input data sets,

which are different versions of the

same data set.

Compare Processing Performs a column-by-column

comparison of records in two

presorted input data sets.

Encode Processing Encodes a data set using a UNIX

encoding command that you supply.

Decode Processing Decodes a data set using a UNIX

decoding command that you supply.

Switch Processing Takes a single data set as input and

assigns each input record to an

output data set based on the value of

a selector field.

SAS Processing Allows you to execute part or all of

an SAS application in parallel.

Generic Processing Lets you incorporate an Orchestrate

Operator in your job.

Surrogate Key Processing Generates one or more surrogate key

columns and adds them to an

existing data set.

Column Import Restructure Imports data from a single column

and outputs it to one or more

columns.

Column Export Restructure Exports data from a number of

columns of different data types into a

single column of data type string or

binary.

Make Subrecord Restructure Combines specified vectors in an

input data set into a vector of

subrecords whose columns have the

names and data types of the original

vectors.

Split Subrecord Restructure Creates one new vector column for

each element of the original

subrecord.

Combine Records Restructure Combines records, in which

particular key-column values are

identical, into vectors of subrecords.

Promote Subrecord Restructure Promotes the columns of an input

subrecord to top-level columns.

Make Vector Restructure Combines specified columns of an

input data record into a vector of

columns of the same type.

Chapter 12. The stage editor interface 133

Page 142: 25520509 Quality Stage 8 0 User Guide

Stage Type Function

Split Vector Restructure Promotes the elements of a

fixed-length vector to a set of

similarly named top-level columns.

Head Development/ Debug Selects the first N records from each

partition of an input data set and

copies the selected records to an

output data set.

Tail Development/ Debug Selects the last N records from each

partition of an input data set and

copies the selected records to an

output data set.

Sample Development/ Debug Samples an input data set.

Peek Development/ Debug Lets you print record column values

either to the job log or to a separate

output link as the stage copies

records from its input data set to one

or more output data sets.

Row Generator Development/ Debug Produces a set of mock data fitting

the specified metadata.

Column Generator Development/ Debug Adds columns to incoming data and

generates mock data for these

columns for each data row processed.

Write Range Map Development/ Debug Allows you to write data to a range

map. The stage can have a single

input link.

All of the stage types use the same basic stage editor, but the pages that appear when you edit the stage

depend on the exact type of stage you are editing. The following sections describe all the page types and

subtypes that are available. The individual descriptions of stage editors in the following chapters tell you

exactly which features of the generic editor each stage type uses.

Related tasks

“Setting stage properties” on page 16

Showing stage validation errors

Stage validation errors are shown as pop-ups.

If you enable the Diagram → Show stage validation errors, rollover pop-ups are activated for parallel jobs

or parallel shared containers. The pop-ups display compilation errors for every stage on the canvas,

without your having to actually compile the job. The option is enabled by default.

For example, the Standardize stage has a warning triangle, showing that there is a compilation error. If

you hover the mouse pointer over the stage a tooltip appears, showing the particular errors for that

stage.

Any local containers on your canvas behave like a stage, in that all the compile errors for stages within

the container are displayed. You have to open a parallel shared container to see compile problems on the

individual stages.

The stage page

The stage page varies according to the stage that it represents.

134 WebSphere QualityStage User Guide

Page 143: 25520509 Quality Stage 8 0 User Guide

All stage editors have a stage page. This contains a number of subsidiary tabs depending on the stage

type. The only field the stage page itself contains provides the name of the stage being edited.

When naming your stages, use meaningful names, rather than rely on the default names that WebSphere

DataStage allocates. If you rely on default names you may have several different jobs containing stages

with the same name.

General tab

The General tab of Stage Properties provides a text field that lets you type a description of the stage.

From the General tab, you can enter an optional description of the stage. This is valuable information for

others who may need to understand your job or its metadata.

Properties tab

The Properties tab provides settings for general properties.

A Properties tab appears on the Stage page where there are general properties that need setting for the

stage you are editing. Properties tabs can also occur under Input and Output pages where there are

link-specific properties that need to be set.

In general, processing stages have Properties tabs on the Stage page, while other stages have them on the

Input or Output page.

Working with the properties tree

The available properties are displayed in a tree structure.

They are divided into categories to help you find your way around them. All the mandatory properties

are included in the tree by default and cannot be removed.

To change the color value:

1. Select Tools > Options from the main menu and choose the Transformer item from the tree to open

the Stage page.

2. To reset the Invalid column color, click on the color bar and select a new color from the palette.

Set a property:

Properties for which you must set a value are shown in red (by default). Properties change to black when

you set a value.

To set a property value:

1. Select File in the list and specify the required property value in the File field.

The title of this field and the method for entering a value changes according to the property you have

selected.

2. Browse for a property value or insert a job parameter whose value is provided at run time.

3. Click on the arrow and a menu gives access to the Browse Files window and/or a list of available job

parameters. Job parameters are defined in the Job Properties window. See WebSphere DataStage

Designer Client Guide.

Reset the default values in the Properties page:

You can reset the default values.

The Information field contains details about the property you currently have selected in the tree. Some

properties have default values.

Chapter 12. The stage editor interface 135

Page 144: 25520509 Quality Stage 8 0 User Guide

1. Select the property in the tree.

2. Choose Set to default from the shortcut menu.

Some properties are optional. These appear in the Available properties to add field.

Click on an optional property to add it to the tree or choose to add it from the shortcut menu.

Remove the property:

To select the property in the tree, choose Remove from the shortcut menu.

Add properties:

Some properties are repeated. The Key property appears in the Available properties to add list when you

select the top level Properties node.

1. Click on the Key item to add multiple key properties. Where a repeatable property expects a column

as an argument, a window is available that lets you specify multiple columns at once.

2. To open the Column Selection window, click the Column button next to the properties tree.

The Column Selection window opens. The left pane lists all the available columns.

3. Use the right-arrow keys to select some or all of the columns.

4. Use the left-arrow keys to move them back if you change your mind. A separate property appears for

each column you have selected.

Some properties have dependents. These are properties which somehow relate to or modify the parent

property. They appear under the parent in a tree structure.

For some properties you can supply a job parameter as their value. At runtime the value of this

parameter is used for the property. These properties have an arrow next to their Property Value box.

Supply a job parameter:

1. Click the drop-down menu.

2. Choose Insert job parameter to get a list of currently defined job parameters.

Use a multiline editor to enter some property values:

1. Click on the arrow next to their Property Value box.

2. Choose Switch to multiline editor from the menu.

The property capabilities are indicated by different icons in the tree.

Configuring the properties tab

Use the Properties tab to specify properties that determine what the stage actually does.

Two properties are available for the WebSphere QualityStage stages:

v Alternate locale. Optional. Lets you specify the international locale you want QualityStage to use at the

server to process the data.

This value needs to be set only if you are processing data for a language that is not the default

language of the server. For example, the default language for your server is French and the data to be

processed is Italian.

When you change the locale, WebSphere QualityStage uses the appropriate collating sequence and

decimal separators for the alternate language. The value required depends on the type of server and

how it is configured.

If you are using a UNIX server, enter the following command to obtain a list of locales supported by

your server:

136 WebSphere QualityStage User Guide

Page 145: 25520509 Quality Stage 8 0 User Guide

locale -a

If you are using a Windows workstation, select your WebSphere QualityStage server directory and the

locale subdirectory. The local subdirectory contains folders that are listed alphabetically by the

languages they support.

v Trace Type. This is a debugging property to be used only in conjunction with IBM WebSphere support.1. In the Available properties to add box, click Alternate locale.

The property appears under the Options folder and the cursor appears in the Alternate locale field.

2. Enter the locale. If necessary, click the arrow button to access the multiline editor or to insert a job

parameter.

3. Click OK to close the stage editor, or click another tab or page to set other stage details.

Advanced tab

The Advanced tab lets you set additional

All stage editors have an Advanced tab. The Advanced tab allows you to do the following tasks:

v Specify the execution mode of the stage. This allows you to choose between Parallel and Sequential

operation. If the execution mode for a particular type of stage cannot be changed, then this drop down

list is disabled. Selecting Sequential operation forces the stage to be executed on a single node. If you

have intermixed sequential and parallel stages this has implications for partitioning and collecting data

between the stages. You can also maintain the default setting for the stage (the drop down list tells you

whether this is parallel or sequential).

v Set or clear the preserve partitioning flag (this field is not available for all stage types). It indicates

whether partitioning is preserved at the next stage of the job. You choose between Set, Clear and

Propagate. For some stage types, Propagate is not available. The operation of each option is explained

in the following list:

– Set. Sets the preserve partitioning flag. This flag indicates to the next stage in the job to preserve

existing partitioning if possible.

– Clear. Clears the preserve partitioning flag. Clear does not specify which partitioning method the

next stage can use.

– Propagate. Changes the flag to Set or Clear depending on what the previous stage in the job has set

(or if that is set to Propagate the stage before that and so on until a preserve partitioning flag setting

is encountered).

You can keep the default setting for the stage (the drop down list tells you whether this is set, clear,

or propagate).v Specify the combinability mode. Under the covers WebSphere DataStage can combine the operators

that underlie parallel stages so that they run in the same process. This saves a significant amount of

data copying and preparation in passing data between operators.

The combinability mode setting tells WebSphere DataStage your preferences for combining for a

particular stage. It has three possible settings:

– Auto. Use the default combination setting.

– Combinable. Ignore the operator’s default setting and combine if at all possible (some operators are

marked as noncombinable by default).

– Don’t Combine. Never combine operators.

In most cases the setting should be left to Auto.v Specify node map or node pool or resource pool constraints. The configuration file allows you to set

up pools of related nodes or resources. The Advanced tab allows you to limit execution of a stage to a

particular node or resource pool. You can also use the map to specify a group of nodes whose

execution is limited just to this stage.

– Node pool and resource constraints. Specify constraints in the grid. Select Node pool or Resource

pool from the Constraint drop-down list. Select a Type for a resource pool and select the name of

Chapter 12. The stage editor interface 137

Page 146: 25520509 Quality Stage 8 0 User Guide

the pool to which you are limiting execution. You can select multiple node or resource pools. This is

only enabled if you have defined multiple pools in the configuration file.

– Node map constraints. Select the option box and type in the nodes to which execution is limited in

the text box. You can also browse through the available nodes to add to the text box. Using this

feature conceptually sets up an additional node pool which doesn’t appear in the configuration file.

The lists of available nodes, available node pools, and available resource pools are derived from the

configuration file.

Link ordering tab

Use this tab to order the links for stages that have more than one link and requires you to order links.

The tab allows you to order input links and/or output links as needed. Where link ordering is not

important or is not possible the tab does not appear.

The link label gives further information about the links being ordered. The Merge stage combines data

from a sorted master data set with one or more sorted update data sets. The Link Ordering tab

determines which items are input links and which items are output links. If you use the arrow keys to

reorder the links, the link name changes but not the link label.

The Merge stage handles reject links as well as a stream link and the tab allows you to order these,

although you cannot move them to the stream link position. The link labels give the sense of how the

links are being used.

The individual stage descriptions tell you whether link ordering is possible and what options are

available.

NLS map tab

If you have NLS enabled on your system, some of your stages will have an NLS Map tab.

This allows you to override the project default character set map for this stage, and in some cases, allows

you to enable per-column mapping. When per-column mapping is enabled, you can override the

character set map for particular columns (an NLS map field appears on the columns tab allowing you to

do this).

Select a map from the list, or click the arrow button next to the list to specify a job parameter.

The following stage types currently support this feature:

v Sequential File

v File Set

v DB2/UDB Enterprise (not per-column mapping)

v Oracle Enterprise (not per-column mapping)

NLS locale tab

If you have NLS enabled on your system, some of your stages will have an NLS Locale tab.

It lets you view the current default collate convention, and select a different one for the stage if required.

You can also use a job parameter to specify the locale, or browse for a file that defines custom collate

rules. The collate convention defines the order in which characters are collated, for example, the character

Ä follows A in Germany, but follows Z in Sweden.

Select a locale from the list, or click the arrow button next to the list to use a job parameter or browse for

a collate file.

138 WebSphere QualityStage User Guide

Page 147: 25520509 Quality Stage 8 0 User Guide

The following types of stages have an NLS Locale tab:

v Stages that evaluate expressions, such as the Transformer.

v Stages that need to evaluate the order of key columns.

v The Sort Stage.

Input page

The Input page gives information about links going into a stage.

In the case of a file or database stage an input link carries data being written to the file or database. In

the case of a processing or restructure stage it carries data that the stage will process before outputting to

another stage. Where there are no input links, the stage editor has no Input page.

Where it is present, the Input page contains various tabs depending on stage type. The only field the

Input page itself contains is Input name, which gives the name of the link being edited. Where a stage

has more than one input link, you can select the link you are editing from the Input name drop-down

list.

The Input page also has a Columns... button.

Click Columns to open a window showing column names from the metadata defined for this link. You

can drag these columns to various fields in the Input page tabs as required.

Certain stage types will also have a View Data... button.

Click View Data to view the actual data associated with the specified data source or data target. The

button is available if you have defined metadata for the link. Note the interface allowing you to view the

file are slightly different depending on stage and link type.

Input General tab

The Input page always has a General tab. Use the General tab to enter an optional description of the link.

Specifying a description for each link enhances job maintainability.

Input Properties tab

Some types of file and database stages can have properties that are particular to specific input links. In

this case the Input page has a Properties tab. This has the same format as the Stage page Properties tab.

Input Partitioning tab

Most parallel stages have a default partitioning or collecting method associated with them.

The Partitioning tab can be used depending on the execution mode of the stage (parallel or sequential)

and the execution mode of the immediately preceding stage in the job. For example, if the preceding

stage is processing data sequentially and the current stage is processing in parallel, the data is partitioned

before it enters the current stage. Conversely, if the preceding stage is processing data in parallel and the

current stage is sequential, the data is collected as it enters the current stage.

You can override the default partitioning or collecting method on the Partitioning tab. The selected

method is applied to the incoming data as it enters the stage on a particular link, and so the Partitioning

tab appears on the Input page. You can also use the tab to re-partition data between two parallel stages.

If both stages are executing sequentially, you cannot select a partition or collection method and the fields

are disabled. The fields are also disabled if the particular stage does not permit selection of partitioning

or collection methods. The following table shows what can be set from the Partitioning tab in what

Chapter 12. The stage editor interface 139

Page 148: 25520509 Quality Stage 8 0 User Guide

circumstances:

Preceding Stage Current Stage Partition Tab Mode

Parallel Parallel Partition

Parallel Sequential Collect

Sequential Parallel Partition

Sequential Sequential None (disabled)

Use the Partitioning tab to specify whether the data should be sorted as it enters.

The Partitioning tab has the following fields:

v Partition type. Choose the partitioning (or collecting) type from the drop-down list. The following

partitioning types are available:

– (Auto). WebSphere DataStage attempts to work out the best partitioning method depending on

execution modes of current and preceding stages and how many nodes are specified in the

Configuration file. This is the default method for many stages.

– Entire. Every processing node receives the entire data set. No further information is required.

– Hash. The records are hashed into partitions based on the value of a key column or columns

selected from the Available list.

– Modulus. The records are partitioned using a modulus function on the key column selected from the

Available list. This is commonly used to partition on tag fields.

– Random. The records are partitioned randomly, based on the output of a random number generator.

No further information is required.

– Round Robin. The records are partitioned on a round robin basis as they enter the stage. No further

information is required.

– Same. Preserves the partitioning already in place. No further information is required.

– DB2. Replicates the DB2 partitioning method of a specific DB2 table. Requires extra properties to be

set. Access these properties by clicking the properties button.

– Range. Divides a data set into approximately equal size partitions based on one or more partitioning

keys. Range partitioning is often a preprocessing step to performing a total sort on a data set.

Requires extra properties to be set. Access these properties by clicking the properties button.

The following collection types are available:

– (Auto). Normally, when you are using Auto mode, DataStage will eagerly read any row from any

input partition as it becomes available. This is the fastest collecting method and is the default

collection method for many stages. In some circumstances DataStage will detect further

requirements for collected data, for example, it might need to be sorted. Using Auto mode will

ensure data is sorted if required.

– Ordered. Reads all records from the first partition, then all records from the second partition, and so

on. Requires no further information.

– Round Robin. Reads a record from the first input partition, then from the second partition, and so

on. After reaching the last partition, the operator starts over.

– Sort Merge. Reads records in an order based on one or more columns of the record. This requires

you to select a collecting key column from the Available list.v Available. This lists the input columns for the input link. Key columns are identified by a key icon. For

partitioning or collecting methods that require you to select columns, you click on the required column

in the list and it appears in the Selected list to the right. This list is also used to select columns on

which to sort.

v Selected. This list shows which columns have been selected for partitioning, collecting, or sorting and

displaying information about them. The available information is whether a sort is being performed

(indicated by an arrow), if so the order of the sort (ascending or descending) and collating sequence

140 WebSphere QualityStage User Guide

Page 149: 25520509 Quality Stage 8 0 User Guide

(sort as EBCDIC), and whether an alphanumeric key is case sensitive or not. Nullable columns are

marked to indicate if null columns take first or last position. You can select sort order, case sensitivity,

collating sequence, and null positions from the shortcut menu. If applicable, the Usage field indicates

whether a particular key column is being used for sorting, partitioning, or both.

v Sorting. The check boxes in the section allow you to specify sort details. The availability of sorting

depends on the partitioning method chosen.

– Perform Sort. Select this to specify that data coming in on the link should be sorted. Select the

column or columns to sort on from the Available list.

– Stable. Select this if you want to preserve previously sorted data sets. The default is stable.

– Unique. Select this to specify that, if multiple records have identical sorting key values, only one

record is retained. If stable sort is also set, the first record is retained.

You can also specify sort direction, case sensitivity, whether sorted as EBCDIC, and whether null

columns will appear first or last for each column. Where you are using a keyed partitioning method,

you can also specify whether the column is used as a key for sorting, for partitioning, or for both.

Select the column in the Selected list and right-click to invoke the shortcut menu. The availability of

the sort options depends on the type of data in the column, whether it is nullable or not, and the

partitioning method chosen.

If you have NLS enabled, the sorting box has an additional button. Click this to open the NLS

Locales tab of the Sort Properties window. This lets you view the current default collate convention,

and select a different one for the stage if required. You can also use a job parameter to specify the

locale, or browse for a file that defines custom collate rules. The collate convention defines the order

in which characters are collated, for example, the character Ä follows A in Germany, but follows Z

in Sweden. Select a locale from the list, or click the arrow button next to the list to use a job

parameter or browse for a collate file.

If you require a more complex sort operation, you should use the Sort stage.

DB2 partition properties

This window appears when you select a Partition type of DB2 and click the properties button. It allows

you to specify the DB2 table whose partitioning method is to be replicated.

Range partition properties

The Range Partition window appears when you select a Partition type of Range and click the properties

button. It allows you to specify the range map that is to be used to determine the partitioning (you create

a range map file using the Write Range Map stage). Type in a pathname or browse for a file.

Input tab Format tab

Stages that write to certain types of file (for instance the Sequential File stage) also have a Format tab

which allows you to specify the format to which a file or files is or are being written.

The Format tab is similar in structure to the Properties tab. A flat file has a number of properties for

which you can set different attributes. Select the property in the tree and select the attributes you want to

set from the Available properties to add window, it will then appear as a dependent property in the

property tree and you can set its value as required. This tab sets the format information for the file at row

level. You can override the settings for individual columns using the Edit Column Metadata window.

Click Load to load the format information from a table definition in the Repository.

The shortcut menu from the property tree gives access to the following functions:

v Format as. This applies a predefined template of properties. Choose from the following properties:

– Delimited/quoted

– Fixed-width records

Chapter 12. The stage editor interface 141

Page 150: 25520509 Quality Stage 8 0 User Guide

– UNIX line terminator

– DOS line terminator

– No terminator (fixed width)

– Mainframe (COBOL)v Add sub-property. Gives access to a list of dependent properties for the currently selected property

(visible only if the property has dependents).

v Set to default. Appears if the currently selected property has been set to a non-default value, allowing

you to re-select the default.

v Remove. Removes the currently selected property. This is disabled if the current property is mandatory.

v Remove all. Removes all the non-mandatory properties.

The following sections list the property types and properties available for each type.

This description uses the terms ″record″ and ″row″ and ″field″ and ″column″ interchangeably.

Record level

These properties define details about how data records are formatted in the flat file.

The Input → Record level location where you can enter a character, this can usually be an ASCII character

or a multibyte Unicode character (if you have NLS enabled). The following lists the available properties.

v Fill char. Specify an ASCII character or a value in the range 0 to 255. You can also choose Space or Null

from a drop-down list. This character is used to fill any gaps in a written record caused by column

positioning properties. Set to 0 by default (which is the NULL character). For example, to set it to space

you could also type in the space character or enter 32. Note that this value is restricted to one byte, so

you cannot specify a multibyte Unicode character.

v Final delimiter string. Specify a string to be written after the last column of a record in place of the

column delimiter. Enter one or more characters, this precedes the record delimiter if one is used.

Mutually exclusive with Final delimiter, which is the default. For example, if you set Delimiter to

comma and Final delimiter string to `, ` (comma space - you do not need to enter the inverted

commas) all fields are delimited by a comma, except the final field, which is delimited by a comma

followed by an ASCII space character.

v Final delimiter. Specify a single character to be written after the last column of a record in place of the

field delimiter. Type a character or select one of whitespace, end, none, null, tab, or comma. See the

following diagram for an illustration.

– whitespace. The last column of each record will not include any trailing white spaces found at the

end of the record.

– end. The last column of each record does not include the field delimiter. This is the default setting.

– none. The last column of each record does not have a delimiter; used for fixed-width fields.

– null. The last column of each record is delimited by the ASCII null character.

– comma. The last column of each record is delimited by the ASCII comma character.

– tab. The last column of each record is delimited by the ASCII tab character.

When writing, a space is now inserted after every field except the last in the record.

v Intact. The intact property specifies an identifier of a partial schema. A partial schema specifies that

only the column(s) named in the schema can be modified by the stage. All other columns in the row

are passed through unmodified. The file containing the partial schema is specified in the Schema File

property on the Properties tab . This property has a dependent property, Check intact, but this is not

relevant to input links.

v Record delimiter string. Specify a string to be written at the end of each record. Enter one or more

characters. This is mutually exclusive with Record delimiter, which is the default, record type and

record prefix.

142 WebSphere QualityStage User Guide

Page 151: 25520509 Quality Stage 8 0 User Guide

v Record delimiter. Specify a single character to be written at the end of each record. Type a character or

select one of the following:

– UNIX Newline (the default)

– null(To implement a DOS newline, use the Record delimiter string property set to ″\R\N″ or chooseFormat

as → DOS line terminator from the shortcut menu.)

Note: Record delimiter is mutually exclusive with Record delimiter string, Record prefix, and Record

type.

v Record length. Select Fixed where fixed length fields are being written. DataStage calculates the

appropriate length for the record. Alternatively specify the length of fixed records as number of bytes.

This is not used by default (default files are comma-delimited). The record is padded to the specified

length with either zeros or the fill character if one has been specified.

v Record Prefix. Specifies that a variable-length record is prefixed by a 1-, 2-, or 4-byte length prefix. It is

set to 1 by default. This is mutually exclusive with Record delimiter, which is the default, and record

delimiter string and record type.

v Record type. Specifies that data consists of variable-length blocked records (varying) or implicit records

(implicit). If you choose the implicit property, data is written as a stream with no explicit record

boundaries. The end of the record is inferred when all of the columns defined by the schema have

been parsed. The varying property allows you to specify one of the following IBM blocked or spanned

formats: V, VB, VS, VBS, or VR.

This property is mutually exclusive with Record length, Record delimiter, Record delimiter string, and

Record prefix and by default is not used.

Field defaults

Defines default properties for columns written to the file or files.

The Field defaults are applied to all columns written, but can be overridden for individual columns from

the Columns tab using the Edit Column Metadata window. Where you can enter a character, this can

usually be an ASCII character or a multi-byte Unicode character (if you have NLS enabled). The available

properties are:

v Actual field length. Specifies the number of bytes to fill with the Fill character when a field is

identified as null. When DataStage identifies a null field, it will write a field of this length full of Fill

characters. This is mutually exclusive with Null field value.

v Delimiter. Specifies the trailing delimiter of all fields in the record. Type an ASCII character or select

one of whitespace, end, none, null, comma, or tab.

– Whitespace. Characters at the end of a column are ignored, in that they are not treated as part of the

column.

– End. The end of a field is taken as the delimiter, in that there is no separate delimiter. This is not the

same as a setting of `None’ which is used for fields with fixed-width columns.

– None. No delimiter (used for fixed-width).

– Null. ASCII Null character is used.

– Comma. ASCII comma character is used.

– Tab. ASCII tab character is used.v Delimiter string. Specify a string to be written at the end of each field. Enter one or more characters.

This is mutually exclusive with Delimiter, which is the default. For example, specifying `, ` (comma

space - you do not need to enter the inverted commas) would have each field delimited by `, ` unless

overridden for individual fields.

v Null field length. The length in bytes of a variable-length field that contains a null. When a

variable-length field is written, WebSphere DataStage writes a length value of null field length if the

field contains a null. This property is mutually exclusive with null field value.

Chapter 12. The stage editor interface 143

Page 152: 25520509 Quality Stage 8 0 User Guide

v Null field value. Specifies the value written to null field if the source is set to null. Can be a number,

string, or C-type literal escape character. For example, you can represent a byte value by </b>ooo,

where each o is an octal digit 0 - 7 and the first o is < 4, or by \xhh, where each h is a hexadecimal

digit 0 - F. You must use this form to encode non-printable byte values.

This property is mutually exclusive with Null field length and Actual length. For a fixed width data

representation, you can use Pad char (from the general section of Type defaults) to specify a repeated

trailing character if the value you specify is shorter than the fixed width of the field.

v Prefix bytes. Specifies that each column in the data file is prefixed by 1, 2, or 4 bytes containing, as a

binary value, either the column’s length or the tag value for a tagged field.

You can use this option with variable-length fields. Variable-length fields can be either delimited by a

character or preceded by a 1-, 2-, or 4-byte prefix containing the field length. WebSphere DataStage

inserts the prefix before each field.

This property is mutually exclusive with the Delimiter, Quote, and Final Delimiter properties, which

are used by default.

v Print field. This property is not relevant for input links.

v Quote. Specifies that variable length fields are enclosed in single quotes, double quotes, or another

character or pair of characters. Choose Single or Double, or enter a character. This is set to double

quotes by default.

When writing, WebSphere DataStage inserts the leading quote character, the data, and a trailing quote

character. Quote characters are not counted as part of a field’s length.

v Vector prefix. For fields that are variable length vectors, specifies a 1-, 2-, or 4-byte prefix containing

the number of elements in the vector. You can override this default prefix for individual vectors.

Variable-length vectors must use either a prefix on the vector or a link to another field in order to

specify the number of elements in the vector. If the variable length vector has a prefix, you use this

property to indicate the prefix length. WebSphere DataStage inserts the element count as a prefix of

each variable-length vector field. By default, the prefix length is assumed to be one byte.

Type defaults

Data type defaults are properties that apply to all columns of a specific data type unless specifically

overridden at the column level.

The Data type defaults are divided into a number of subgroups according to data type.

General

The following properties apply to several data types (unless overridden at column level):

v Byte order. Specifies how multiple byte data types (except string and raw data types) are ordered.

Choose from the following byte order items:

– little-endian. The high byte is on the right.

– big-endian. The high byte is on the left.

– native-endian. As defined by the native format of the machine. This is the default.v Data Format. Specifies the data representation format of a field. Applies to fields of all data types

except string, ustring, and raw, and to record, subrecord or tagged fields containing at least one field

that is neither string nor raw. Choose from the following data formats.

144 WebSphere QualityStage User Guide

Page 153: 25520509 Quality Stage 8 0 User Guide

Data Format Description

binary A setting of binary has different meanings when applied

to different data types:

v For decimals, binary means packed.

v For other numerical data types, binary means ″not

text″.

v For dates, binary is equivalent to specifying the julian

property for the date field.

v For time, binary is equivalent to midnight_seconds.

v For timestamp, binary specifies that the first integer

contains a Julian day count for the date portion of the

timestamp and the second integer specifies the time

portion of the timestamp as the number of seconds

from midnight. A binary timestamp specifies that two

32-but integers are written.

text (the default) By default data is formatted as text, as follows:

v Date data type. Text specifies that the data to be

written contains a text-based date in the form

%yyyy-%mm-%dd or in the default date format if you

have defined a new one on an NLS system.

v Decimal data type. A field represents a decimal in a

string format with a leading space or ’-’ followed by

decimal digits with an embedded decimal point if the

scale is not zero.

The destination string format is: [+ | -]ddd.[ddd] and

any precision and scale arguments are ignored.

v Numeric fields (int8, int16, int32, uint8, uint16, uint32,

sfloat, and dfloat). WebSphere DataStage assumes that

numeric fields are represented as text.

v Time data type. Text specifies that the field represents

time in the text-based form %hh:%nn:%ss or in the

default date format if you have defined a new one on

an NLS system.

v Timestamp data type. Text specifies a text-based

timestamp in the form %yyyy-%mm-%dd

%hh:%nn:%ss or in the default date format if you have

defined a new one on an NLS system.

v Field max width. The maximum number of bytes in a column represented as a string. Enter a number.

This is useful where you are storing numbers as text. If you are using a fixed-width character set, you

can calculate the length exactly. If you are using variable-length character set, calculate an adequate

maximum width for your fields. Applies to fields of all data types except date, time, timestamp, and

raw; and record, subrec, or tagged if they contain at least one field of this type.

v Field width. The number of bytes in a field represented as a string. Enter a number. This is useful

where you are storing numbers as text. If you are using a fixed-width charset, you can calculate the

number of bytes exactly. If it’s a variable length encoding, base your calculation on the width and

frequency of your variable-width characters. Applies to fields of all data types except date, time,

timestamp, and raw; and record, subrec, or tagged if they contain at least one field of this type.

If you specify neither field width nor field max width, numeric fields written as text have the

following number of bytes as their maximum width:

– 8-bit signed or unsigned integers: 4 bytes

– 16-bit signed or unsigned integers: 6 bytes

– 32-bit signed or unsigned integers: 11 bytes

Chapter 12. The stage editor interface 145

Page 154: 25520509 Quality Stage 8 0 User Guide

– 64-bit signed or unsigned integers: 21 bytes

– single-precision float: 14 bytes (sign, digit, decimal point, 7 fraction, ″E″, sign, 2 exponent)

– double-precision float: 24 bytes (sign, digit, decimal point, 16 fraction, ″E″, sign, 3 exponent)v Pad char. Specifies the pad character used when strings or numeric values are written to an external

string representation. Enter a character (single byte for strings, can be multi byte for ustrings) or choose

null or space. The pad character is used when the external string representation is larger than required

to hold the written field. In this case, the external string is filled with the pad character to its full

length. Space is the default. Applies to string, ustring, and numeric data types and record, subrec, or

tagged types if they contain at least one field of this type.

v Character set. Specifies the character set. Choose from ASCII or EBCDIC. The default is ASCII. Applies

to all data types except raw and ustring and record, subrec, or tagged containing no fields other than

raw or ustring.

String

These properties are applied to columns with a string data type, unless overridden at column level.

v Export EBCDIC as ASCII. Select this to specify that EBCDIC characters are written as ASCII characters.

Applies to fields of the string data type and record, subrec, or tagged fields if they contain at least one

field of this type.

v Import ASCII as EBCDIC. Not relevant for input links.

Decimal

These properties are applied to columns with a decimal data type unless overridden at column level.

v Allow all zeros. Specifies whether to treat a packed decimal column containing all zeros (which is

normally illegal) as a valid representation of zero. Select Yes or No. The default is No.

v Decimal separator. Specify the ASCII character that acts as the decimal separator (period by default).

v Packed. Select an option to specify what the decimal columns contain.

– Yes. Specifies that the decimal columns contain data in packed decimal format (the default). This has

the following sub-properties:

Sub-Properties Choices

Check Yes. Verifies that data is packed.

No. Does not verify.

Signed Yes. To use the existing sign when writing decimal

columns.

No. To write a positive sign (0xf) regardless of the

columns’ actual sign value.

– No (separate). Specifies that they contain unpacked decimal with a separate sign byte. This has the

following sub-property:

Sub-Property Description

Sign Position Choose leading or trailing as appropriate.

– No (zoned). Specifies that they contain an unpacked decimal in either ASCII or EBCDIC text. This

has the following sub-property:

Sub-Property Description

Sign Position Choose leading or trailing as appropriate.

146 WebSphere QualityStage User Guide

Page 155: 25520509 Quality Stage 8 0 User Guide

– No (overpunch). Specifies that the field has a leading or end byte that contains a character which

specifies both the numeric value of that byte and whether the number as a whole is negatively or

positively signed. This has the following sub-property:

Sub-Property Description

Sign Position Choose leading or trailing as appropriate.

v Precision. Specifies the precision where a decimal column is written in text format. Enter a number.

When a decimal is written to a string representation, WebSphere DataStage uses the precision and scale

defined for the source decimal field to determine the length of the destination string. The precision and

scale properties override this default. When they are defined, WebSphere DataStage truncates or pads

the source decimal to fit the size of the destination string. If you have also specified the field width

property, WebSphere DataStage truncates or pads the source decimal to fit the size specified by field

width.

v Rounding. Specifies how to round a decimal column when writing it. Choose from the following

rounding items:

– up (ceiling). Truncate source column towards positive infinity. This mode corresponds to the IEEE

754 Round Up mode. For example, 1.4 becomes 2, -1.6 becomes -1.

– down (floor). Truncate source column towards negative infinity. This mode corresponds to the IEEE

754 Round Down mode. For example, 1.6 becomes 1, -1.4 becomes -2.

– nearest value. Round the source column towards the nearest representable value. This mode

corresponds to the COBOL ROUNDED mode. For example, 1.4 becomes 1, 1.5 becomes 2, -1.4

becomes -1, -1.5 becomes -2.

– truncate towards zero. This is the default. Discard fractional digits to the right of the right-most

fractional digit supported by the destination, regardless of sign. For example, if the destination is an

integer, all fractional digits are truncated. If the destination is another decimal with a smaller scale,

truncate to the scale size of the destination decimal. This mode corresponds to the COBOL

INTEGER-PART function. Using this method 1.6 becomes 1, -1.6 becomes -1.v Scale. Specifies how to round a source decimal when its precision and scale are greater than those of

the destination. By default, when the WebSphere DataStage writes a source decimal to a string

representation, it uses the precision and scale defined for the source decimal field to determine the

length of the destination string. You can override the default by means of the precision and scale

properties. When you do, WebSphere DataStage truncates or pads the source decimal to fit the size of

the destination string. If you have also specified the field width property, WebSphere DataStage

truncates or pads the source decimal to fit the size specified by field width.

Numeric

These properties apply to integer and float fields unless overridden at column level.

v C_format. Perform non-default conversion of data from integer or floating-point data to a string. This

property specifies a C-language format string used for writing integer or floating point strings. This is

passed to sprintf(). For example, specifying a C-format of %x and a field width of 8 ensures that

integers are written as 8-byte hexadecimal strings.

v In_format. This property is not relevant for input links.

v Out_format. Format string used for conversion of data from integer or floating-point data to a string.

This is passed to sprintf(). By default, DataStage invokes the C sprintf() function to convert a

numeric field formatted as either integer or floating point data to a string. If this function does not

output data in a satisfactory format, you can specify the out_format property to pass formatting

arguments to sprintf().

Chapter 12. The stage editor interface 147

Page 156: 25520509 Quality Stage 8 0 User Guide

Date

These properties are applied to columns with a date data type unless overridden at column level. All of

these are incompatible with a Data Format setting of Text.

v Days since. Dates are written as a signed integer containing the number of days since the specified

date. Enter a date in the form %yyyy-%mm-%dd or in the default date format if you have defined a

new one on an NLS system.

v Format string. The string format of a date. By default this is %yyyy-%mm-%dd. The Format string can

contain one or a combination of the following elements:

– %dd. A two-digit day.

– %mm. A two-digit month.

– %year_cutoffyy. A two-digit year derived from yy and the specified four-digit year cutoff, for

example %1970yy.

– %yy. A two-digit year derived from a year cutoff of 1900.

– %yyyy. A four-digit year.

– %ddd. Day of year in three-digit form (range of 1- 366).

– %mmm. Three-character month abbreviation.The format_string is subject to the following restrictions:

– It cannot have more than one element of the same type, for example it cannot contain two %dd

elements.

– It cannot have both %dd and %ddd.

– It cannot have both %yy and %yyyy.

– It cannot have both %mm and %ddd.

– It cannot have both %mmm and %ddd.

– It cannot have both %mm and %mmm.

– If it has %dd, it must have %mm or %mmm.

– It must have exactly one of %yy or %yyyy.When you specify a date format string, prefix each component with the percent symbol (%). Separate

the string’s components with any character except the percent sign (%).

If this format string does not include a day, it is set to the first of the month in the destination field. If

the format string does not include the month and day, they default to January 1. Note that the format

string must contain a month if it also contains a day; that is, you cannot omit only the month.

The year_cutoff is the year defining the beginning of the century in which all two digit years fall. By

default, the year cutoff is 1900; therefore, a two-digit year of 97 represents 1997. You can also set this

using the environment variable APT_DATE_CENTURY_BREAK_YEAR. See

″APT_DATE_CENTURY_BREAK_YEAR″ in WebSphere Parallel Job Advanced Developer’s Guide, but this is

overridden by %year_cutoffyy if you have set it.

You can specify any four-digit year as the year cutoff. All two-digit years then specify the next possible

year ending in the specified two digits that is the same or greater than the cutoff. For example, if you

set the year cutoff to 1930, the two-digit year 30 corresponds to 1930, and the two-digit year 29

corresponds to 2029.

v Is Julian. Select this to specify that dates are written as a numeric value containing the Julian day. A

Julian day specifies the date as the number of days from 4713 BCE January 1, 12:00 hours (noon) GMT.

Time

These properties are applied to columns with a time data type unless overridden at column level. All of

these are incompatible with a Data Format setting of Text.

v Format string. Specifies the format of columns representing time as a string. By default this is

%hh-%mm-%ss. The possible components of the time format string are:

148 WebSphere QualityStage User Guide

Page 157: 25520509 Quality Stage 8 0 User Guide

– %hh. A two-digit hours component.

– %nn. A two-digit minute component (nn represents minutes because mm is used for the month of a

date).

– %ss. A two-digit seconds component.

– %ss.n. A two-digit seconds plus fractional part, where n is the number of fractional digits with a

maximum value of 6. If n is 0, no decimal point is printed as part of the seconds component.

Trailing zeros are not suppressed.You must prefix each component of the format string with the percent symbol. Separate the string’s

components with any character except the percent sign (%).

v Is midnight seconds. Select this to specify that times are written as a binary 32-bit integer containing

the number of seconds elapsed from the previous midnight.

Timestamp

These properties are applied to columns with a timestamp data type unless overridden at column level.

v Format string. Specifies the format of a column representing a timestamp as a string. Defaults to

%yyyy-%mm-%dd %hh:%nn:%ss.

– %dd. A two-digit day.

– %mm. A two-digit month.

– %year_cutoffyy. A two-digit year derived from yy and the specified four-digit year cutoff.

– %yy. A two-digit year derived from a year cutoff of 1900.

– %yyyy. A four-digit year.

– %ddd. Day of year in three-digit form (range of 1 - 366)The following items explains the format of the hours:

– %hh. A two-digit hours component.

– %nn. A two-digit minute component (nn represents minutes because mm is used for the month of a

date).

– %ss. A two-digit seconds component.

– %ss:n. A two-digit seconds plus fractional part, where n is the number of fractional digits with a

maximum value of 6. If n is 0, no decimal point is printed as part of the seconds component.

Trailing zeros are not suppressed.

You must prefix each component of the format string with the percent sign (%). Separate the string’s

components with any character except the percent sign (%).

Input page Columns tab

The Input page always has a Columns tab. This displays the column metadata for the selected input link

in a grid.

There are various ways of populating the grid:

v If the other end of the link has metadata specified for it, this will be displayed in the Columns tab

(metadata is associated with, and travels with, a link).

v You can type the required metadata into the grid. When you are done, click Save... to save the

metadata as a table definition in the Repository for subsequent reuse.

v You can load an existing table definition from the Repository. Click Load... to be offered a choice of

table definitions to load. Note that when you load in this way you bring in the columns definitions,

not any formatting information associated with them (to load that, go to the Format tab).

v You can drag a table definition from the Repository Window on the Designer onto a link on the

canvas. This transfers both the column definitions and the associated format information.

Chapter 12. The stage editor interface 149

Page 158: 25520509 Quality Stage 8 0 User Guide

If you select the options in the Grid Properties window (see WebSphere DataStage Designer Client Guide),

the Columns tab will also display two extra fields: Table Definition Reference and Column Definition

Reference. These show the table definition and individual columns that the columns on the tab were

derived from.

If you click in a row and select Edit Row... from the shortcut menu, the Edit Column Meta Data window

appears, which allows you edit the row details in a window format. It also has a Parallel tab which

allows you to specify properties that are peculiar to parallel job column definitions. The window only

shows those properties that are relevant for the current link.

The Parallel tab enables you to specify properties that give more detail about each column, and

properties that are specific to the data type. Where you are specifying complex data types, you can

specify a level number, which causes the Level Number field to appear in the grid on the Columns page.

If you have NLS enabled, and the column has an underlying string type, you can specify that the column

contains Unicode data by selecting the Extended (Unicode) check box. Where you can enter a character

for any property, this can usually be an ASCII character or a multi-byte Unicode character (if you have

NLS enabled).

Some table definitions need format information. This occurs where data is being written to a file where

DataStage needs additional information in order to be able to locate columns and rows. Properties for the

table definition at row level are set on the Format tab of the relevant stage editor, but you can override

the settings for individual columns using the Parallel tab.

Field Level

The field level has the following properties:

v Bytes to Skip. Skip the specified number of bytes from the end of the previous column to the

beginning of this column.

v Delimiter. Specifies the trailing delimiter of the column. Type an ASCII character or select one of the

following items:

– Whitespace. The last column of each record will not include any trailing white spaces found at the

end of the record.

– End. The end of a field is taken as the delimiter, that is there is no separate delimiter. This is not the

same as a setting of `None’ which is used for fields with fixed-width columns.

– None. No delimiter (used for fixed-width).

– Null. ASCII Null character is used.

– Comma. ASCII comma character used.

– Tab. ASCII tab character used.v Delimiter string. Specify a string to be written at the end of the column. Enter one or more characters.

This is mutually exclusive with Delimiter, which is the default. For example, specifying `, ` (comma

space - you do not need to enter the inverted commas) would have the column delimited by `, `.

v Drop on input. Select this property when you must fully define the metadata for a data set, but do not

want the column actually read into the data set.

v Prefix bytes. Specifies that this column is prefixed by 1, 2, or 4 bytes containing, as a binary value,

either the column’s length or the tag value for a tagged column. You can use this option with

variable-length fields. Variable-length fields can be either delimited by a character or preceded by a 1-,

2-, or 4-byte prefix containing the field length. WebSphere DataStage inserts the prefix before each field.

This property is mutually exclusive with the Delimiter, Quote, and Final Delimiter properties, which

are used by default.

v Print field. This property is intended for use when debugging jobs. Set it to have WebSphere DataStage

produce a message for each of the columns it reads. The message has the following format:

Importing N: D

150 WebSphere QualityStage User Guide

Page 159: 25520509 Quality Stage 8 0 User Guide

Substitute the following for each variable:

– N. The column name.

– D. Imported column data. Non-printable characters contained in D are prefixed with an escape

character and written as C string literals. If the column contains binary data, it is output in octal

format.v Quote. Specifies that variable length columns are enclosed in single quotes, double quotes, or another

ASCII character or pair of ASCII characters. Choose Single or Double, or enter a character.

v Start position. Specifies the starting position of a column in the record. The starting position can be

either an absolute byte offset from the first record position (0) or the starting position of another

column.

v Tag case value. Explicitly specifies the tag value corresponding to a subfield in a tagged subrecord. By

default the fields are numbered 0 to N-1, where N is the number of fields. (A tagged subrecord is a

column whose type can vary. The sub fields of the tagged subrecord are the possible types. The tag

case value of the tagged subrecord selects which of those types is used to interpret the column’s value

for the record.)

String type

This has the following properties:

v Character Set. Choose from ASCII or EBCDIC (not available for ustring type (Unicode)).

v Default. The default value for a column. This is used for data written by a Generate stage. It also

supplies the value to substitute for a column that causes an error (whether written or read).

v Export EBCDIC as ASCII. Select this to specify that EBCDIC characters are written as ASCII characters

(not available for ustring type (Unicode)).

v Is link field. Selected to indicate that a column holds the length of another, variable-length column of

the record or of the tag value of a tagged record field.

v Import ASCII as EBCDIC. Select this to specify that ASCII characters are read as EBCDIC characters

(not available for ustring type (Unicode)).

v Field max width. The maximum number of bytes in a column represented as a string. Enter a number.

This is useful where you are storing numbers as text. If you are using a fixed-width character set, you

can calculate the length exactly. If you are using variable-length character set, calculate an adequate

maximum width for your fields. Applies to fields of all data types except date, time, timestamp, and

raw; and record, subrec, or tagged if they contain at least one field of this type.

v Field width. The number of bytes in a column represented as a string. Enter a number. This is useful

where you are storing numbers as text. If you are using a fixed-width charset, you can calculate the

number of bytes exactly. If it’s a variable length encoding, base your calculation on the width and

frequency of your variable-width characters. Applies to fields of all data types except date, time,

timestamp, and raw; and record, subrec, or tagged if they contain at least one field of this type.

v Pad char. Specifies the pad character used when strings or numeric values are written to an external

string representation. Enter a character (single-byte for strings, can be multi-byte for ustrings) or choose

null or space. The pad character is used when the external string representation is larger than required

to hold the written field. In this case, the external string is filled with the pad character to its full

length. Space is the default. Applies to string, ustring, and numeric data types and record, subrec, or

tagged types if they contain at least one field of this type.

Date type

Data type has the following properties:

v Byte order. Specifies how multiple byte data types are ordered. Choose from:

– little-endian. The high byte is on the right.

– big-endian. The high byte is on the left.

– native-endian. As defined by the native format of the machine.

Chapter 12. The stage editor interface 151

Page 160: 25520509 Quality Stage 8 0 User Guide

v Character Set. Choose from ASCII or EBCDIC.

v Days since. Dates are written as a signed integer containing the number of days since the specified

date. Enter a date in the form %yyyy-%mm-%dd or in the default date format if you have defined a

new one on an NLS system.

v Data Format. Specifies the data representation format of a column. Choose from:

– binary

– text

For dates, binary is equivalent to specifying the julian property for the date field, text specifies that

the data to be written contains a text-based date in the form %yyyy-%mm-%dd or in the default date

format if you have defined a new one on an NLS system.v Default. The default value for a column. This is used for data written by a Generate stage. It also

supplies the value to substitute for a column that causes an error (whether written or read).

v Format string. The string format of a date. By default this is %yyyy-%mm-%dd. The Format string can

contain one or a combination of the following elements:

– %dd. A two-digit day.

– %mm. A two-digit month.

– %year_cutoffyy. A two-digit year derived from yy and the specified four-digit year cutoff, for

example %1970yy.

– %yy. A two-digit year derived from a year cutoff of 1900.

– %yyyy. A four-digit year.

– %ddd. Day of year in three-digit form (range of 1- 366).

– %mmm. Three-character month abbreviation.

The format_string is subject to the following restrictions:

– It cannot have more than one element of the same type, for example it cannot contain two %dd

elements.

– It cannot have both %dd and %ddd.

– It cannot have both %yy and %yyyy.

– It cannot have both %mm and %ddd.

– It cannot have both %mmm and %ddd.

– It cannot have both %mm and %mmm.

– If it has %dd, it must have %mm or %mmm.

– It must have exactly one of %yy or %yyyy.

When you specify a date format string, prefix each component with the percent symbol (%).

Separate the string’s components with any character except the percent sign (%).

If this format string does not include a day, it is set to the first of the month in the destination field.

If the format string does not include the month and day, they default to January 1. Note that the

format string must contain a month if it also contains a day; that is, you cannot omit only the

month.

The year_cutoff is the year defining the beginning of the century in which all two digit years fall. By

default, the year cutoff is 1900; therefore, a two-digit year of 97 represents 1997. You can also set this

using the environment variable APT_DATE_CENTURY_BREAK_YEAR but this is overridden by

%year_cutoffyy if you have set it.

You can specify any four-digit year as the year cutoff. All two-digit years then specify the next

possible year ending in the specified two digits that is the same or greater than the cutoff. For

example, if you set the year cutoff to 1930, the two-digit year 30 corresponds to 1930, and the

two-digit year 29 corresponds to 2029.v Is Julian. Select this to specify that dates are written as a numeric value containing the Julian day. A

Julian day specifies the date as the number of days from 4713 BCE January 1, 12:00 hours (noon) GMT.

152 WebSphere QualityStage User Guide

Page 161: 25520509 Quality Stage 8 0 User Guide

Time type

Time type has the following properties:

v Byte order. Specifies how multiple byte data types are ordered. Choose from the following byte order:

– little-endian. The high byte is on the right.

– big-endian. The high byte is on the left.

– native-endian. As defined by the native format of the machine.v Character Set. Choose from ASCII or EBCDIC.

v Default. The default value for a column. This is used for data written by a Generate stage. It also

supplies the value to substitute for a column that causes an error (whether written or read).

v Data Format. Specifies the data representation format of a column. Choose from the following data

format:

– binary

– text

For time, binary is equivalent to midnight_seconds, text specifies that the field represents time in the

text-based form %hh:%nn:%ss or in the default date format if you have defined a new one on an

NLS system.v Format string. Specifies the format of columns representing time as a string. By default this is

%hh-%mm-%ss. The following are the possible components of the time format string:

– %hh: A two-digit hours component.

– %nn: A two-digit minute component (nn represents minutes because mm is used for the month of a

date).

– %ss: A two-digit seconds component.

– %ss.n: A two-digit seconds plus fractional part, where n is the number of fractional digits with a

maximum value of 6. If n is 0, no decimal point is printed as part of the seconds component.

Trailing zeros are not suppressed.

You must prefix each component of the format string with the percent symbol. Separate the string’s

components with any character except the percent sign (%).v Is midnight seconds. Select this to specify that times are written as a binary 32-bit integer containing

the number of seconds elapsed from the previous midnight.

Timestamp type

The following describes the Timestamp type properties:

v Byte order. Specifies how multiple byte data types are ordered. Choose from the following byte order::

– little-endian. The high byte is on the right.

– big-endian. The high byte is on the left.

– native-endian. As defined by the native format of the machine.v Character Set. Choose from ASCII or EBCDIC.

v Data Format. Specifies the data representation format of a column. Choose from the following data

format:

– binary

– text

For timestamp, binary specifies that the first integer contains a Julian day count for the date portion

of the timestamp and the second integer specifies the time portion of the timestamp as the number

of seconds from midnight. A binary timestamp specifies that two 32-but integers are written. Text

specifies a text-based timestamp in the form %yyyy-%mm-%dd %hh:%nn:%ss or in the default date

format if you have defined a new one on an NLS system.

Chapter 12. The stage editor interface 153

Page 162: 25520509 Quality Stage 8 0 User Guide

v Default. The default value for a column. This is used for data written by a Generate stage. It also

supplies the value to substitute for a column that causes an error (whether written or read).

v Format string. Specifies the format of a column representing a timestamp as a string. Defaults to

%yyyy-%mm-%dd %hh:%nn:%ss. Specify the format as follows:

For the date:

– %dd: A two-digit day.

– %mm: A two-digit month.

– %year_cutoffyy: A two-digit year derived from yy and the specified four-digit year cutoff.

– %yy: A two-digit year derived from a year cutoff of 1900.

– %yyyy: A four-digit year.

– %ddd: Day of year in three-digit form (range of 1 - 366)

For the time:

– %hh: A two-digit hours component.

– %nn: A two-digit minute component (nn represents minutes because mm is used for the month of a

date).

– %ss: A two-digit seconds component.

– %ss.n: A two-digit seconds plus fractional part, where n is the number of fractional digits with a

maximum value of 6. If n is 0, no decimal point is printed as part of the seconds component.

Trailing zeros are not suppressed.

You must prefix each component of the format string with the percent symbol (%). Separate the

string’s components with any character except the percent sign (%).

Integer type

The following explains the integer type properties:

v Byte order. Specifies how multiple byte data types are ordered. Choose from the following byte order:

– little-endian. The high byte is on the right.

– big-endian. The high byte is on the left.

– native-endian. As defined by the native format of the machine.v Character Set. Choose from ASCII or EBCDIC.

v C_format. Perform non-default conversion of data from a string to integer data. This property specifies

a C-language format string used for reading/writing integer strings. This is passed to sscanf() or

sprintf().

v Default. The default value for a column. This is used for data written by a Generate stage. It also

supplies the value to substitute for a column that causes an error (whether written or read).

v Data Format. Specifies the data representation format of a column. Choose from the following data

format:

– binary

– textv Field max width. The maximum number of bytes in a column represented as a string. Enter a number.

This is useful where you are storing numbers as text. If you are using a fixed-width character set, you

can calculate the length exactly. If you are using variable-length character set, calculate an adequate

maximum width for your fields. Applies to fields of all data types except date, time, timestamp, and

raw; and record, subrecord, or tagged if they contain at least one field of this type.

v Field width. The number of bytes in a column represented as a string. Enter a number. This is useful

where you are storing numbers as text. If you are using a fixed-width charset, you can calculate the

number of bytes exactly. If it is a variable length encoding, base your calculation on the width and

frequency of your variable-width characters. Applies to fields of all data types except date, time,

timestamp, and raw; and record, subrecord, or tagged if they contain at least one field of this type.

154 WebSphere QualityStage User Guide

Page 163: 25520509 Quality Stage 8 0 User Guide

v In_format. Format string used for conversion of data from string to integer. This is passed to sscanf().

By default, DataStage invokes the C sscanf() function to convert a numeric field formatted as a string

to either integer or floating point data. If this function does not output data in a satisfactory format,

you can specify the in_format property to pass formatting arguments to sscanf().

v Is link field. Selected to indicate that a column holds the length of another, variable-length column of

the record or of the tag value of a tagged record field.

v Out_format. Format string used for conversion of data from integer to a string. This is passed to

sprintf(). By default, DataStage invokes the C sprintf() function to convert a numeric field

formatted as integer data to a string. If this function does not output data in a satisfactory format, you

can specify the out_format property to pass formatting arguments to sprintf().

v Pad char. Specifies the pad character used when the integer is written to an external string

representation. Enter a character (single-bye for strings, can be multi-byte for ustrings) or choose null

or space. The pad character is used when the external string representation is larger than required to

hold the written field. In this case, the external string is filled with the pad character to its full length.

Space is the default.

Decimal type

The decimal type has the following properties:

v Allow all zeros. Specifies whether to treat a packed decimal column containing all zeros (which is

normally illegal) as a valid representation of zero. Select Yes or No.

v Character Set. Choose from ASCII or EBCDIC.

v Decimal separator. Specify the character that acts as the decimal separator (period by default).

v Default. The default value for a column. This is used for data written by a Generate stage. It also

supplies the value to substitute for a column that causes an error (whether written or read).

v Data Format. Specifies the data representation format of a column. Choose from the following data

format:

– binary

– text

For decimals, binary means packed. Text represents a decimal in a string format with a leading

space or ’-’ followed by decimal digits with an embedded decimal point if the scale is not zero. The

destination string format is: [+ | -]ddd.[ddd] and any precision and scale arguments are ignored.v Field max width. The maximum number of bytes in a column represented as a string. Enter a number.

Enter a number. This is useful where you are storing numbers as text. If you are using a fixed-width

character set, you can calculate the length exactly. If you are using variable-length character set,

calculate an adequate maximum width for your fields. Applies to fields of all data types except date,

time, timestamp, and raw; and record, subrec, or tagged if they contain at least one field of this type.

v Field width. The number of bytes in a column represented as a string. Enter a number. This is useful

where you are storing numbers as text. If you are using a fixed-width charset, you can calculate the

number of bytes exactly. If it’s a variable length encoding, base your calculation on the width and

frequency of your variable-width characters. Applies to fields of all data types except date, time,

timestamp, and raw; and record, subrec, or tagged if they contain at least one field of this type.

v Packed. Select an option to specify what the decimal columns contain, choose from:

– Yes to specify that the decimal columns contain data in packed decimal format (the default). This

has the following sub-properties:

Check. Select Yes to verify that data is packed, or No to not verify.

Signed. Select Yes to use the existing sign when writing decimal columns. Select No to write a

positive sign (0xf) regardless of the columns’ actual sign value.

– No (separate) to specify that they contain unpacked decimal with a separate sign byte. This has the

following sub-property:

Sign Position. Choose leading or trailing as appropriate.

Chapter 12. The stage editor interface 155

Page 164: 25520509 Quality Stage 8 0 User Guide

– No (zoned) to specify that they contain an unpacked decimal in either ASCII or EBCDIC text. This

has the following sub-property:

Sign Position. Choose leading or trailing as appropriate.

– No (overpunch) to specify that the field has a leading or end byte that contains a character which

specifies both the numeric value of that byte and whether the number as a whole is negatively or

positively signed. This has the following sub-property:

Sign Position. Choose leading or trailing as appropriate.v Precision. Specifies the precision where a decimal column is represented in text format. Enter a number.

When a decimal is written to a string representation, WebSphere DataStage uses the precision and scale

defined for the source decimal field to determine the length of the destination string. The precision and

scale properties override this default. When they are defined, WebSphere DataStage truncates or pads

the source decimal to fit the size of the destination string. If you have also specified the field width

property, WebSphere DataStage truncates or pads the source decimal to fit the size specified by field

width.

v Rounding. Specifies how to round the source field to fit into the destination decimal when reading a

source field to a decimal. Choose one of the following rounding types:

– up (ceiling). Truncate source column towards positive infinity. This mode corresponds to the IEEE

754 Round Up mode. For example, 1.4 becomes 2, -1.6 becomes -1.

– down (floor). Truncate source column towards negative infinity. This mode corresponds to the IEEE

754 Round Down mode. For example, 1.6 becomes 1, -1.4 becomes -2.

– nearest value. Round the source column towards the nearest representable value. This mode

corresponds to the COBOL ROUNDED mode. For example, 1.4 becomes 1, 1.5 becomes 2, -1.4

becomes -1, -1.5 becomes -2.

– truncate towards zero. This is the default. Discard fractional digits to the right of the right-most

fractional digit supported by the destination, regardless of sign. For example, if the destination is an

integer, all fractional digits are truncated. If the destination is another decimal with a smaller scale,

truncate to the scale size of the destination decimal. This mode corresponds to the COBOL

INTEGER-PART function. Using this method 1.6 becomes 1, -1.6 becomes -1.v Scale. Specifies how to round a source decimal when its precision and scale are greater than those of

the destination. By default, when the WebSphere DataStage writes a source decimal to a string

representation, it uses the precision and scale defined for the source decimal field to determine the

length of the destination string. You can override the default by means of the precision and scale

properties. When you do, WebSphere DataStage truncates or pads the source decimal to fit the size of

the destination string. If you have also specified the field width property, WebSphere DataStage

truncates or pads the source decimal to fit the size specified by field width. Specifies how to round a

source decimal when its precision and scale are greater than those of the destination.

Float type

The following explains the float type properties:

v C_format. Perform non-default conversion of data from a string to floating-point data. This property

specifies a C-language format string used for reading floating point strings. This is passed to sscanf().

v Character Set. Choose from ASCII or EBCDIC.

v Default. The default value for a column. This is used for data written by a Generate stage. It also

supplies the value to substitute for a column that causes an error (whether written or read).

v Data Format. Specifies the data representation format of a column. Choose from the following data

format:

– binary

– textv Field max width. The maximum number of bytes in a column represented as a string. Enter a number.

This is useful where you are storing numbers as text. If you are using a fixed-width character set, you

can calculate the length exactly. If you are using variable-length character set, calculate an adequate

156 WebSphere QualityStage User Guide

Page 165: 25520509 Quality Stage 8 0 User Guide

maximum width for your fields. Applies to fields of all data types except date, time, timestamp, and

raw; and record, subrec, or tagged if they contain at least one field of this type.

v Field width. The number of bytes in a column represented as a string. Enter a number. This is useful

where you are storing numbers as text. If you are using a fixed-width charset, you can calculate the

number of bytes exactly. If it’s a variable length encoding, base your calculation on the width and

frequency of your variable-width characters. Applies to fields of all data types except date, time,

timestamp, and raw; and record, subrec, or tagged if they contain at least one field of this type.

v In_format. Format string used for conversion of data from string to floating point. This is passed to

sscanf(). By default, WebSphere DataStage invokes the C sscanf() function to convert a numeric field

formatted as a string to floating point data. If this function does not output data in a satisfactory

format, you can specify the in_format property to pass formatting arguments to sscanf().

v Is link field. Selected to indicate that a column holds the length of a another, variable-length column of

the record or of the tag value of a tagged record field.

v Out_format. Format string used for conversion of data from floating point to a string. This is passed to

sprintf(). By default, WebSphere DataStage invokes the C sprintf() function to convert a numeric

field formatted as floating point data to a string. If this function does not output data in a satisfactory

format, you can specify the out_format property to pass formatting arguments to sprintf().

v Pad char. Specifies the pad character used when the floating point number is written to an external

string representation. Enter a character (single-bye for strings, can be multi-byte for ustrings) or choose

null or space. The pad character is used when the external string representation is larger than required

to hold the written field. In this case, the external string is filled with the pad character to its full

length. Space is the default.

Nullable

This appears for nullable fields.

v Actual field length. Specifies the number of bytes to fill with the Fill character when a field is

identified as null. When WebSphere DataStage identifies a null field, it will write a field of this length

full of Fill characters. This is mutually exclusive with Null field value.

v Null field length. The length in bytes of a variable-length field that contains a null. When a

variable-length field is read, a length of null field length in the source field indicates that it contains a

null. When a variable-length field is written, WebSphere DataStage writes a length value of null field

length if the field contains a null. This property is mutually exclusive with null field value.

v Null field value. Specifies the value given to a null field if the source is set to null. Can be a number,

string, or C-type literal escape character.

For example, you can represent a byte value by </b>ooo, where each o is an octal digit 0 - 7 and the

first o is < 4, or by \xhh, where each h is a hexadecimal digit 0 - F. You must use this form to encode

non-printable byte values.

This property is mutually exclusive with Null field length and Actual length. For a fixed width data

representation, you can use Pad char (from the general section of Type defaults) to specify a repeated

trailing character if the value you specify is shorter than the fixed width of the field. On reading,

specifies the value given to a field containing a null. On writing, specifies the value given to a field if

the source is set to null. Can be a number, string, or C-type literal escape character.

Generator

If the column is being used in a Row Generator or Column Generator stage, this allows you to specify

extra details about the mock data being generated. The exact fields that appear depend on the data type

of the column being generated. They allow you to specify features of the data being generated.

For example, integers allow you to specify if values are random or whether they cycle. If they cycle, you

can specify an initial value, an increment, and a limit. If they are random, you can specify a seed value

for the random number generator, whether to include negative numbers and a limit.

Chapter 12. The stage editor interface 157

Page 166: 25520509 Quality Stage 8 0 User Guide

The following diagram shows the generate options available for the different data types.

IncrementCycle

Cycle

Cycle

Cycle

Cycle

Cycle

Random

Random

Random

Random

Random

Random

Epoch

Epoch

Percent invalid

Percent invalid

Percent invalid

Scale factorPercent invalid

Use current date

Use current date

Percent zero

Increment

Increment

Increment

Increment

Increment

Initial value

Initial value

Initial value

Initial value

Initial value

Initial value

Limit

Limit

Limit

Limit

Limit

Limit

Limit

Limit

Limit

Limit

Limit

Limit

Seed

Seed

Seed

Seed

Seed

Seed

Signed

Signed

Signed

Signed

Signed

Signed

Date

String AlgorithmCycle Value

Alphabet String

Time

Timestamp

Integer

Decimal

Float

All data types

All data types other than string have two types of operation, cycle and random:

v Cycle. The cycle option generates a repeating pattern of values for a column. It has the following

optional dependent properties:

– Increment. The increment value added to produce the field value in the next output record. The

default value is 1 (integer) or 1.0 (float).

– Initial value. is the initial field value (value of the first output record). The default value is 0.

158 WebSphere QualityStage User Guide

Page 167: 25520509 Quality Stage 8 0 User Guide

– Limit. The maximum field value. When the generated field value is greater than Limit, it wraps

back to Initial value. The default value of Limit is the maximum allowable value for the field’s data

type.

You can set these to `part’ to use the partition number (for example, 0, 1, 2, 3 on a four node

system), or `partcount’ to use the total number of executing partitions (for example, 4 on a four

node system).v Random. The random option generates random values for a field. It has the following optional

dependent properties:

– Limit. Maximum generated field value. The default value of limit is the maximum allowable value

for the field’s data type.

– Seed. The seed value for the random number generator used by the stage for the field. You do not

have to specify seed. By default, the stage uses the same seed value for all fields containing the

random option.

– Signed. Specifies that signed values are generated for the field (values between -limit and +limit).

Otherwise, the operator creates values between 0 and +limit.

You can limit and seed to `part’ to use the partition number (e.g., 0, 1, 2, 3 on a four node system),

or `partcount’ to use the total number of executing partitions (for example, 4 on a four node

system).

Strings

By default the generator stages initialize all bytes of a string field to the same alphanumeric character.

The stages use the following characters, in the following order:

abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ

For example, the following string with a length of 5 would produce successive string fields with the

values:

aaaaa

bbbbb

ccccc

ddddd

...

After the last character, capital Z, values wrap back to lowercase a and the cycle repeats.

You can also use the algorithm property to determine how string values are generated, this has two

possible values: cycle and alphabet.

v Cycle. Values are assigned to a generated string field as a set of discrete string values to cycle through.

This has the following dependent property.

Values. Repeat this property to specify the string values that the generated data cycles through.

v Alphabet. Values are assigned to a generated string field as a character string each of whose characters

is taken in turn. This is like the default mode of operation except that you can specify the string cycled

through using the dependent property String.

Decimal

As well as the Type property, decimal columns have the following properties:

v Percent invalid. The percentage of generated columns that containa invalid values. Set to 10% by

default.

v Percent zero. The percentage of generated decimal columns where all bytes of the decimal are set to

binary zero (0x00). Set to 10% by default.

Chapter 12. The stage editor interface 159

Page 168: 25520509 Quality Stage 8 0 User Guide

Date

As well as the Type property, date columns have the following properties:

v Epoch. Use this to specify the earliest generated date value, in the format yyyy-mm-dd (leading zeros

must be supplied for all parts). The default is 1960-01-01.

v Percent invalid. The percentage of generated columns that will contain invalid values. Set to 10% by

default.

v Use current date. Set this to generate today’s date in this column for every row generated. If you set

this all other properties are ignored.

Time

As well as the Type property, time columns have the following properties:

v Percent invalid. The percentage of generated columns that will contain invalid values. Set to 10% by

default.

v Scale factor. Specifies a multiplier to the increment value for time. For example, a scale factor of 60 and

an increment of 1 means the field increments by 60 seconds.

Timestamp

As well as the Type property, time columns have the following properties:

v Epoch. Use this to specify the earliest generated date value, in the format yyyy-mm-dd (leading zeros

must be supplied for all parts). The default is 1960-01-01.

v Use current date. Set this to generate today’s date in this column for every row generated. If you set

this all other properties are ignored.

v Percent invalid. The percentage of generated columns that will contain invalid values. Set to 10% by

default.

v Scale factor. Specifies a multiplier to the increment value for time. For example, a scale factor of 60 and

an increment of 1 means the field increments by 60 seconds.

Vectors

If the row you are editing represents a column which is a variable length vector, tick the Variable check

box. The Vector properties appear, these give the size of the vector in one of two ways:

v Link Field Reference. The name of a column containing the number of elements in the variable length

vector. This should have an integer or float type, and have its Is Link field property set.

v Vector prefix. Specifies 1-, 2-, or 4-byte prefix containing the number of elements in the vector.

If the row you are editing represents a column which is a vector of known length, enter the number of

elements in the Vector Occurs box.

Subrecords

If the row you are editing represents a column which is part of a subrecord the Level Number column

indicates the level of the column within the subrecord structure.

If you specify Level numbers for columns, the column immediately preceding will be identified as a

subrecord. Subrecords can be nested, so can contain further subrecords with higher level numbers (that is,

level 06 is nested within level 05). Subrecord fields have a Tagged check box to indicate that this is a

tagged subrecord.

160 WebSphere QualityStage User Guide

Page 169: 25520509 Quality Stage 8 0 User Guide

Extended

For certain data types the Extended check box appears to allow you to modify the data type as follows:

v Char, VarChar, LongVarChar. Select to specify that the underlying data type is a ustring.

v Time. Select to indicate that the time field includes microseconds.

v Timestamp. Select to indicate that the timestamp field includes microseconds.

v TinyInt, SmallInt, Integer, BigInt types. Select to indicate that the underlying data type is the equivalent

uint field.

Advanced tab

The Advanced tab allows you to specify how WebSphere DataStage buffers data being input this stage.

By default WebSphere DataStage buffers data in such a way that no deadlocks can arise. A deadlock is

defined as a number of mutually dependent stages that are waiting for input from another stage and

cannot output until they receive it.

The size and operation of the buffer are usually the same for all links on all stages. The default values

that the settings take can be set using environment variables.

Use the Advanced tab to specify buffer settings on a per-link basis. You should only change the settings if

you fully understand the consequences of your actions. Otherwise you could cause deadlock situations to

occur.

Any changes you make on this tab are reflected in the Output page Advanced tab of the stage at the

other end of this link.

The settings are as follows:

v Buffering mode. Select one of the following from the drop-down list.

– (Default). This takes whatever the default settings are as specified by the environment variables

known as Auto-buffer unless you have explicitly changed the value of the APT_BUFFERING

_POLICY environment variable.

– Auto buffer. Buffer output data only if necessary to prevent a dataflow deadlock situation.

– Buffer. This unconditionally buffers all data output from this stage.

– No buffer. Do not buffer output data under any circumstances. This could potentially lead to

deadlock situations if not used carefully.

If you choose the Auto buffer or Buffer options, you can also set the values of the various buffering

parameters:

v Maximum memory buffer size (bytes). Specifies the maximum amount of virtual memory, in bytes,

used per buffer. The default size is 3145728 (3 MB).

v Buffer free run (percent). Specifies how much of the available in-memory buffer to consume before the

buffer resists. This is expressed as a percentage of Maximum memory buffer size. When the amount of

data in the buffer is less than this value, new data is accepted automatically. When the data exceeds it,

the buffer first tries to write some of the data it contains before accepting more.

The default value is 50% of the Maximum memory buffer size. You can set it to greater than 100%, in

which case the buffer continues to store data up to the indicated multiple of Maximum memory buffer

size before writing to disk.

v Queue upper bound size (bytes). Specifies the maximum amount of data buffered at any time using

both memory and disk. The default value is zero, meaning that the buffer size is limited only by the

available disk space as specified in the configuration file (resource scratchdisk). If you set Queue upper

bound size (bytes) to a non-zero value, the amount of data stored in the buffer will not exceed this

value (in bytes) plus one block (where the data stored in a block cannot exceed 32 KB).

Chapter 12. The stage editor interface 161

Page 170: 25520509 Quality Stage 8 0 User Guide

If you set Queue upper bound size to a value equal to or slightly less than Maximum memory buffer

size, and set Buffer free run to 1.0, you will create a finite capacity buffer that does not write to disk.

However, the size of the buffer is limited by the virtual memory of your system and you can create

deadlock if the buffer becomes full.

v Disk write increment (bytes). Sets the size, in bytes, of blocks of data being moved to/from disk by the

buffering operator. The default is 1048576 (1 MB). Adjusting this value trades amount of disk access

against throughput for small amounts of data. Increasing the block size reduces disk access, but may

decrease performance when data is being read/written in smaller units. Decreasing the block size

increases throughput, but may increase the amount of disk access.

Output page

The Output page gives information about links going out of a stage. In the case of a file or database stage

an input link carries data being read from the file or database. In the case of a processing or restructure

stage it carries data that the stage has processed. Where there are no output links the stage editor has no

Output page.

Where it is present, the Output page contains various tabs depending on stage type. The only field the

Output page itself contains is Output name, which gives the name of the link being edited. Where a stage

has more than one output link, you can select the link you are editing from the Output name drop-down

list.

The Output page also has a Columns... button. Click Columns... to open a window showing column

names from the metadata defined for this link. You can drag these columns to various fields in the

Output page tabs as required.

Certain stage types will also have a View Data... button.Click View Data to view the actual data

associated with the specified data source or data target. The button is available if you have defined

metadata for the link.

The Sequential File stage has a Show File... button, rather than View Data... . This shows the flat file as it

has been created on disk.

General tab

The Output page always has a General tab. this allows you to enter an optional description of the link.

Specifying a description for each link enhances job maintainability.

Properties tab

Some types of file and database stages can have properties that are particular to specific output links. In

this case the Output page has a Properties tab. This has the same format as the Stage page Properties tab.

Format tab

Stages that read from certain types of file (for example, the Sequential File stage) also have a Format tab

which allows you to specify the format of the file or files being read from.

The Format page is similar in structure to the Properties page. A flat file has a number of properties that

you can set different attributes for. Select the property in the tree and select the attributes you want to set

from the Available properties to add window. It then appears as a dependent property in the property

tree and you can set its value as required. This tab sets the format information for the file at row level.

You can override the settings for individual columns using the Edit Column Metadata window.

162 WebSphere QualityStage User Guide

Page 171: 25520509 Quality Stage 8 0 User Guide

Format details are also stored with table definitions, and you can use the Load... button to load a format

from a table definition stored in the DataStage Repository.

The short-cut menu from the property tree gives access to the following functions:

v Format as. This applies a predefined template of properties. Choose from the following properties:

– Delimited/quoted

– Fixed-width records

– UNIX line terminator

– DOS line terminator

– No terminator (fixed width)

– Mainframe (COBOL)v Add sub-property. Gives access to a list of dependent properties for the currently selected property

(visible only if the property has dependents).

v Set to default. Appears if the currently selected property has been set to a non-default value, allowing

you to re-select the default.

v Remove. Removes the currently selected property. This is disabled if the current property is mandatory.

v Remove all. Removes all the non-mandatory properties.

The following sections list the property types and properties available for each type.

This description uses the terms record, row, field, and column interchangeably.

Record level

These properties define details about how data records are formatted in the flat file.

Where you can enter a character, this can usually be an ASCII character or a multi-byte Unicode character

(if you have NLS enabled). The following are the available properties:

v Fill char. Does not apply to output links

v Final delimiter string. Specify the string written after the last column of a record in place of the column

delimiter. Enter one or more characters, this precedes the record delimiter if one is used. Mutually

exclusive with Final delimiter, which is the default.

For example, if you set Delimiter to comma (see under ″Field Defaults″ for Delimiter) and Final

delimiter string to `, ` (comma space - you do not need to enter the inverted commas) all fields are

delimited by a comma, except the final field, which is delimited by a comma followed by an ASCII

space character.WebSphere DataStage skips the specified delimiter string when reading the file.

v Final delimiter. Specify the single character written after the last column of a record in place of the

field delimiter. Type a character or select one of whitespace, end, none, null, tab, or comma. WebSphere

DataStage skips the specified delimiter string when reading the file.

– whitespace. The last column of each record will not include any trailing white spaces found at the

end of the record.

– end. The last column of each record does not include the field delimiter. This is the default setting.

– none. The last column of each record does not have a delimiter, used for fixed-width fields.

– null. The last column of each record is delimited by the ASCII null character.

– comma. The last column of each record is delimited by the ASCII comma character.

– tab. The last column of each record is delimited by the ASCII tab character.

When writing, a space is now inserted after every field except the last record.

Chapter 12. The stage editor interface 163

Page 172: 25520509 Quality Stage 8 0 User Guide

,

,

,

,

,

,

Field 1

Field 1

Field 1

Field 1

Field DelimiterFinal Delimiter = end

Record delimiter

Final Delimiter = comma

Field 1

Field 1

Last field

Last field

nl

nl

v Intact. The intact property specifies an identifier of a partial schema. A partial schema specifies that

only the column or columns named in the schema can be modified by the stage. All other columns in

the row are passed through unmodified. The file containing the partial schema is specified in the

Schema File property on Outputs tab. This property has the following dependent property:

Check intact. Select this to force validation of the partial schema as the file or files are imported. Note

that this can degrade performance.

v Record delimiter string. Specify the string at the end of each record. Enter one or more characters. This

is mutually exclusive with Record delimiter, which is the default, and record type and record prefix.

v Record delimiter. Specify the single character at the end of each record. Type a character or select one

of the following:

– UNIX Newline (the default)

– nullTo specify a DOS newline, use the Record delimiter string property set to ″\R\N″ or choose Format as

→ DOS line terminator from the shortcut menu.

Record delimiter is mutually exclusive with Record delimiter string, Record prefix, and record type.

v Record length. Select Fixed where fixed length fields are being read. WebSphere DataStage calculates

the appropriate length for the record. Alternatively, specify the length of fixed records as number of

bytes. This is not used by default (default files are comma-delimited).

v Record Prefix. Specifies that a variable-length record is prefixed by a 1-, 2-, or 4-byte length prefix. It is

set to 1 by default. This is mutually exclusive with Record delimiter, which is the default, and record

delimiter string and record type.

v Record type. Specifies that data consists of variable-length blocked records (varying) or implicit records

(implicit). If you choose the implicit property, data is written as a stream with no explicit record

boundaries. The end of the record is inferred when all of the columns defined by the schema have

been parsed. The varying property allows you to specify one of the following IBM blocked or spanned

formats: V, VB, VS, VBS, or VR.

This property is mutually exclusive with Record length, Record delimiter, Record delimiter string, and

Record prefix and by default is not used.

Field defaults

Defines default properties for columns read from the file or files. These are applied to all columns, but

can be overridden for individual columns from the Columns tab using the Edit Column Metadata

window. Where you can enter a character, this can usually be an ASCII character or a multi-byte Unicode

character (if you have NLS enabled). The following are available properties:

v Actual field length. Specifies the actual number of bytes to skip if the field’s length equals the setting

of the null field length property.

164 WebSphere QualityStage User Guide

Page 173: 25520509 Quality Stage 8 0 User Guide

v Delimiter. Specifies the trailing delimiter of all fields in the record. Type an ASCII character or select

one of whitespace, end, none, null, comma, or tab. DataStage skips the delimiter when reading.

– whitespace. Whitespace characters at the end of a column are ignored, i.e., are not treated as part of

the column.

– end. The end of a field is taken as the delimiter, i.e., there is no separate delimiter. This is not the

same as a setting of `None’ which is used for fields with fixed-width columns.

– none. No delimiter (used for fixed-width).

– null. ASCII Null character is used.

– comma. ASCII comma character is used.

– tab. ASCII tab character is used.v Delimiter string. Specify the string at the end of each field. Enter one or more characters. This is

mutually exclusive with Delimiter, which is the default. For example, specifying `, ` (comma space -

you do not need to enter the inverted commas) specifies each field is delimited by `, ` unless

overridden for individual fields. WebSphere DataStage skips the delimiter string when reading.

v Null field length. The length in bytes of a variable-length field that contains a null. When a

variable-length field is read, a length of null field length in the source field indicates that it contains a

null. This property is mutually exclusive with null field value.

v Null field value. Specifies the value given to a null field if the source is set to null. Can be a number,

string, or C-type literal escape character. For example, you can represent a byte value by <i>ooo, where

each o is an octal digit 0 - 7 and the first o is < 4, or by \xhh, where each h is a hexadecimal digit 0 -

F. You must use this form to encode non-printable byte values.

This property is mutually exclusive with Null field length and Actual length. For a fixed width data

representation, you can use Pad char (from the general section of Type defaults) to specify a repeated

trailing character if the value you specify is shorter than the fixed width of the field.

v Prefix bytes. You can use this option with variable-length fields. Variable-length fields can be either

delimited by a character or preceded by a 1-, 2-, or 4-byte prefix containing the field length. WebSphere

DataStage reads the length prefix but does not include the prefix as a separate field in the data set it

reads from the file.

This property is mutually exclusive with the Delimiter, Quote, and Final Delimiter properties, which

are used by default.

v Print field. This property is intended for use when debugging jobs. Set it to have WebSphere DataStage

produce a message for every field it reads. The message has the following format:

Importing N: D

The variables are interpreted as follows.

– N is the field name.

– D is the imported data of the field. Non-printable characters contained in D are prefixed with an

escape character and written as C string literals; if the field contains binary data, it is output in octal

format.v Quote. Specifies that variable length fields are enclosed in single quotes, double quotes, or another

character or pair of characters. Choose Single or Double, or enter a character. This is set to double

quotes by default.

When reading, WebSphere DataStage ignores the leading quote character and reads all bytes up to but

not including the trailing quote character.

v Vector prefix. For fields that are variable length vectors, specifies that a 1-, 2-, or 4-byte prefix contains

the number of elements in the vector. You can override this default prefix for individual vectors.

Variable-length vectors must use either a prefix on the vector or a link to another field in order to

specify the number of elements in the vector. If the variable length vector has a prefix, you use this

property to indicate the prefix length. WebSphere DataStage reads the length prefix but does not

include it as a separate field in the data set. By default, the prefix length is assumed to be one byte.

Chapter 12. The stage editor interface 165

Page 174: 25520509 Quality Stage 8 0 User Guide

Type defaults

These are properties that apply to all columns of a specific data type unless specifically overridden at the

column level. They are divided into a number of subgroups according to data type.

General

These properties apply to several data types (unless overridden at column level):

v Byte order. Specifies how multiple byte data types (except string and raw data types) are ordered.

Choose from one of the following byte order types:

– little-endian. The high byte is on the right.

– big-endian. The high byte is on the left.

– native-endian. As defined by the native format of the machine. This is the default.v Data Format. Specifies the data representation format of a field. Applies to fields of all data types

except string, ustring, and raw and to record, subrecord or tagged fields containing at least one field

that is neither string nor raw. Choose from one of the following data formats:

– binary

– text (the default)A setting of binary has different meanings when applied to different data types:

– For decimals, binary means packed.

– For other numerical data types, binary means ″not text″.

– For dates, binary is equivalent to specifying the julian property for the date field.

– For time, binary is equivalent to midnight_seconds.

– For timestamp, binary specifies that the first integer contains a Julian day count for the date portion

of the timestamp and the second integer specifies the time portion of the timestamp as the number

of seconds from midnight. A binary timestamp specifies that two 32-but integers are written.By default data is formatted as text, as follows:

– For the date data type. Text specifies that the data read contains a text-based date in the form

%yyyy-%mm-%dd or in the default date format if you have defined a new one on an NLS system.

– For the decimal data type. A field represents a decimal in a string format with a leading space or ’-’

followed by decimal digits with an embedded decimal point if the scale is not zero. The destination

string format is: [+ | -]ddd.[ddd] and any precision and scale arguments are ignored.

– For numeric fields (int8, int16, int32, uint8, uint16, uint32, sfloat, and dfloat). WebSphere DataStage

Assumes that numeric fields are represented as text.

– For the time data type. Text specifies that the field represents time in the text-based form

%hh:%nn:%ss or in the default date format if you have defined a new one on an NLS system.

– For the timestamp data type. Text specifies a text-based timestamp in the form %yyyy-%mm-%dd

%hh:%nn:%ss or in the default date format if you have defined a new one on an NLS system.v Field max width. The maximum number of bytes in a column represented as a string. Enter a number.

This is useful where you are storing numbers as text. If you are using a fixed-width character set, you

can calculate the length exactly. If you are using variable-length character set, calculate an adequate

maximum width for your fields. Applies to fields of all data types except date, time, timestamp, and

raw; and record, subrecord, or tagged if they contain at least one field of this type.

v Field width. The number of bytes in a field represented as a string. Enter a number. This is useful

where you are storing numbers as text. If you are using a fixed-width charset, you can calculate the

number of bytes exactly. If it’s a variable length encoding, base your calculation on the width and

frequency of your variable-width characters. Applies to fields of all data types except date, time,

timestamp, and raw; and record, subrecord, or tagged if they contain at least one field of this type.

If you specify neither field width nor field max width, numeric fields written as text have the

following number of bytes as their maximum width:

– 8-bit signed or unsigned integers: 4 bytes

166 WebSphere QualityStage User Guide

Page 175: 25520509 Quality Stage 8 0 User Guide

– 16-bit signed or unsigned integers: 6 bytes

– 32-bit signed or unsigned integers: 11 bytes

– 64-bit signed or unsigned integers: 21 bytes

– single-precision float: 14 bytes (sign, digit, decimal point, 7 fraction, ″E″, sign, 2 exponent)

– double-precision float: 24 bytes (sign, digit, decimal point, 16 fraction, ″E″, sign, 3 exponent)v Pad char. This property is ignored for output links.

v Character set. Specifies the character set. Choose from ASCII or EBCDIC. The default is ASCII. Applies

to all data types except raw and ustring and record, subrecord, or tagged containing no fields other

than raw or ustring.

String

These properties are applied to columns with a string data type, unless overridden at column level.

v Export EBCDIC as ASCII. Not relevant for output links.

v Import ASCII as EBCDIC. Select this to specify that ASCII characters are read as EBCDIC characters.

For ASCII-EBCDIC and EBCDIC-ASCII coversion tables.

Decimal

These properties are applied to columns with a decimal data type unless overridden at column level.

v Allow all zeros. Specifies whether to treat a packed decimal column containing all zeros (which is

normally illegal) as a valid representation of zero. Select Yes or No. The default is No.

v Decimal separator. Specify the ASCII character that acts as the decimal separator (period by default).

v Packed. Select an option to specify what the decimal columns contain, choose from:

– Yes. Specifies that the decimal fields contain data in packed decimal format (the default). This has

the following sub-properties:

Check. Select Yes to verify that data is packed, or No to not verify.

Signed. Select Yes to use the existing sign when reading decimal fields. Select No to write a positive

sign (0xf) regardless of the fields’ actual sign value.

– No (separate). Specifies that they contain unpacked decimal with a separate sign byte. This has the

following sub-property:

Sign Position. Choose leading or trailing as appropriate.

– No (zoned). Specifies that they contain an unpacked decimal in either ASCII or EBCDIC text. This

has the following sub-property:

Sign Position. Choose leading or trailing as appropriate.

– No (overpunch). Specifies that the field has a leading or end byte that contains a character which

specifies both the numeric value of that byte and whether the number as a whole is negatively or

positively signed. This has the following sub-property:

Sign Position. Choose leading or trailing as appropriate.v Precision. Specifies the precision of a packed decimal. Enter a number.

v Rounding. Specifies how to round the source field to fit into the destination decimal when reading a

source field to a decimal. Choose from the following methods of rounding:

– up (ceiling). Truncate source column towards positive infinity. This mode corresponds to the IEEE

754 Round Up mode. For example, 1.4 becomes 2, -1.6 becomes -1.

– down (floor). Truncate source column towards negative infinity. This mode corresponds to the IEEE

754 Round Down mode. For example, 1.6 becomes 1, -1.4 becomes -2.

– nearest value. Round the source column towards the nearest representable value. This mode

corresponds to the COBOL ROUNDED mode. For example, 1.4 becomes 1, 1.5 becomes 2, -1.4

becomes -1, -1.5 becomes -2.

Chapter 12. The stage editor interface 167

Page 176: 25520509 Quality Stage 8 0 User Guide

– truncate towards zero. This is the default. Discard fractional digits to the right of the right-most

fractional digit supported by the destination, regardless of sign. For example, if the destination is an

integer, all fractional digits are truncated. If the destination is another decimal with a smaller scale,

truncate to the scale size of the destination decimal. This mode corresponds to the COBOL

INTEGER-PART function. Using this method 1.6 becomes 1, -1.6 becomes -1.v Scale. Specifies the scale of a source packed decimal.

Numeric

These properties apply to integer and float fields unless overridden at column level.

v C_format. Perform non-default conversion of data from string data to a integer or floating-point. This

property specifies a C-language format string used for reading integer or floating point strings. This is

passed to sscanf(). For example, specifying a C-format of %x and a field width of 8 ensures that a

32-bit integer is formatted as an 8-byte hexadecimal string.

v In_format. Format string used for conversion of data from string to integer or floating-point data This

is passed to sscanf(). By default, WebSphere DataStage invokes the C sscanf() function to convert a

numeric field formatted as a string to either integer or floating point data. If this function does not

output data in a satisfactory format, you can specify the in_format property to pass formatting

arguments to sscanf().

v Out_format. This property is not relevant for output links.

Date

These properties are applied to columns with a date data type unless overridden at column level. All of

these are incompatible with a Data Format setting of Text.

Days since. Dates are written as a signed integer containing the number of days since the specified date.

Enter a date in the form %yyyy-%mm-%dd or in the default date format if you have defined a new one on

an NLS system.

Format string. The string format of a date. By default this is %yyyy-%mm-%dd. The Format string can

contain one or a combination of the following elements:

v %dd: A two-digit day.

v %mm: A two-digit month.

v %year_cutoffyy: A two-digit year derived from yy and the specified four-digit year cutoff, for example

%1970yy.

v %yy: A two-digit year derived from a year cutoff of 1900.

v %yyyy: A four-digit year.

v %ddd: Day of year in three-digit form (range of 1- 366).

v %mmm: Three-character month abbreviation.

The format_string is subject to the following restrictions:

v It cannot have more than one element of the same type, for example it cannot contain two %dd

elements.

v It cannot have both %dd and %ddd.

v It cannot have both %yy and %yyyy.

v It cannot have both %mm and %ddd.

v It cannot have both %mmm and %ddd.

v It cannot have both %mm and %mmm.

v If it has %dd, it must have %mm or %mmm.

v It must have exactly one of %yy or %yyyy.

168 WebSphere QualityStage User Guide

Page 177: 25520509 Quality Stage 8 0 User Guide

When you specify a date format string, prefix each component with the percent symbol (%). Separate the

string’s components with any character except the percent sign (%).

If this format string does not include a day, it is set to the first of the month in the destination field. If the

format string does not include the month and day, they default to January 1. Note that the format string

must contain a month if it also contains a day; that is, you cannot omit only the month.

The year_cutoff is the year defining the beginning of the century in which all two digit years fall. By

default, the year cutoff is 1900; therefore, a two-digit year of 97 represents 1997. You can also set this

using the environment variable APT_DATE_CENTURY_BREAK_YEAR, but this is overridden by

%year_cutoffyy if you have set it.

You can specify any four-digit year as the year cutoff. All two-digit years then specify the next possible

year ending in the specified two digits that is the same or greater than the cutoff. For example, if you set

the year cutoff to 1930, the twodigit year 30 corresponds to 1930, and the two-digit year 29 corresponds

to 2029.

Is Julian. Select this to specify that dates are written as a numeric value containing the Julian day. A

Julian day specifies the date as the number of days from 4713 BCE January 1, 12:00 hours (noon) GMT.

Time

These properties are applied to columns with a time data type unless overridden at column level. All of

these are incompatible with a Data Format setting of Text.

Format string. Specifies the format of columns representing time as a string. By default this is

%hh-%mm-%ss. The possible components of the time format string are:

v %hh: A two-digit hours component.

v %nn: A two-digit minute component (nn represents minutes because mm is used for the month of a

date).

v %ss: A two-digit seconds component.

v %ss.n: A two-digit seconds plus fractional part, where n is the number of fractional digits with a

maximum value of 6. If n is 0, no decimal point is printed as part of the seconds component. Trailing

zeros are not suppressed.

You must prefix each component of the format string with the percent symbol. Separate the string’s

components with any character except the percent sign (%).

Is midnight seconds. Select this to specify that times are written as a binary 32-bit integer containing the

number of seconds elapsed from the previous midnight.

Timestamp

These properties are applied to columns with a timestamp data type unless overridden at column level.

Format string. Specifies the format of a column representing a timestamp as a string. Defaults to

%yyyy-%mm-%dd %hh:%nn:%ss. Specify the format as follows:

Date:

v %dd: A two-digit day.

v %mm: A two-digit month.

v %year_cutoffyy: A two-digit year derived from yy and the specified four-digit year cutoff.

v %yy: A two-digit year derived from a year cutoff of 1900.

v %yyyy: A four-digit year.

Chapter 12. The stage editor interface 169

Page 178: 25520509 Quality Stage 8 0 User Guide

v %ddd: Day of year in three-digit form (range of 1 - 366).

Time:

v %hh: A two-digit hours component.

v %nn: A two-digit minute component (nn represents minutes because mm is used for the month of a

date).

v %ss: A two-digit seconds component.

v %ss.n: A two-digit seconds plus fractional part, where n is the number of fractional digits with a

maximum value of 6. If n is 0, no decimal point is printed as part of the seconds component. Trailing

zeros are not suppressed.

You must prefix each component of the format string with the percent symbol (%). Separate the string’s

components with any character except the percent sign (%).

Output page columns tab

The Output page always has a Columns tab. The Column page displays the column metadata for the

selected output link in a grid.

There are the following various ways of populating the grid:

v If the other end of the link has metadata specified for it, the information is displayed in the Columns

tab (metadata is associated with and travels with a link).

v You can type the required metadata into the grid. After you have done this, click Save... to save the

metadata as a table definition in the Repository for subsequent reuse.

v You can load an existing table definition from the Repository. Click Load... and you will see a choice of

table definitions to load.

v If the stage you are editing is a general or restructure stage with a Mapping tab, you can drag data

from the left pane to the right pane. This automatically populates the right pane and the Columns tab.

If runtime column propagation is enabled in the DataStage Administrator, you can select the Runtime

column propagation to specify that columns encountered by the stage can be used even if they are not

explicitly defined in the metadata. There are some special considerations when using runtime column

propagation with certain stage types:

v Sequential File

v File Set

v External Source

v External Target

See the individual stage descriptions for details of these.

If the selected output link is a reject link, the column metadata grid is read only and cannot be modified.

If you select the options in the Grid Properties window, the Columns tab will also display two extra

fields: Table Definition Reference and Column Definition Reference. These show the table definition and

individual columns from which the columns on the tab were derived.

If you click in a row and select Edit Row... from the shortcut menu, the Edit Column meta data window

opens, which allows you to edit the row details. It also has a Parallel tab which allows you to specify

properties that are particular to parallel job column definitions. The properties you can specify here are

the same as those specified for input links.

170 WebSphere QualityStage User Guide

Page 179: 25520509 Quality Stage 8 0 User Guide

Mapping tab

For processing and restructure stages, the Mapping tab specifies how the output columns are derived;

that is, what input columns map onto them or how they are generated.

The left pane lists the input columns and/or the generated columns. These are read only and cannot be

modified on this tab. These columns represent the data that the stage has produced after it has processed

the input data.

The right pane lists the output columns for each link. You populate it by dragging input columns over, or

by using the Auto-match facility. If you have not yet defined any output column definitions, populating

the columns defines them for you. If you have already defined output column definitions, WebSphere

DataStage performs the mapping for you. You can do this explicitly using the auto-match facility, or

implicitly by just visiting the Mapping tab and click OK (which is the equivalent of auto-matching on

name).

There is also a shortcut menu which gives access to a range of column selection and editing functions,

including the facilities for selecting multiple columns and editing multiple derivations.

You can choose not to map all the left hand columns, if your output data is a subset of your input data.

Be aware that, if you have Runtime Column Propagation turned on for that link, the data you have not

mapped will appear on the output link anyway.

You can also perform mapping without actually opening the stage editor. Select the stage in the Designer

canvas and choose Auto-map from the shortcut menu.

More details about mapping operations for the different stages are given in the individual stage

descriptions.

A shortcut menu can be invoked from the right pane that allows you to:

v Find and replace column names.

v Validate a derivation you have entered.

v Clear an existing derivation.

v Append a new column.

v Select all columns.

v Insert a new column at the current position.

v Delete the selected column or columns.

v Cut and copy columns.

v Paste a whole column.

v Paste just the derivation from a column.

The Find button opens a window that allows you to search for particular output columns.

The Auto-Match button opens a window that automatically maps left pane columns onto right pane

columns according to the specified criteria.

Select Location match to map input columns onto the output ones occupying the equivalent position.

Select Name match to match by names. You can specify that all columns are to be mapped by name, or

only the ones you have selected. You can also specify that prefixes and suffixes are ignored for input and

output columns, and that case can be ignored.

Configure the Mapping tab

The Mapping tab allows you to map input columns to the output.

Chapter 12. The stage editor interface 171

Page 180: 25520509 Quality Stage 8 0 User Guide

It is not necessary to load column definitions into the output stage of your Unduplicate match job in

advance. Instead, you use the Mapping tab to specify which columns are output.

You can specify which input columns to include in your output. Generally you should retain the columns

added by the stage.

To map the output columns from the Unduplicate Match stage, follow these steps.

1. On the Output page, select an output link from the Output Name drop-down list.

2. Select the Mapping tab.

3. Drag each column you want to output from the Columns list on the left to the output link list on the

right. You can also select a group of columns and drag them at once, or right-click and choose Select

All.

Note: When you drag columns in this manner to create output table definitions, the table definitions

are not automatically saved in the repository. For best metadata management, on the Columns

tab of the Output page, click Save and save the newly created table definition.

4. Repeat this process for each output.

Once you have set the stage properties, you are ready to save, compile and run the job.

Advanced tab

The Advanced tab allows you to specify how WebSphere DataStage buffers data being output from this

stage.

The WebSphere DataStage buffers data in such a way that no deadlocks can arise. A deadlock being the

situation where a number of stages are mutually dependent and are waiting for input from another stage,

and cannot output until they have received it.

The size and operation of the buffer are usually the same for all links on all stages. The default values

that the settings take can be set using environment variables.

The Advanced tab allows you to specify buffer settings on a per-link basis. You should only change the

settings if you fully understand the consequences of your actions, otherwise you might cause deadlock

situations to arise.

Any changes you make on this tab will automatically be reflected in the Input page, Advanced tab of the

stage at the other end of this link

The settings are as follows:

v Buffering mode. Select one of the following from the drop-down list.

– (Default). This will take whatever the default settings are as specified by the environment variables

(this will be Auto-buffer unless you have explicitly changed the value of the APT_BUFFERING

_POLICY environment variable).

– Auto buffer. Buffer output data only if necessary to prevent a dataflow deadlock situation.

– Buffer. This will unconditionally buffer all data output from this stage.

– No buffer. Do not buffer output data under any circumstances. This could potentially lead to

deadlock situations if not used carefully.

If you choose the Auto buffer or Buffer options, you can also set the values of the various buffering

parameters:

v Maximum memory buffer size (bytes). Specifies the maximum amount of virtual memory, in bytes,

used per buffer. The default size is 3145728 (3 MB).

172 WebSphere QualityStage User Guide

Page 181: 25520509 Quality Stage 8 0 User Guide

v Buffer free run (percent). Specifies how much of the available in-memory buffer to consume before the

buffer resists. This is expressed as a percentage of Maximum memory buffer size. When the amount of

data in the buffer is less than this value, new data is accepted automatically. When the data exceeds it,

the buffer first tries to write some of the data it contains before accepting more.

The default value is 50% of the Maximum memory buffer size. You can set it to greater than 100%, in

which case the buffer continues to store data up to the indicated multiple of Maximum memory buffer

size before writing to disk.

v Queue upper bound size (bytes). Specifies the maximum amount of data buffered at any time using

both memory and disk. The default value is zero, meaning that the buffer size is limited only by the

available disk space as specified in the configuration file (resource scratchdisk). If you set Queue upper

bound size (bytes) to a non-zero value, the amount of data stored in the buffer does not exceed this

value (in bytes) plus one block (where the data stored in a block cannot exceed 32 KB).

If you set Queue upper bound size to a value equal to or slightly less than Maximum memory buffer

size and set Buffer free run to 1.0. You will create a finite capacity buffer that will not write to disk.

However, the size of the buffer is limited by the virtual memory of your system and you can create

deadlock if the buffer becomes full.

v Disk write increment (bytes). Sets the size, in bytes, of blocks of data being moved to/from disk by the

buffering operator. The default is 1048576 (1 MB). Adjusting this value trades amount of disk access

against throughput for small amounts of data. Increasing the block size reduces disk access, but may

decrease performance when data is being read/written in smaller units. Decreasing the block size

increases throughput, but may increase the amount of disk access.

Chapter 12. The stage editor interface 173

Page 182: 25520509 Quality Stage 8 0 User Guide

174 WebSphere QualityStage User Guide

Page 183: 25520509 Quality Stage 8 0 User Guide

Chapter 13. Describing rule set files

Rule sets are fundamental to the standardization process. They determine how fields in input records are

parsed and classified into tokens.

The rule set files used by the Standardize, Multinational Standardize, and Investigate stages, as well as by

the WAVES stage is described.

You can also create new rule sets using the IBM WebSphere DataStage and QualityStage Designer.

Each rule set requires the following four files:

v Dictionary File (.DCT)

v Classification Table (.CLS)

v Pattern-Action File (.PAT)

v Rule Set Description File (.PRC)

Some rule sets also include:

v Lookup tables (.TBL)

v Override objects

Related concepts

“Using rule sets” on page 13Word investigation provides prebuilt rule sets for investigating patterns on names and postal

addresses. Related tasks

“Configuring the Standardize stage job” on page 42When you configure the Standardize stage, you apply a rule set to one or more columns.

Related information

Chapter 3, “Managing rule sets,” on page 23You can modify existing rules and add new rules in the Rules Management window.

Features and benefits of rule sets

The rule set file architecture provides many features and benefits.

The following lists the features and benefits offered by the rule set file architecture.

v Support of your Business Intelligence objective by maximizing the critical information contained within

data. The data structures created by the rules provide comprehensive addressability to all data

elements necessary to meet data storage requirements and facilitate effective matching.

v Modular design that allows for a ″plug and play″ approach to solving complex standardization

challenges.

v Flexible approach to input data file format. You do not need to organize the columns in any particular

order.

v Country-specific design enables you to use multinational data. The rules are designed to recognize and

conform to the name and address conventions used in specific countries.

v Rule override functionality makes standardization jobs easier to customize.

v Identification and collection of unhandled data and generation of the corresponding unhandled pattern

make it easier to perform quality assurance and determine necessary customizations.

© Copyright IBM Corp. 2004, 2006 175

Page 184: 25520509 Quality Stage 8 0 User Guide

Dictionary file format

The Dictionary file defines the fields for the output file for this rule set.

The file holds a list of domain, matching, and reporting fields. Each field is identified by a two-character

abbreviation, for example CN for City Name. The Dictionary also provides the data type (character, for

instance) and field offset and length information.

The following example shows the format for the Dictionary file.

field-identifier/ field-type/ field-length /missing value identifier[ ; comments]

The table explains the Dictionary file format.

Table 5. Dictionary File Format

Format Description

field-identifier A two character field name (case insensitive) unique for

all dictionaries. The first character must be an alpha

character. The second character can be an alpha character

or a digit.

If this field is overlaid, enter two asterisks (**) for the

field-identifier and put the field-identifier in the

first two chars of the comments position.

field-type The type of information in the field (see ″Field types″

field-length The field length in characters.

missing value identifier A missing value identifier. The possible values are:

v S - spaces

v Z - zero or spaces

v N - negative number (for example, -1)

v 9 - all nines (for example, 9999)

v X - no missing value

Generally, use X or S for this argument.

description The field description that appears with the field in the

Data File Wizard.

; comments Optional, unless this is an overlaid field (two asterisks

(**) are the field-identifier) comments, including a

field-identifier for overlaid fields, and must follow a

semicolon (;).

Note: Comments can continue on separate lines if

preceded by a semicolon.

First line

Enter the following as the first line of a Dictionary file.:

\FORMAT\ SORT=N

Comment lines

The Dictionary file must also include the following two comment lines:

v ; Business Intelligence Fields. This comment line must immediately precede the list of fields.

v ; Matching Fields. This comment line must immediately follow the list of fields.

176 WebSphere QualityStage User Guide

Page 185: 25520509 Quality Stage 8 0 User Guide

Note: If the Dictionary file does not include these two comment lines, the Designer cannot display the

list of fields.

The following example shows part of a USADDR Dictionary file:

\FORMAT\ SORT=N

;------------------------------------------—---

; USADDR Dictionary File

;----------------------------------------—-----

; Total Dictionary Length = 415

;----------------------------------------------

; Business Intelligence Fields

;----------------------------------------------

HN C 10 S HouseNumber ;0001-0010

HS C 10 S HouseNumberSuffix ;0011-0020

.

.

.

AA C 50 S AdditionalAddressInformation

;0187-0236

;-----------------------------------------------

; Matching Fields

;-----------------------------------------------

.

.

.

Field order

The order of fields in the Dictionary file is the order in which the fields appear in the output file.

Field types

The following field types are supported by the Dictionary file.

Table 6. Field Type Definitions

Field Type Definitions

N Numeric fields, which are right-justified and filled with

leading blanks.

C Alphabetic fields, which are left-justified and filled with

trailing blanks.

NS Numeric field in which leading zeros should be stripped.

For example, you define the house number field as NS

and the ZIP Code™

as N because leading zeros matter

with ZIP codes, but could interfere with matching on the

house number.

M Mixed alphabetics and numerics in which numeric

values are right-justified and alphabetic values are

left-justified. Leading zeros are retained. The U.S. Postal

Service uses this type of field for house numbers and

apartment numbers. For example, a four-character type

M field, where b represents a space, is:

v 102 becomes b102

v A3 becomes A3bb

Chapter 13. Describing rule set files 177

Page 186: 25520509 Quality Stage 8 0 User Guide

Table 6. Field Type Definitions (continued)

Field Type Definitions

MN Mixed name, which is generally used for representing

street name. Field values beginning with an alphabetic

are left-justified. Field values beginning with a number

are indented as if the number is a separate four character

field.

In the following example (b represents a space), the

single digit numbers are indented three spaces, two digit

numbers are indented two spaces, and so forth. The U.S.

Postal Service uses this type of field for street names in

the ZIP+4®

files.

v MAIN

v CHERRY HILL

v bbb2ND

v bb13TH

v b123RD

v 1023RD

Classification table

The Standardize stage uses the Classification table to identify and classify key words (or tokens).

The Classification table allows the standardization process to identify and classify key words such as

street name, street type, directions, and so on, by providing:

v Standard abbreviations for each word; for example, HWY for Highway.

v A list of single-character classification tokens that are assigned to individual data elements during

processing.

The header of the Classification table includes the name of the rule set and the classification legend,

which indicates the classes and their descriptions.

The Standardize stage uses the Classification table to identify and classify key words (or tokens), such as

street types (AVE, ST, RD), street directions (N, NW, S), and titles (MR, DR). The Classification table also

provides standardization for these words.

The format for the Classification table file is:

token /standard value/class /[threshold-weights]/ [; comments]

Table 7. Classification table format

Format Description

token Spelling of the word as it appears in the input file.

standard value The standardized spelling or representation of the word

in the output file. The standardize process converts the

word to this value. Standardize can use multiple words

enclosed in double quotation marks. You can use up to

twenty-five characters.

The standardization can be either an abbreviation for the

word; for example, the direction WEST, WST, or W is

converted to W. Optionally, the standardization could

force an expansion of the word; for example, POB

converted to ″PO BOX″.

178 WebSphere QualityStage User Guide

Page 187: 25520509 Quality Stage 8 0 User Guide

Table 7. Classification table format (continued)

Format Description

class A one-character tag indicating the class of the word. The

class can be any letter, A to Z, and a zero (0), indicating a

null word.

threshold-weights Specifies the degree of uncertainty that can be tolerated

in the spelling of the word. The weights are:

v 900 Exact match

v 800 Strings are almost certainly the same

v 750 Strings are probably the same

v 700 Strings are probably different

comments Optional, and must follow a semicolon (;). Comments

can also be place on a separate line if preceded by a

semicolon.

The following is required for first line of a Classification table file:

\FORMAT\ SORT=Y

Do not include any comments before this line. This line causes the table to be sorted on token in virtual

memory.

Each token must be a single word. Multiple or compound words (such as New York, North Dakota,

Rhode Island) are considered separate tokens.

Threshold weights

Threshold weights specify the degree of uncertainty that is tolerated. The score is weighted by the length

of the word.

The threshold weights specify the degree of uncertainty that is tolerated in the spelling of the token. An

information-theoretic string comparator is used that can take into account phonetic errors, random

insertion, deletion and replacement of characters, and transpositions of characters.

The score is weighted by the length of the word, since small errors in long words are less serious than

errors in short words. In fact, the threshold should be omitted for short words since errors generally

cannot be tolerated.

The null class

You can use zeros to set nulls that are not included in the match process.

If you use a class of zero to indicate that a word is a null (or noise) word, these words are skipped in the

pattern matching process. In the following example, the standard abbreviation can be any value desired

since it is not used:

OF 0 0

THE 0 0

Pattern-action file

The pattern-action file consists of a series of patterns and associated actions.

The pattern-action file contains the rules for standardization; that is, the actions to execute with a given

pattern of tokens. After the input record is separated into tokens and classified, the patterns are executed

in the order they appear in the pattern-action file.

Chapter 13. Describing rule set files 179

Page 188: 25520509 Quality Stage 8 0 User Guide

A pattern either matches the input record or does not match. If it matches, the actions associated with the

pattern are executed. If not, the actions are skipped. In either case, processing continues with the next

pattern in the file.

Pattern matching principles

The concepts of pattern matching and the reasons for matching is required to obtain correct

standardization in all instances.

If all elements of an address are uniquely identified by keywords, address standardization is easy. The

following example is not subject to any ambiguity. The first field is numeric (house number), the next is a

direction (uniquely identified by the token N), the next is an unknown word MAPLE, and the last is a

street type, AVE:

123 N MAPLE AVE

Most addresses fall into this pattern with minor variations.

123 E MAINE AV

3456 NO CHERRY HILL ROAD

123 SOUTH ELM PLACE

The first numeric is interpreted as the house number and must be moved to the house number field

{HN}. The direction is moved to the pre-direction field {PD}; the street names to the street name field

{SN}; and the street type to the {ST} field.

The braces indicate that the reference is to a dictionary field that defines a field in the output file. For

example:

Table 8. Pattern matching

Pattern Description

Numeric House number {HN}

Direction Pre-direction field {PD}

Unknown word or words Street name {SN}

Street type {ST}

Related tasks

“Modifying the override objects for input and column pattern” on page 26For the domain-preprocessor rule sets, the input pattern and column pattern overrides modify the

override object (*.IPO) for the input pattern and the override object (*.CPO) for the column pattern.

Tokens and classification

A token is a word, number, or a mixture of words and numbers separated by spaces. Each token is

classified using the Classification object file.

Standardization begins by separating all of the elements of the address into tokens. Each token is a word,

a number, or a mixture separated by one or more spaces. At the same time the tokens are formed, each

token is classified by looking to see if the token is in the Classification object file. If the token is there, it

is assigned the class indicated by the table. If it is not in the table, the token is given one of the following

classes:

^ Numeric, containing all digits, such as 1234

? Unknown token, containing one or more words, such as

CHERRY HILL

> Leading numeric, containing numbers followed by one

or more letters, such as 123A

180 WebSphere QualityStage User Guide

Page 189: 25520509 Quality Stage 8 0 User Guide

< Leading alpha, containing letters followed by one or

more numbers, such as A3

@ Complex mix, containing a mixture of alpha and numeric

characters that do not fit into either of the above classes,

such as:

v 123A45

v ABC345TR

~ Special, containing special characters that are not

generally encountered in addresses, including !, \, @, ~,

%, and so forth

0 Null

- Hyphen

/ Slash

& Ampersand

# Number sign

( Left parenthesis

) Right parenthesis

The special token class (~) includes characters that are generally not encountered in addresses. The class

for this type of token, if it consists of a single character, can change if it is included in the SEPLIST.

If a special character is included in the SEPLIST and not in the STRIPLIST, the token class for that

character becomes the character itself. For example, if a @ appears in the SEPLIST and not in the

STRIPLIST, and if the input contains a @, it appears as a separate token with token value @ and class

value @. Similarly, if the backslash (\) appears in the SEPLIST and not in the STRIPLIST, its class is \ (the

backslash is the escape character, to be used in a pattern, it must itself be escaped).

A null token is any word that is to be considered noise. These words can appear in the classification table

and are given a type of zero. Similarly, actions can convert normal tokens into null tokens.

An example of the standard address form is:

123 NO CHERRY HILL ROAD

This address receives the following token and classes:

123 ^ Numeric

No D Direction

Cherry Hill ? Unknown words

Road T Street type

The pattern represented by this address can be coded as follows.

^ | D | ? | T

The vertical lines separate the operands of a pattern. The address above matches this pattern. The

classification of D comes from the token table. This has entries, such as NO, EAST, E, and NW, which are all

given a class of D to indicate that they generally represent directions. Similarly, the token class of T is

given to entries in the table representing street types, such as ROAD, AVE, and PLACE.

Chapter 13. Describing rule set files 181

Page 190: 25520509 Quality Stage 8 0 User Guide

Pattern-action file structure

The pattern-action file is an ASCII file that can be created or updated using any standard text editor.

The pattern-action file has the following general format:

\POST_START

post-execution actions\POST_END

\PRAGMA_START

specification statements\PRAGMA_END

pattern

actions

pattern

actions

...

There are two special sections in the pattern-action file. The first section consists of post-execution actions

within the \POST_START and \POST_END lines. The post-execution actions are those actions that

should be executed after the pattern matching process is finished for the input record.

Post-execution actions include computing Soundex codes, NYSIIS codes, reverse Soundex codes, reverse

NYSIIS codes, copying, concatenating, and prefixing dictionary field value initials.

The second special section consists of specification statements within the \PRAGMA_START and

\PRAGMA_END lines. The only specification statements currently allowed are SEPLIST and STRIPLIST.

The special sections are optional. If omitted, the header and trailer lines should also be omitted.

Other than the special sections, the pattern-action file consists of sets of patterns and associated actions.

The pattern requires one line. The actions are coded one action per line. The next pattern can start on the

following line.

Blank lines are used to increase readability. For example, it is suggested that blank lines or comments

separate one pattern-action set from another.

Comments follow a semicolon. An entire line can be a comment line by specifying a semicolon as the first

non-blank character; for example:

;

; This is a standard address pattern

;

^ | ? | T ; 123 Maple Ave

As an illustration of the pattern format, consider post actions of computing a NYSIIS code for street name

and processing patterns to handle:

123 N MAPLE AVE

123 MAPLE AVE

\POST_START

NYSIIS {SN} {XS}

\POST_END

^ | D | ? | T ; 123 N Maple Ave

COPY [1] {HN} ; Copy House number (123)

COPY_A [2] {PD} ; Copy direction (N)

COPY_S [3] {SN} ; Copy street name (Maple)

COPY_A [4] {ST} ; Copy street type (Ave)

EXIT

^ | ? | T

COPY [1] {HN}

COPY_S [2] {SN}

COPY_A [3] {ST}

EXIT

182 WebSphere QualityStage User Guide

Page 191: 25520509 Quality Stage 8 0 User Guide

This example pattern-action file has a post section that computes the NYSIIS code of the street name (in

field {SN}) and moves the result to the {XS} field.

The first pattern matches a numeric followed by a direction followed by one or more unknown words

followed by a street type (as in 123 N MAPLE AVE). The associated actions are to:

1. Copy operand [1] (numeric) to the {HN} house number field.

2. Copy the standard abbreviation of operand [2] to the {PD} prefix direction field.

3. Copy the unknown words in operand [3] to the {SN} street name field.

4. Copy the standard abbreviation of the fourth operand to the {ST} street type field.

5. Exit the pattern program. A blank line indicates the end of the actions for the pattern.

The second pattern-action set is similar except that this handles cases like 123 MAPLE AVE. If there is no

match on the first pattern, the next pattern in the sequence is attempted.

Rule set description file (.PRC)

The rule set description file is an ASCII file that displays a description of the rule set in the Available

Processes list.

You can enter any text string, including special characters, for the description. The list box provides space

for a string of approximately 50 characters. An example of the U.S. Address rule set .prc file is:

Domain-Specific Rule Set for U.S. Addresses

This file is used only in IBM WebSphere DataStage and QualityStage Designer.

Lookup tables (.TBL)

Lookup tables contain information that is specific to the rule set.

Some rule sets use one or more lookup tables. For example, a lookup table containing names is included

in the Domain Pre-Processor rule set. The tables included are dependent on the rule set to which they

belong.

Override object types

The override object types are designed to complement the Classification table and the Pattern-action file

by providing additional instructions during processing.

The information in the override objects take precedence over the contents of the rule set files. These

object types enable you to adjust tokenization and standardization behavior if the results you are getting

are incorrect or incomplete.

You use the Overrides windows in Designer client to edit the contents of the override object types.

Chapter 13. Describing rule set files 183

Page 192: 25520509 Quality Stage 8 0 User Guide

184 WebSphere QualityStage User Guide

Page 193: 25520509 Quality Stage 8 0 User Guide

Chapter 14. About standardize rule sets

Rule sets are applied when records are standardized to organize input data.

Supplemental information about using Standardize rule sets (Country Identifier, Domain Pre-Processor,

Domain-Specific, and Validation) and how they operate is described.

The descriptions do not apply to WAVES/Multinational Standardize rule sets.

Related concepts

Chapter 2, “Analyzing source data,” on page 7You use the Investigate stage to analyze the quality of the source data. The Investigate stage helps you

determine the business rules that you can use in designing your data cleansing application.

Chapter 4, “Conditioning data,” on page 35Standardizing data ensures that the source data is internally consistent, that is, each data type has the

same kind of content and format.

Country identifier rule set

The Country Identifier rule set is designed for situations where multinational files are presented for

standardization.

The purpose of the country identifier rule set is to assign to each input record the appropriate two-byte

ISO country code associated with the geographic origin of the record’s address and area information.

The Country Identifier rule set is both:

v An investigation tool to determine if an input file contains multi-national data.

v An input preparation tool to facilitate segmenting the input file into country-specific subsets for

country-specific processing.

Country code delimiters

The Country Identifier rule set uses a default country delimiter when the rule set cannot determine the

record’s country of origin.

This delimiter consists of a default country code, which you must define before you run the rule in a job.

You should use the country code that you believe represents the majority of the records.

Where the country identifier rule set cannot determine the country code, the default value is taken from

the country code delimiter and assigned to the record.

The country code delimiter format is:

ZQ<Two-Byte ISO Country Code>ZQ

For example, the country code delimiter for the ″United States of America″ would be ZQUSAZQ. The

delimiter is entered in the Command Definition dialog box in the Standardize user interface.

Related reference

Chapter 15, “ISO territory codes,” on page 203

Output file

The rule set creates an output file in which the following fields are appended to the beginning of each

input record:

© Copyright IBM Corp. 2004, 2006 185

Page 194: 25520509 Quality Stage 8 0 User Guide

v A two-byte ISO country code. The code is associated with the geographic origin of the record’s address

and area information.

v An Identifier flag. The values are:

Flag Description

Y The rule set was able to identify the country.

N The rule set was not able to identify the country and used the default value that you set as the

default country delimiter.

Domain pre-processor rule sets

The Domain Pre-Processor rule sets evaluate mixed-domain input (free-form name and address

information) and categorize the data into domain-specific column sets. After the proper domains are

identified, you can use the Domain-Specific rule sets to create the appropriate standardized structures.

These rule sets evaluate the mixed-domain input from a file for a specific country.

These rule sets do not perform standardization, but parse the fields within each record and filters each

token into one of the appropriate domain-specific column sets, (Name, Address, or Area).

The results of this rule set are appended Domain-Specific column sets for Name, Address, and Area

information. The Name, Address, and Area column sets are the input fields to the respective

Domain-Specific rule sets.

Input file

The domain-preprocessor rule sets do not assume a data domain with a column position.

You must insert at least one metadata delimiter for a column in your input record. It is strongly

recommended that you delimit every column or group of columns. The delimiter indicates what kind of

data you are expecting to find in the column based on one or more of the following:

v Metadata description

v Investigation results

v An informed estimate

The delimiter names are:

Delimiter name

Description

ZQNAMEZQ

Name delimiter

ZQADDRZQ

Address delimiter

ZQAREAZQ

Area delimiter

Domain-preprocessor rule sets

Column sets and metadata labels do not necessarily provide hard information about data content, thus

preprocessing categorizes the input data into domain-specific column sets: Name, Address, and Area.

Since input files are usually not domain-specific, these rule sets are critical when preparing a file for

standardization. Columns can contain data that do not match their metadata description. Here is an

example:

186 WebSphere QualityStage User Guide

Page 195: 25520509 Quality Stage 8 0 User Guide

Metadata Label

Data Content

Name 1

John Doe

Name 2

123 Main Street Apt. 456

Address 1

C/O Mary Doe

Address 2

Boston, MA 02111

Where the domains are:

Domain Name

Data Content

Name John Doe

Name C/O Mary Doe

Address

123 Main Street Apt. 456

Area Boston, MA 02111

In addition, other problems arise when:

v Information continues across multiple column sets.

v More than one data domain is present within a single column set.

For example:

Domain Name

Data Content

Name 1

John Doe and Mary

Name 2

Doe 123 Main Str

Address 1

eet Apt. 456 Boston

Address 2

MA 02111

The domains are:

Domain Name

Data Content

Name John Doe and Mary Doe

Address

123 Main Street Apt. 456

Area Boston, MA 02111

Domain-preprocessor file names

Each rule set has a group of files associated with it.

Chapter 14. About standardize rule sets 187

Page 196: 25520509 Quality Stage 8 0 User Guide

The naming convention for the domain-preprocessor rule sets is:

Position Description Values

1-2 ISO country code US: United States GB: Great Britain

CA: Canada AU: Australia DE:

Germany ES: Spain FR: France IT:

Italy

3-6 Domain Preprocessor abbreviation PREP

Extensions Type of file .CLS: Classification .DCT: Dictionary

.PAT: Pattern-action .PRC: Description

For example, here are the files in the United States domain-preprocessor rule set:

Format Type of Classification

USPREP.CLS Classification Table

USPREP.DCT Dictionary File

USPREP.PAT Pattern-Action File

USPREP.PRC Rule Set Description File

Domain-preprocessor dictionary file

The domain-preprocessor rule set contains a dictionary file.

There are two types of fields in the Dictionary file of a domain-preprocessor rule set:

v Domain fields

v Reporting fields

Domain columns for domain-preprocessor rule sets

Domain columns are used to organize tokens according to a rule set.

Domain-preprocessor rule sets move every input token to one of the following domain columns:

Column Name Description

NA Name Domain All input tokens belonging to the

name domain

AD Address Domain All input tokens belonging to the

address domain

AR Area Domain All input tokens belonging to the

area domain

Reporting columns for domain-preprocessor rule sets

Domain-preprocessor rule sets provide reporting columns for quality assurance and post-standardization

investigation.

All domain-preprocessor rule sets have the following reporting columns:

Column Name Description

P1 Column Pattern 1 The pattern generated for the first

delimited column of input tokens

based on the parsing rules and token

classifications.

188 WebSphere QualityStage User Guide

Page 197: 25520509 Quality Stage 8 0 User Guide

Column Name Description

P2 Column Pattern 2 As above for the second column.

P3 Column Pattern 3 As above for the third column.

P4 Column Pattern 4 As above for the fourth column.

P5 Column Pattern 5 As above for the fifth column.

P6 Column Pattern 6 As above for the sixth column.

IP Input Pattern The pattern generated for the entire

stream of input tokens based on the

parsing rules and token

classifications.

OP Outbound Pattern The pattern image for all tokens just

prior to being written to the output

file.

UO User Override Flag A flag indicating what type of user

override was applied to this record.

CF Custom Flag Unused. Available for users to create

a flag needed in their application.

User flag descriptions for domain-preprocessor rule sets

Domain-preprocessor rule sets provide descriptions for flags.

The following table describes the value of flags in the domain-preprocessor rule sets:

Flag Value Description

UO NO (Default) No user re-masks were used

IP An Input Pattern user re-mask was

used

IT An Input Text user re-mask was used

FP A Column Pattern user re-mask was

used

FT A Column Text user re-mask was

used

Domain masks for domain-preprocessor rule sets

The domain-preprocessor attempts to assign a domain mask to each input token.

All pattern-actions retype tokens to one of the domain masks, which are:

Mask Column Description

A ADDRESS

N NAME

R AREA

The final step in the domain preprocessor is to output the tokens to the domain columns based on their

assigned (or defaulted) domain mask.

Chapter 14. About standardize rule sets 189

Page 198: 25520509 Quality Stage 8 0 User Guide

Upgrading preprocessor rule sets

When a new release is available, or when changes are made to the delivered rule sets, you can

incorporate the improvements into an existing application.

You should not update:

v The rule set description file

v The dictionary file

v The user override tables

They are specific to the application and would cause it to fail or produce different results.

For USPREP, they would be:

USPREP.PRC

Rule Set Description File

USPREP.DCT

Dictionary File

USPREP.UCL

User Classification Table

USPREP.ITO

User Override Input Text Object

USPREP.IPO

User Override Input Pattern Object

USPREP.FTO

User Override Field Text Object

USPREP.FPO

User Override Field Pattern Object

You should update:

v The classification table

v The pattern action file

v The lookup tables.

They may have changed from the previous version.

For USPREP, they would be:

USPREP.CLS

Classification Table

USPREP.PAT

Pattern-Action File

USCITIES.TBL

US City Lookup Table

Since any changes to the classifications are made through the user classification table (.UCL), you can

replace the classification table. However, do a comparison to verify that what is currently on the

application’s classification table is also on the newly-delivered one. Use this approach with any lookup

tables.

190 WebSphere QualityStage User Guide

Page 199: 25520509 Quality Stage 8 0 User Guide

The pattern-action file is more complicated to upgrade. During development of the application, changes

to pattern-action are made in two subroutines: Input_Modifications and Column_Modifications. If this is

the case, copy those subroutines from the existing pattern-action file, and then paste them in the one

where the empty subroutines are found.

Many times, other changes are made outside of the modification subroutines. You can also add those

changes to the new pattern-action file.

Note: The development of the application is based on the rules it is currently using, so any rules changes

could impact the output. If you must upgrade the rules in an existing application, we advise that

extensive testing be done before you run the application in production.

About domain-specific rule sets

These rule sets evaluate the domain-specific input from a file for a specific country.

There are three domain-specific rules sets for each country.

Table 9. Domain-specific rule sets for a country

Rule Set Name Country

NAME Individual and business names

ADDR Street name, number, unit, and other address information

AREA City, state, region, and other locale information

Domain-specific file names

The domain-specific rule set has a group of files associated with it.

See ″Describing rule set files″, for more information about how they work. The naming convention for

domain-specific rule sets is:

Position Description Values

1-2 ISO country code US: United States GB: Great Britain

CA: Canada AU: Australia DE:

Germany ES: Spain FR: France IT:

Italy

3-6 Type of rule NAME: Name ADDR: Address

AREA: Area

Extensions Type of file .CLS: Classification .DCT: Dictionary

.PAT: Pattern-action .PRC: Description

For example, here are the files in the United States NAME rule set:

USNAME.CLS

Classification Table

USNAME.DCT

Dictionary File

USNAME.PAT

Pattern-Action File

USNAME.PRC

Rule Set Description File

Chapter 14. About standardize rule sets 191

Page 200: 25520509 Quality Stage 8 0 User Guide

Dictionary file columns

The Dictionary file for a domain-specific rule set, contain three types of columns.

The types of columns in the Dictionary file of a domain-specific rule set are:

v Business Intelligence columns

v Matching columns

v Reporting fields

Business intelligence column

Business intelligence columns help focus on critical information contained within data.

Different domains have different business intelligence columns. This is an example of the USAREA

dictionary columns.

Column

Column Description

CN City Name

SA State Abbreviation

ZC ZIP Code™

Z4 ZIP+4®

Add-on Code

CC Country Code

Matching columns

Domain-Specific rule sets create data structures that facilitate effective data matching.

Different domains have different matching columns. The most common matching columns are phonetic

keys for primary fields. Here is an example:

Column

Column Description

NC City NYSIIS

SC City Reverse Soundex

Reporting columns

The reporting columns are used for quality assurance and post-standardization investigation.

These rule sets have the following reporting columns:

Name Description

Unhandled Pattern {UP}

The pattern generated for the remaining tokens not processed by the rule set based on the

parsing rules, token classifications, and any additional manipulations by the pattern-action

language.

Unhandled Data {UD}

The remaining tokens not processed by the rule set, with one character space between each token.

Input Pattern {IP}

The pattern generated for the stream of input tokens based on the parsing rules and token

classifications.

Exception Data {ED}

The tokens not processed by the rule set because they represent a data exception. Data exceptions

may be tokens that do not belong to the domain of the rule set or are invalid or default values.

192 WebSphere QualityStage User Guide

Page 201: 25520509 Quality Stage 8 0 User Guide

UO User Override Flag. A flag indicating what type of user override was applied to this record.

User Re-Code Dropped Data Flag {U5}

A flag indicating whether the current record was affected by a user re-code that specified the

dropping (deleting) of one or more input tokens.

Data flag table

Domain-specific rule sets provide an explanation of flags.

The following table describes the value of flags in the reporting fields:

Flag Value Explanation

UO NO (Default) No user re-codes were used.

IP An Input Pattern user re-code was

used.

IT An Input Text user re-code was used.

UP An Unhandled Pattern user re-code

was used.

UT An Unhandled Text user re-code was

used.

Validation rule sets

The rule sets output two types of columns, Business Intelligence columns and Reporting/Error columns.

The Validation rule sets are used to standardize common business data including:

v Date

v Email Address

v Phone Number

v Taxpayer ID/Social Security Number

These rules are configured for U.S. formats.

Validation file names

The validation rule set has a group of files associated with it.

The naming convention is:

Position Description Values

1 Validation rule abbreviation V

2 to n Type of rule DATE EMAIL PHONE TAXID

Extensions Type of file .CLS: Classification .DCT: Dictionary

.PAT: Pattern-action .PRC: Description

For example, here are the files in the DATE rule set:

VDATE.CLS

Classification Table

VDATE.DCT

Dictionary File

Chapter 14. About standardize rule sets 193

Page 202: 25520509 Quality Stage 8 0 User Guide

VDATE.PAT

Pattern-Action File

VDATE.PRC

Rule Set Description File

VDATE rule set

The VDATE rule set validates the value and standardizes the format of a date column.

The following information pertains to the validation rule set:

v Punctuation, such as hyphens or slashes, are removed during the parsing step.

v The rule set outputs two types of columns, Business Intelligence columns and Reporting/Error

columns.

v There are no significant default Classification table entries used with this rule set.

v The standard output format is CCYYMMDD.

Default parsing parameters

The default parsing parameters are:

SEPLIST <space character> ,;.%:&*\″/+\\()-″

STRIPLIST <space character> ,;.:*\″\\()

Input date formats

There are formats for dates that are required for the input data.

Expected input date formats are any of the following:

Format Example

mmddccyy

09211991

mmmddccyy

OCT021983

mmmdccyy

OCT21983

mmddccyy

04101986

mm/dd/ccyy

10/23/1960

m/d/ccyy

1/3/1960

mm/d/ccyy

10/3/1960

m/dd/ccyy

1/13/1960

mm-dd-ccyy

04-01-1960

m-d-ccyy

1-3-1960

194 WebSphere QualityStage User Guide

Page 203: 25520509 Quality Stage 8 0 User Guide

mm-d-ccyy

10-3-1960

m-dd-ccyy

1-13-1960

ccyy-mm-dd

1990-10-22

Output Example

Input string

Output Result

1990-10-22

19901022

1/13/1960

19600113

OCT021983

19831002

Business intelligence output columns

Business intelligence columns help focus on critical information contained within output data.

If a data value passes validation, this rule set populates these two Business Intelligence column values.

v The valid date {VD} data column

v The valid flag {VF}

The {VD} field is populated with the eight numeric bytes, and the {VF} field is populated with the value

`T’.

Error reporting output fields

If a data value fails validation, this rule set populates the following Reporting Error fields:

Field Value Description

Invalid Data Invalid data value The value that did not meet the

validation requirements.

Invalid Reason IF Invalid Format (not one of the ones

listed above)

IM Invalid Month (for example,

JJJ011976 instead of JAN011776)

IT Date is on invalid table (for example,

11111111)

MM MM = Invalid numeric month (for

example, 13/10/1988)

FB Invalid day for February (for

example, 02/30/1976)

M0 Invalid day for months with 30 days

M1 Invalid day for months with 31 days

Invalid Data Invalid data value The value that did not meet the

validation requirements.

Chapter 14. About standardize rule sets 195

Page 204: 25520509 Quality Stage 8 0 User Guide

VEMAIL rule set

The VEMAIL rule set identifies the format, components and completeness of email addresses. Note the

following:

v All email addresses should have a user, domain, and top-level qualifier.

v Punctuation such as hyphens (-), at signs (@), and periods (.) are used as key delimiters during the

parsing step.

v The default classification table for this rule set contains common domain (for instance, ORG, COM,

EDU, GOV, etc.) and sub-domain qualifiers (for instance, country and state codes).

Default parsing parameters

The default parsing parameters are:

SEPLIST <space character>`@.

STRIPLIST <space character> `

Parsing examples

The parsing parameters parse the address into multiple tokens as in the following examples:

Input String Token Token Number

[email protected] John_Smith 1

abccorp 2

com 3

[email protected] kjones 1

example 2

org 3

The @ and . are used to separate the data. They are removed during the parsing process.

As Standardize does not re-assemble the multiple tokens into a single value and token before processing,

you should append the input email addresses to the end of the data.

Business intelligence output fields

If a data value is validated, this rule set populates these Business Intelligence fields:

v User {US}

v Domain {DM}

v Top-level Qualifier {TL}

v URL {RL}

Error reporting output fields

If a data value fails validation, this rule set outputs these Reporting Error fields:

Field Value Description

Unhandled Data Unhandled data value The value that did not meet the

validation requirements.

Unhandled Patterns Unhandled pattern The pattern that did not meet the

validation requirements.

196 WebSphere QualityStage User Guide

Page 205: 25520509 Quality Stage 8 0 User Guide

VPHONE rule set

The VPHONE rule set validates the value and standardizes the format of a U.S. phone number.

Punctuation such as hyphens(-) and parentheses ( ), are removed during the parsing step.

Classification table values

The default classification table (VPHONE.CLS) for this rule set contains three values that can represent

the extension part of a phone number.

Token Standard Value Class

X X X

EXT EXT X

EXTENSION EXT X

Default parsing parameters

The default parsing parameters are:

SEPLIST <space character>, ; . % : & * \ ″ / + \ \ ( ) - _

STRIPLIST <space character>, ; . : / * \ ″ \ \ ( ) - _

Parsing examples

The following table shows examples of how phone numbers are parsed:

Input String Token Token Number

(617) 338-0300 617 1

338 2

0300 3

(617) 338-0300 EXT 316 617 1

338 2

0300 3

EXT 4

316 5

617-338-0300 X316 617 1

338 2

0300 3

X316 4

316 5

The hyphen, space, and parentheses are used to separate the data. After the data is parsed the hyphen,

spaces, and parentheses are dropped.

Chapter 14. About standardize rule sets 197

Page 206: 25520509 Quality Stage 8 0 User Guide

Validation logic

The VPHONE rule set validates patterns and values based on the following criteria:

v The value has 7 or 10 numeric bytes. Can be over 10 bytes with extensions

v The first three bytes are not all zeros (000). If all zeroes, they are replaced with blanks

v The value is not listed on the `invalid table’, INVPHONE.TBL as shown here:

0000000000

1111111111

2222222222

3333333333

4444444444

5555555555

6666666666

7777777777

8888888888

9999999999

1234567

5551212

1111111

2222222

3333333

4444444

5555555

6666666

7777777

8888888

9999999

0000000

If the data value fails any one of the validation requirements the `Invalid Data’ and the `Invalid Reason’

fields are populated.

Business intelligence output fields

If the data value passes validation, this rule set outputs these Business Intelligence field values:

v Valid Phone Number {VD}

v Phone Number Extension {VX}

v Valid flag {VF}

The {VD} field is populated with the numeric phone number, the {VX} field with the extension number,

and the {VF} field with the value `T’.

Error reporting output columns

Error reports used when a data value does not pass validation.

198 WebSphere QualityStage User Guide

Page 207: 25520509 Quality Stage 8 0 User Guide

This rule set outputs the following Reporting Error columns:

Column Value Description

Invalid Data {ID} Invalid data value The value that did not meet the

validation requirements.

Invalid Reason {IR} IL Invalid length. Main phone (without

extension) must be 7 or 10 bytes.

IT Invalid value matched to invalid

table (INVPHONE.TBL) entry.

IP Invalid pattern/format. Main phone

(without extension) must be 10 bytes

numeric. This logic can be

commented out if alphas are to be

considered valid values.

Examples

The following table shows sample input data and the output they produce:

Input String Valid Data {VD} Valid Flag {VF} Invalid Data {ID} Invalid Reason {IR}

0001234567 0001234567 IT

(617) 338-0300 6173380300 T

617-338-0300 6173380300 T

0001234567 0001234567 IT

VTAXID rule set

The VTAXID rule set validates the value and standardizes the format of a tax ID or national ID number.

Note the following:

v Punctuation such as hyphens(-) are removed during the parsing step.

v There are no significant default Classification table entries used with this rule set.

Default parsing parameters

The default parsing parameters are:

SEPLIST <space character>, ; . % : & * \ ″ / + \ \ ( ) -

STRIPLIST <space character>, ; . : / * \ ″ \ \ ( ) -

Parsing examples

The following table shows examples of how tax IDs and national ID numbers are parsed:

Input String Token Token Number

051-34-8198 051 1

34 2

8198 3

193837485 193837485 1

Chapter 14. About standardize rule sets 199

Page 208: 25520509 Quality Stage 8 0 User Guide

The hyphen, space, and parentheses are used to separate the data. After the data is parsed the hyphen,

spaces, and parentheses are deleted.

Validation logic

The rule set validates patterns and values based on the following criteria:

v The value has nine numeric characters.

v The first three bytes are not all zeros (000).

v The value is not listed on the Invalid table (INVTAXID.TBL) as shown here:

000000000

111111111

222222222

333333333

444444444

555555555

666666666

777777777

888888888

999999999

123456789

987654321

111223333

Business intelligence output fields

If a data value passes the listed criteria then it is considered a valid value and outputs two Business

Intelligence field values:

v TAX_ID/SSN valid data {VD}

v Valid flag {VF}

The {VD} field is populated with the nine numeric bytes, and the {VF} field is populated with the value

`T’.

Error reporting output fields

If the data value fails any one of the validation requirements the Invalid Data and the Invalid Reason

fields are populated.

Field Value Description

Invalid Data Invalid data value The value that did not meet the

validation requirements.

Invalid Reason IP The data value did not contain nine,

and only nine, numeric characters.

IT The data value was found on the

Invalid Data table.

Z3 The first three numeric characters are

all zeros.

200 WebSphere QualityStage User Guide

Page 209: 25520509 Quality Stage 8 0 User Guide

Examples

The following table shows sample input data and the output they produce:

Input String Valid Data {VD} Valid Flag {VF} Invalid Data {ID} Invalid Reason {IR}

000123456 000123456 Z3

193837485 193837485 T

193-83-7485 193837485 T

111111111 111111111 IT

222-22-2222 222222222 IT

A12-O9-1234 A12O91234 IP

User modification subroutines

Occasionally, more complex rule set modifications that require the use of pattern-action language may be

necessary. Each Standardize rule set has subroutines reserved for these modifications.

You cannot use subroutines to modify WAVES/Multinational Standardize rule sets.

Country identifier user subroutines

Pattern-action statements added to the input modifications subroutine are performed before any other

pattern-actions.

Modifications are added here if you have determined that certain conditions are completely mishandled

or unhandled by the rule set.

The input subroutine section of the Pattern-Action file are found at the beginning of the subroutine

section or by searching for:

;--------------------------------------------------

;Input_Modifications SUBROUTINE Starts Here

;--------------------------------------------------

\SUB input_Modifications

Domain pre-processor user subroutines

Subroutines exist in three places within the Pattern-Action file for a Domain Pre-processor rule set:

v Input Modifications

v Continuation Modifications

v Field Modifications

Input modifications

Pattern-Action statements added to the input modifications subroutine are performed before any other

pattern-actions.

Modifications should be added here if you have determined that certain conditions are completely

mishandled or unhandled by the rule set.

The subroutine section of the Pattern-Action file is delimited by a header, as shown here:

;--------------------------------------------------

;Input_Modifications SUBROUTINE Starts Here

;--------------------------------------------------

\SUB Input_Modifications

Chapter 14. About standardize rule sets 201

Page 210: 25520509 Quality Stage 8 0 User Guide

Continuation modifications

The logical flow of the Domain Pre-Processor begins with the isolation of each contiguous pair of

delimited input fields to search for the possibility of data continued across fields or split across field

boundaries. Pattern-action statements added to the continuation modifications subroutine are performed

before any other continuation pattern-actions.

The input subroutine section of the Pattern-Action file can be found at the beginning of the subroutine

section or by searching for:

;--------------------------------------------------

;Continuation_Modifications SUBROUTINE Starts Here

;--------------------------------------------------

\SUB Continuation_Modifications

Field modifications

The second step in the Domain Pre-Processor logical flow is to isolate each delimited input field, one at a

time, to search for common domain patterns.

Pattern-action statements added to the field modifications subroutine are performed before any other field

pattern-actions.

The input subroutine section of the Pattern-action file can be found at the beginning of the subroutine

section or by searching for:

;--------------------------------------------------

;Field_Modifications SUBROUTINE Starts Here

;--------------------------------------------------

\SUB Field_Modifications

Domain-specific user subroutines

Subroutines exist in two places within a Domain-Specific Pattern-action file:

v Input Modifications

v Unhandled Modifications

Modifications should be added here if you have determined that certain conditions are wholly or

partially mishandled or unhandled by the rule set.

Input modifications

Pattern-actions added to the input modifications subroutine are performed before any other

pattern-actions.

The input modification subroutine can be found in the Pattern-Action file at the beginning of the

subroutine section or by searching for:

;--------------------------------------------------

; Input_Modifications SUBROUTINE Starts Here

;--------------------------------------------------

\SUB Input_Modifications

Unhandled modifications

Pattern-actions added to the unhandled modifications subroutine are performed after all other

pattern-actions.

The unhandled modification subroutine can be found in the Pattern-Action file at the beginning of the

subroutine section or by searching for:

;--------------------------------------------------

; Unhandled_Modifications SUBROUTINE Starts Here

;--------------------------------------------------

\SUB Unhandled_Modifications

202 WebSphere QualityStage User Guide

Page 211: 25520509 Quality Stage 8 0 User Guide

Chapter 15. ISO territory codes

The following table list the 2- and 3-character ISO territory or region codes:

Territory or Region Two- Character Three- Character

AFGHANISTAN AF AFG

ALBANIA AL ALB

ALGERIA DZ DZA

AMERICAN SAMOA AS ASM

ANDORRA AD AND

ANGOLA AO AGO

ANGUILLA AI AIA

ANTARCTICA AQ ATA

ANTIGUA AND BARBUDA AG ATG

ARGENTINA AR ARG

ARMENIA AM ARM

ARUBA AW ABW

AUSTRALIA AU AUS

AUSTRIA AT AUT

AZERBAIJAN AZ AZE

BAHAMAS BS BHS

BAHRAIN BH BHR

BANGLADESH BD BGD

BARBADOS BB BRB

BELARUS BY BLR

BELGIUM BE BEL

BELIZE BZ BLZ

BENIN BJ BEN

BERMUDA BM BMU

BHUTAN BT BTN

BOLIVIA BO BOL

BOSNIA AND HERZEGOWINA BA BIH

BOTSWANA BW BWA

BOUVET ISLAND BV BVT

BRAZIL BR BRA

BRITISH INDIAN OCEAN

TERRITORY

IO IOT

BRUNEI DARUSSALAM BN BRN

BULGARIA BG BGR

BURKINA FASO BF BFA

BURUNDI BI BDI

© Copyright IBM Corp. 2004, 2006 203

Page 212: 25520509 Quality Stage 8 0 User Guide

Territory or Region Two- Character Three- Character

CAMBODIA KH KHM

CAMEROON CM CMR

CANADA CA CAN

CAPE VERDE CV CPV

CAYMAN ISLANDS KY CYM

CENTRAL AFRICAN REPUBLIC CF CAF

CHAD TD TCD

CHILE CL CHL

CHINA CN CHN

CHRISTMAS ISLAND CX CXR

COCOS (KEELING) ISLANDS CC CCK

COLOMBIA CO COL

COMOROS KM COM

CONGO CG COG

CONGO, THE DEMOCRATIC

REPUBLIC OF THE

CD COD

COOK ISLANDS CK COK

COSTA RICA CR CRI

COTE D’IVOIRE CI CIV

CROATIA (local name: Hrvatska) HR HRV

CUBA CU CUB

CYPRUS CY CYP

CZECH REPUBLIC CZ CZE

DENMARK DK DNK

DJIBOUTI DJ DJI

DOMINICA DM DMA

DOMINICAN REPUBLIC DO DOM

EAST TIMOR TP TMP

ECUADOR EC ECU

EGYPT EG EGY

EL SALVADOR SV SLV

EQUATORIAL GUINEA GQ GNQ

ERITREA ER ERI

ESTONIA EE EST

ETHIOPIA ET ETH

FALKLAND ISLANDS (MALVINAS) FK FLK

FAROE ISLANDS FO FRO

FIJI FJ FJI

FINLAND FI FIN

FRANCE FR FRA

FRANCE, METROPOLITAN FX FXX

204 WebSphere QualityStage User Guide

Page 213: 25520509 Quality Stage 8 0 User Guide

Territory or Region Two- Character Three- Character

FRENCH GUIANA GF GUF

FRENCH POLYNESIA PF PYF

FRENCH SOUTHERN TERRITORIES TF ATF

GABON GA GAB

GAMBIA GM GMB

GEORGIA GE GEO

GERMANY DE DEU

GHANA GH GHA

GIBRALTAR GI GIB

GREECE GR GRC

GREENLAND GL GRL

GRENADA GD GRD

GUADELOUPE GP GLP

GUAM GU GUM

GUATEMALA GT GTM

GUINEA GN GIN

GUINEA-BISSAU GW GNB

GUYANA GY GUY

HAITI HT HTI

HEARD AND MC DONALD

ISLANDS

HM HMD

HOLY SEE (VATICAN CITY STATE) VA VAT

HONDURAS HN HND

HONG KONG S.A.R. OF CHINA HK HKG

HUNGARY HU HUN

ICELAND IS ISL

INDIA IN IND

INDONESIA ID IDN

IRAN (ISLAMIC REPUBLIC OF) IR IRN

IRAQ IQ IRQ

IRELAND IE IRL

ISRAEL IL ISR

ITALY IT ITA

JAMAICA JM JAM

JAPAN JP JPN

JORDAN JO JOR

KAZAKHSTAN KZ KAZ

KENYA KE KEN

KIRIBATI KI KIR

KOREA, DEMOCRATIC PEOPLE’S

REPUBLIC OF

KP PRK

Chapter 15. ISO territory codes 205

Page 214: 25520509 Quality Stage 8 0 User Guide

Territory or Region Two- Character Three- Character

KOREA, REPUBLIC OF KR KOR

KUWAIT KW KWT

KYRGYZSTAN KG KGZ

LAO PEOPLE’S DEMOCRATIC

REPUBLIC

LA LAO

LATVIA LV LVA

LEBANON LB LBN

LESOTHO LS LSO

LIBERIA LR LBR

LIBYAN ARAB JAMAHIRIYA LY LBY

LIECHTENSTEIN LI LIE

LITHUANIA LT LTU

LUXEMBOURG LU LUX

MACAU S.A.R. OF CHINA MO MAC

MACEDONIA, THE FORMER

YUGOSLAV REPUBLIC OF

MK MKD

MADAGASCAR MG MDG

MALAWI MW MWI

MALAYSIA MY MYS

MALDIVES MV MDV

MALI ML MLI

MALTA MT MLT

MARSHALL ISLANDS MH MHL

MARTINIQUE MQ MTQ

MAURITANIA MR MRT

MAURITIUS MU MUS

MAYOTTE YT MYT

MEXICO MX MEX

MICRONESIA, FEDERATED STATES

OF

FM FSM

MOLDOVA, REPUBLIC OF MD MDA

MONACO MC MCO

MONGOLIA MN MNG

MONTSERRAT MS MSR

MOROCCO MA MAR

MOZAMBIQUE MZ MOZ

MYANMAR MM MMR

NAMIBIA NA NAM

NAURU NR NRU

NEPAL NP NPL

NETHERLANDS NL NLD

NETHERLANDS ANTILLES AN ANT

206 WebSphere QualityStage User Guide

Page 215: 25520509 Quality Stage 8 0 User Guide

Territory or Region Two- Character Three- Character

NEW CALEDONIA NC NCL

NEW ZEALAND NZ NZL

NICARAGUA NI NIC

NIGER NE NER

NIGERIA NG NGA

NIUE NU NIU

NORFOLK ISLAND NF NFK

NORTHERN MARIANA ISLANDS MP MNP

NORWAY NO NOR

OMAN OM OMN

PAKISTAN PK PAK

PALAU PW PLW

PANAMA PA PAN

PAPUA NEW GUINEA PG PNG

PARAGUAY PY PRY

PERU PE PER

PHILIPPINES PH PHL

PITCAIRN PN PCN

POLAND PL POL

PORTUGAL PT PRT

PUERTO RICO PR PRI

QATAR QA QAT

REUNION RE REU

ROMANIA RO ROM

RUSSIAN FEDERATION RU RUS

RWANDA RW RWA

SAINT KITTS AND NEVIS KN KNA

SAINT LUCIA LC LCA

SAINT VINCENT AND THE

GRENADINES

VC VCT

SAMOA WS WSM

SAN MARINO SM SMR

SAO TOME AND PRINCIPE ST STP

SAUDI ARABIA SA SAU

SENEGAL SN SEN

SEYCHELLES SC SYC

SIERRA LEONE SL SLE

SINGAPORE SG SGP

SLOVAKIA (Slovak Republic) SK SVK

SLOVENIA SI SVN

SOLOMON ISLANDS SB SLB

Chapter 15. ISO territory codes 207

Page 216: 25520509 Quality Stage 8 0 User Guide

Territory or Region Two- Character Three- Character

SOMALIA SO SOM

SOUTH AFRICA ZA ZAF

SOUTH GEORGIA AND THE

SOUTH SANDWICH ISLANDS

GS SGS

SPAIN ES ESP

SRI LANKA LK LKA

ST. HELENA SH SHN

ST. PIERRE AND MIQUELON PM SPM

SUDAN SD SDN

SURINAME SR SUR

SVALBARD AND JAN MAYEN

ISLANDS

SJ SJM

SWAZILAND SZ SWZ

SWEDEN SE SWE

SWITZERLAND CH CHE

SYRIAN ARAB REPUBLIC SY SYR

TAIWAN TW TWN

TAJIKISTAN TJ TJK

TANZANIA, UNITED REPUBLIC OF TZ TZA

THAILAND TH THA

TOGO TG TGO

TOKELAU TK TKL

TONGA TO TON

TRINIDAD AND TOBAGO TT TTO

TUNISIA TN TUN

TURKEY TR TUR

TURKMENISTAN TM TKM

TURKS AND CAICOS ISLANDS TC TCA

TUVALU TV TUV

UGANDA UG UGA

UKRAINE UA UKR

UNITED ARAB EMIRATES AE ARE

UNITED KINGDOM GB GBR

UNITED STATES US USA

UNITED STATES MINOR

OUTLYING ISLANDS

UM UMI

URUGUAY UY URY

UZBEKISTAN UZ UZB

VANUATU VU VUT

VENEZUELA VE VEN

VIET NAM VN VNM

VIRGIN ISLANDS (BRITISH) VG VGB

208 WebSphere QualityStage User Guide

Page 217: 25520509 Quality Stage 8 0 User Guide

Territory or Region Two- Character Three- Character

VIRGIN ISLANDS (U.S.) VI VIR

WALLIS AND FUTUNA ISLANDS WF WLF

WESTERN SAHARA EH ESH

YEMEN YE YEM

YUGOSLAVIA YU YUG

Related concepts

“Records with non-identifiable countries” on page 47If the country identifier rule set cannot identify the country of origin of a record, the rule set adds a

delimiter that consists of a default country code.

“Country code delimiters” on page 185The Country Identifier rule set uses a default country delimiter when the rule set cannot determine

the record’s country of origin. Related tasks

“Configuring the WAVES or MNS stage job” on page 45With the MNS and WAVES stages, you can define the input file configuration as you build the job.

Use the configuration that most closely matches your data source.

Chapter 15. ISO territory codes 209

Page 218: 25520509 Quality Stage 8 0 User Guide

210 WebSphere QualityStage User Guide

Page 219: 25520509 Quality Stage 8 0 User Guide

Accessing information about IBM

IBM has several methods for you to learn about products and services.

You can find the latest information on the Web at http://www-306.ibm.com/software/data/integration/info_server/:

v Product documentation in PDF and online information centers

v Product downloads and fix packs

v Release notes and other support documentation

v Web resources, such as white papers and IBM Redbooks™

v Newsgroups and user groups

v Book orders

To access product documentation, go to this site:

http://publib.boulder.ibm.com/infocenter/iisinfsv/v8r0/index.jsp

You can order IBM publications online or through your local IBM representative.

v To order publications online, go to the IBM Publications Center at www.ibm.com/shop/publications/order.

v To order publications by telephone in the United States, call 1-800-879-2755.

To find your local IBM representative, go to the IBM Directory of Worldwide Contacts at

www.ibm.com/planetwide.

Contacting IBM

You can contact IBM by telephone for customer support, software services, and general information.

Customer support

To contact IBM customer service in the United States or Canada, call 1-800-IBM-SERV (1-800-426-7378).

Software services

To learn about available service options, call one of the following numbers:

v In the United States: 1-888-426-4343

v In Canada: 1-800-465-9600

General information

To find general information in the United States, call 1-800-IBM-CALL (1-800-426-2255).

Go to www.ibm.com for a list of numbers outside of the United States.

Accessible documentation

Documentation is provided in XHTML format, which is viewable in most Web browsers.

© Copyright IBM Corp. 2004, 2006 211

Page 220: 25520509 Quality Stage 8 0 User Guide

XHTML allows you to view documentation according to the display preferences that you set in your

browser. It also allows you to use screen readers and other assistive technologies.

Syntax diagrams are provided in dotted decimal format. This format is available only if you are accessing

the online documentation using a screen reader.

Providing comments on the documentation

Please send any comments that you have about this information or other documentation.

Your feedback helps IBM to provide quality information. You can use any of the following methods to

provide comments:

v Send your comments using the online readers’ comment form at www.ibm.com/software/awdtools/rcf/.

v Send your comments by e-mail to [email protected]. Include the name of the product, the version

number of the product, and the name and part number of the information (if applicable). If you are

commenting on specific text, please include the location of the text (for example, a title, a table number,

or a page number).

212 WebSphere QualityStage User Guide

Page 221: 25520509 Quality Stage 8 0 User Guide

Notices and trademarks

Notices

This information was developed for products and services offered in the U.S.A.

IBM may not offer the products, services, or features discussed in this document in other countries.

Consult your local IBM representative for information on the products and services currently available in

your area. Any reference to an IBM product, program, or service is not intended to state or imply that

only that IBM product, program, or service may be used. Any functionally equivalent product, program,

or service that does not infringe any IBM intellectual property right may be used instead. However, it is

the user’s responsibility to evaluate and verify the operation of any non-IBM product, program, or

service.

IBM may have patents or pending patent applications covering subject matter described in this

document. The furnishing of this document does not grant you any license to these patents. You can send

license inquiries, in writing, to:

IBM Director of Licensing

IBM Corporation

North Castle Drive

Armonk, NY 10504-1785 U.S.A.

For license inquiries regarding double-byte (DBCS) information, contact the IBM Intellectual Property

Department in your country or send inquiries, in writing, to:

IBM World Trade Asia Corporation

Licensing 2-31 Roppongi 3-chome, Minato-ku

Tokyo 106-0032, Japan

The following paragraph does not apply to the United Kingdom or any other country where such

provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION

PROVIDES THIS PUBLICATION ″AS IS″ WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR

IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF

NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some

states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this

statement may not apply to you.

This information could include technical inaccuracies or typographical errors. Changes are periodically

made to the information herein; these changes will be incorporated in new editions of the publication.

IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this

publication at any time without notice.

Any references in this information to non-IBM Web sites are provided for convenience only and do not in

any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of

the materials for this IBM product and use of those Web sites is at your own risk.

IBM may use or distribute any of the information you supply in any way it believes appropriate without

incurring any obligation to you.

© Copyright IBM Corp. 2004, 2006 213

Page 222: 25520509 Quality Stage 8 0 User Guide

Licensees of this program who wish to have information about it for the purpose of enabling: (i) the

exchange of information between independently created programs and other programs (including this

one) and (ii) the mutual use of the information which has been exchanged, should contact:

IBM Corporation

J46A/G4

555 Bailey Avenue

San Jose, CA 95141-1003 U.S.A.

Such information may be available, subject to appropriate terms and conditions, including in some cases,

payment of a fee.

The licensed program described in this document and all licensed material available for it are provided

by IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement or

any equivalent agreement between us.

Any performance data contained herein was determined in a controlled environment. Therefore, the

results obtained in other operating environments may vary significantly. Some measurements may have

been made on development-level systems and there is no guarantee that these measurements will be the

same on generally available systems. Furthermore, some measurements may have been estimated through

extrapolation. Actual results may vary. Users of this document should verify the applicable data for their

specific environment.

Information concerning non-IBM products was obtained from the suppliers of those products, their

published announcements or other publicly available sources. IBM has not tested those products and

cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM

products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of

those products.

All statements regarding IBM’s future direction or intent are subject to change or withdrawal without

notice, and represent goals and objectives only.

This information is for planning purposes only. The information herein is subject to change before the

products described become available.

This information contains examples of data and reports used in daily business operations. To illustrate

them as completely as possible, the examples include the names of individuals, companies, brands, and

products. All of these names are fictitious and any similarity to the names and addresses used by an

actual business enterprise is entirely coincidental.

COPYRIGHT LICENSE:

This information contains sample application programs in source language, which illustrate programming

techniques on various operating platforms. You may copy, modify, and distribute these sample programs

in any form without payment to IBM, for the purposes of developing, using, marketing or distributing

application programs conforming to the application programming interface for the operating platform for

which the sample programs are written. These examples have not been thoroughly tested under all

conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these

programs.

Each copy or any portion of these sample programs or any derivative work, must include a copyright

notice as follows:

© (your company name) (year). Portions of this code are derived from IBM Corp. Sample Programs. ©

Copyright IBM Corp. _enter the year or years_. All rights reserved.

214 WebSphere QualityStage User Guide

Page 223: 25520509 Quality Stage 8 0 User Guide

If you are viewing this information softcopy, the photographs and color illustrations may not appear.

Trademarks

IBM trademarks and certain non-IBM trademarks are marked at their first occurrence in this document.

See http://www.ibm.com/legal/copytrade.shtml for information about IBM trademarks.

The following terms are trademarks or registered trademarks of other companies:

Java™ and all Java-based trademarks and logos are trademarks or registered trademarks of Sun

Microsystems, Inc. in the United States, other countries, or both.

Microsoft®, Windows®, Windows NT®, and the Windows logo are trademarks of Microsoft Corporation in

the United States, other countries, or both.

Intel®, Intel Inside® (logos), MMX and Pentium® are trademarks of Intel Corporation in the United States,

other countries, or both.

UNIX® is a registered trademark of The Open Group in the United States and other countries.

Linux® is a trademark of Linus Torvalds in the United States, other countries, or both.

Other company, product or service names might be trademarks or service marks of others.

Notices and trademarks 215

Page 224: 25520509 Quality Stage 8 0 User Guide

216 WebSphere QualityStage User Guide

Page 225: 25520509 Quality Stage 8 0 User Guide

Index

Special characters<AllColumns >, surviving entire

record 91

AABS_DIFF comparison 114

accessibility 212

action codes 31

adding domain pre-processor literals 42

address matchingexamples 100

advanced tabStage page 137

Advanced tab Input page 161

Advanced tab Ouput page 172

advanced tab, stage page 137

agreement weight 58

Agreement Weight (AW) 66

aligningdata display of columns 69

AN_DINT 114

AN_DINT comparison 114

AN_INT comparison 115

analyzes free-form columns 2

BBaseline Run 75

best record 94

birthdate, blocking on 104

block overflow 55, 104

block size considerations 103

blockingabout 55

block size considerations 103

on birthdate 104

on event dates 104

on individual ID numbers 104

on names 104

on postal addresses 104

overview 102

strategies 104

blocking columns 59

blocking records 3

blocking strategiesexamples 106

setting up 106

blocking strategy 56

blocking variablesbest 104

blocks, creating smaller 56

Both Missing Weight (XM) 66

Business intelligence columns 192

Cchange values

match cutoff 71

CHAR comparison 115

character concatenate investigate 7

character discrete investigate 7

Character investigate 10

Character investigationcolumn masks 12

setting up 11

chartsCumulative Statistics 77

Pass Statistics 76

Classification table 178

Classification tables 13

CLERICAL [MISSINGOK] vartype 111

clerical cutoff 58

Clerical Cutoff 68

change values 71

Clerical Cutoff point, locate 71

CLERICAL MISSINGOK variable 62

Clerical output option 86

CLERICAL variable 62

CNT_DIFF comparison 116

Column Details window 68

column estimates 108

Column Mask Selection window 11

column masks 12

changing 12

columnsaligning data display in Match

Designer 69

Columns tab 170

columns tab, Input page 149

comments on documentation 212

comparisonReference match 64

comparisons 114, 122

ABS_DIFF 114

AN_INTERVAL 115

CHAR 115

CNT_DIFF 116

D_INT 116

D_USPS 117

DATE8 118

DELTA_PERCENT 118

DISTANCE 119

INT_TO_INT 119

INTERVAL_NOPAR 120

INTERVAL_PARITY 121

LR_CHAR 121

MULT_EXACT 123

MULT_RANGE 123

MULT_UNCERT 124

NAME_UNCERT 124

NUMERIC 125

PREFIX 125

PRORATED 125

TIME 126

UNCERT 127

USPS 128

USPS_DINT 128

USPS_INT 130

composite weight 58

composite weightsabout 109

histogram 109

setting cutoff values 109

CONCAT variable 62

CONCAT vartype 111

Conditional Data Source Value (AV) 66

Conditional Reference Source Value

(BV) 66

configuration information in Match

Designer 62

configureInvestigate stage 10

Survive stage 91

Configure window 61

Console for WebSphere Information

Serverrunning reports 21

contacting IBM 211

country identifier rule set 47

Country Identifier rule set 185

delimiter 185

creatingmatch specifications 56

creating simple survive rules 92

CRITICAL [MISSINGOK] vartype 111

CRITICAL MISSINGOK 62

CRITICAL Variable 62

Cumulative Statistics chart 77

Current Data Selection bar 71

current record 94

cutoff weights 108

cutoffsabout setting 109

assigning for match pass 68

clerical 68

Match 68

DD_INT comparison 116

D_USPS comparison 117

Data Display Alignment window 69

Data Duplicate output option 86

Data flag table 193

Data Residual output option 86

data setssample data for Match Designer 61

data source 99

Data Source Missing Weight (AM) 66

data typesdate 144

decimal 144

default 144

string 144

DATE8 comparison 118

datesblocking on 104

DB2 partition properties 141

default parsing parameters 194

defining simple survive rules 92

© Copyright IBM Corp. 2004, 2006 217

Page 226: 25520509 Quality Stage 8 0 User Guide

delimiteraddress 39

area 39

name 39

delimiter name 186

delimiters for domain-preprocessor rule

sets 38

Delta columnclerical pairs 75

EXACT matched pairs 75

matched pairs 75

DELTA_PERCENT comparison 118

Dependent match type 81

Dictionary 192

Dictionary filebusiness intelligence column 192

columns 192

format 176

matching columns 192

reporting columns 192

Disagreement Weight (DW) 66

DISTANCE comparison 119

documentationaccessible 212

ordering 211

Web site 211

domain pre-processor literalsadding 42

domain pre-processor rule setsabout 37

delimiters 38

Domain Pre-Processor rule sets 186

domain preprocessor rule setsadd text override 27

Domain Preprocessor rule setsadd a pattern override 26

change a token override code 26

column pattern override 26

column text override 27

input pattern override 26

input text override 27

domain-preprocessorpreparing input data 38

domain-preprocessor rule set 186

Dictionary file 188

domain-preprocessor rule setsdomain columns 188

domain mask 189

naming conventions 188

reporting columns 188

upgrading 189

user flag descriptions 189

why use 186

domain-proprocessor rule setspreparing input data 38

domain-specific file names 191

domain-specific rule settest 33

domain-specific rule sets 39

input text override 29

override object types 29

unhandled text override 29

domain-specific rules sets 191

Duplicate 68

Eevaluate records 94

evaluating test passessteps 72

event dates, blocking on 104

examplesfile unduplicate 102

individual matching 100

many-to-one matching 100

FField defaults 143

field type definitions 177

file namesdomain specific 191

file unduplicate 102

fine-tune the match 70

format tab, Input page 141

frequency cutoff 14

frequency distribution 49

frequency information 61

preparing for use 50

viewing in Match Designer 68

frequency information, prepare 52

Frequency/Weight histogramadjusting cutoffs 71

change values 71

GGeneral tab 135

Byte order 166

Data format 166

general tab, Input page 139

general tab, Output page 162

group records with common

attributes 79

HHolding Area, using 69

IID numbers, blocking on 104

Independent match typeexample 81

Information Server for Web consoleInvestigation reports 18

input date formats 194

Input page 139

columns tab 149

Field defaults 143

format tab 141

general tab 139

partitioning tab 139

properties tab 139

Record level 142

input pattern override 28

input text and unhandled text overrideadd 29

Inputs page 138

inserting literals in input records 39

INT_TO_INT comparison 119

international address files 44

INTERVAL_NOPAR comparison 120

INTERVAL_PARITY comparison 121

Investigate Advanced Options

window 11, 13

Investigate stageadvanced options for Word

investigation 14

changing column mask 12

character concatenate investigate 7

character discrete investigate 7

Character investigation, setting up 11

configure 10

create a token or pattern report 8

creating reports 20

frequency cutoff 14

Investigate Advanced Options

window 11, 13

Investigation reports 18

ordering links 16

overview 7

parses single-domain columns 2

pattern report 19

removing column from

investigation 12

reports 19

set up Word investigation 13

setting stage properties 16

setting up job 9

stage properties 16, 17

token report 19

tokens 13

Word investigationusing 8

Investigate StageColumn Mask Selection window 11

column masks 12

pattern reports 14

Investigation reportspattern 19

running reports 21

token 19

Investigation reports, types of 18

Investigation reportscreating reports 20

ISO territory or region codes 203

Llegal notices 213

Level Number field 149

link ordering 16

link ordering tab, stage page 138

literalsadding with domain pre-processor

rule sets 42

inserting in input records 39

lookup tables 183

LR_CHAR comparison 121

LR_UNCERT 122

LR_UNCERT comparison 122

Mm probability

about 107

error rate 57

218 WebSphere QualityStage User Guide

Page 227: 25520509 Quality Stage 8 0 User Guide

m-probabilityspecify in Match Designer 64

many-to-one duplicates match type 85

many-to-one match type 85

many-to-one matchingexamples 100

many-to-one multiple match type 85

map output columns 172

mapping output columnsInvestigate stage 17

Mapping tab 171

Mapping tab, configure 17

master record 58

selecting 101

Match Blocking Specification

window 64

Match Command window 64

match comparisons 113

vectors 57

Match commands 64

specify m-probability 64

specify u-probability 64

specify weight overrides 66

Match Cutoff 68

change values 71

Match Cutoff point, locate 71

match cutoffs 58

Match Designer 3, 61, 68

assign pass cutoffs 68

assigning variables 62

blocking variables 64

Clerical Cutoff 68

configuring Match specifications 61

creating charts for all passes 77

Cumulative Statistcs chart 77

Current Data Selection bar 71

displaying charts for single Match

Pass 76

displaying pass statistics 75

displaying residuals 73

Duplicate Cutoff 68

evaluating pass results 72

frequency information 61, 108

frequency information, preparing 50

Frequency/Weight histogram 71

Holding Area 69

Match Command windowmatch comparisons 113

Match Pass printing charts 76

matches 52

open 60

overview 55

Pass Statistics chart 76

passes 52

printing charts 77

Reference match comparisons 64

residuals displaying in Test Results

table 73

reviewing pass statistics 75

specify m-probability 64

specify u-probability 64

specify weight overrides 66

specifying sample data sets 61

Statistics area 75

Statistics table 75

Test Result table actions 73

Test Results area 70

Match Designer (continued)test results database 61

Test Results table 69

Test Results table about 74

Test Results table sorting 73

testing match passes 70

Total Statistics page 76

view frequency information 68

viewing total statistics for all

passes 76

Match Designer specificationpreparation for 59

Match Frequency stageabout 49

configure 51

linking 49

match specification 51

overview 49

saving output table definition 52

setting up job 50

specify maximum frequency

entries 51

workflow 3

Match output option 86

match outputsselecting for Reference Match 87

selecting for Unduplicate Match 81

match pairs, grouping by 73

Match passset overflow values 71

Match Passcreating charts for all passes 77

printing charts 77

testing match passes 70

match passesclerical cutoff 71

cutoffsadjusting with Frequency/Weight

histogram 71

Match passesassigning cutoffs 68

displaying statistics 75

evaluating results 72

Holding Area, about 69

Overflow A 68

Overflow B 68

reviewing statistics 75

match sets, grouping by 73

match specification 111

Match specificationprovisioning 59

Reference Match stage 60

save 60

Unduplicate Independent match 59

Unduplicate match 59

Unduplicate match specificationprovisioning 59

view frequency information 68

match specifications 110

about creating 56

using with Match Frequency

stage 51

Match specificationsconfiguring 61

for Reference Match 87

frequency information 61

Holding Area 69

Match specifications (continued)sample data 61

specify weight overrides 66

specifying sample data sets 61

testing match passes 70

updating configuration

information 62

variables 62

Match stagecompute a weight 58

master records 58

Match stagesworkflow 3

match testrun 108

match typeselect for Reference Match stage 87

match typesmany-to-one duplicates match

type 85

many-to-one match type 85

many-to-one multiple 85

one-to-one match types 85

Match Weights window 74

matchingabout 56

about algorithm 110

about setting cutoff values 109

about weights 107

block overflow 104

blocking strategies 104

composite weights 109

data source 99

overview of concepts 99

reference source 99

reverse matching 110

selecting variables 106

matching algorithm 110

matching columns 59, 192

matching methods 100

matching records 3

matching strategy 56, 57

u probability 57

matching variables 106

rules 106

matrix of weights 101

maximum overflow, set 68

metadata description 37

minimum overflow, set 68

MNS job, set up 45

MNS stageconfigure 45

country identifier rule set 47

set up job 45

standardization rules 44

MULT_EXACT comparison 123

MULT_RANGE comparison 123

MULT_UNCERT comparison 124

multinational addressoverride table 31

multinational address verificationWAVES stage 44

Multinational Standardization stageSee MNS stage 45

Index 219

Page 228: 25520509 Quality Stage 8 0 User Guide

NNAME_UNCERT comparison 124

names, blocking on 104

New RuleSet window 23

NLS Locale tab 138

NOFREQ variable 62

NOFREQ vartype 111

NOFREQ Vartype 57

nulls 179

NUMERIC comparison 125

NYSIIS code 104

Oone-to-one match type 85

ordering links 16

output file 185

Output page 162

Columns tab 170

general tab 162

Mapping tab 171

Properties tab 162

Overflow A 68

Overflow B 68

overflow, set 68

Override Code column 31

override object types 183

override object types for customizing rule

sets 24

overridescopy 31

delete 32

Overrides windowmodifying 32

overviewblocking 102

Investigate stage 7

matching concepts 99

record linkage 99

Rule sets 175

Standardize stage 35

unduplicate 101

weights 107

overview of Reference Match stage 4

overview of the Unduplicate Match

stage 4

Overview tab 72

Ppartitioning tab, Input page 139

Pass Statistics chart 76

pattern matchingconcepts 180

pattern matching processnulls 179

pattern overrideadd 28

pattern reportColumn Name 19

Count 19

Percent 19

Sample 19

Word investigation 14

pattern-action file 179, 190

pattern-action file structure 182

postal addresses, blocking on 104

PREFIX comparison 125

preliminary stepsMatch Designer specification 59

preparing frequency information 50

printingcharts in Match Designer 76

process options for domain-specific rule

sets 42

Properties tab 135

reset 135

properties tab, Input page 139

Properties tab, Output page 162

properties tree 135

PRORATED comparison 125

QQualityStage

classify pairs 102

Rrandom probability 57

range partition properties 141

readers’ comment form 212

record linkageabout weights 107

overview 99

record linkage processclassify pairs 102

record linkage system 99

Record Type column 74

Reference Duplicate output option 86

Reference matchcomparison types 64

Reference Matchalign columns for data dispaly 69

blocking variables, adding 64

combined blocking columns sort 73

multiple columns sort 73

Reference match specificationprovisioning 60

Reference Match stage 100

about 85

Clerical output option 86

configure 87

Data Duplicate output option 86

Data Residual output option 86

how to use 86

many-to-one duplicates match

type 85

many-to-one match type 85

many-to-one multiple match type 85

Match output option 86

match outputs, select 87

Match specification 87

match type, select 87

match types 85

one-to-one match types 85

output options 86

overview 4, 85

Reference Duplicate output

option 86

Reference Residual output option 86

set up 87

Reference Match stage (continued)workflow 86

Reference Residual output option 86

reference source 99

Reference Source Missing Weight

(BM) 66

reporting columns 192

Reporting Error fields 195

residual output 82

residuals 58

reverse matching 110

reverse matching, defining in match

specification 110

Rule Expression Builder 93

Rule Management window 23

rule set editing 24

rule overrides 36

rule setdomain preprocessor rule set

test 32

test 32

Rule setcopy a rule set 23

override object types 24

rule set description file 183

Rule set editorselecting 34

rule set file architecturebenefits 175

rule setsClassification tables 13

country code delimiters 185

country identifier 47

domain pre-processor 37, 42

Domain Pre-Processor 36

domain preprocessor 186

reporting columns 188

domain specific 39, 42, 191

Domain Specific 36

domain-preprocessor delimiters 38

naming conventions 191

provisioning 24

upgrading 190

validation 39

Validation 36

VDATE 194

Rule sets 175

creating new 23

rulesapply to Survive stage 94

syntax examples 95

rules managementprovisioning rule sets 24

Rules managementoverrides

copy 31

Rules Managementoverrides

modifying 32

rules management windowtester 33

Rules Management window 23, 25

overrides 25

deleting 32

rule set editor 34

tester 32

runtime column propagation 170

220 WebSphere QualityStage User Guide

Page 229: 25520509 Quality Stage 8 0 User Guide

Ssample data for Match specification 61

Save Match Pass Definition As 63

screen readers 212

Search Data window 72

Selected Data handle 71

selecting match types 81

set upCharacter investigation 11

investigate job 9

Set up a jobUnduplicate Match 80

SetID column 74

setting stage propertiesInvestigate stage 16

setting upMatch Frequency job 50

setting up a Survive job 91

sorting conditions for Test Results

table 73

Soundex code 104

source datapreparation 5

source unduplicate 102

specifications. See Match

specifications 68

specifying advanced options for word

investigations 14

specifying frequency information for

Match Designer 61

specifying output columns in Survive

stage 91

specifying values for match pass

cutoffs 68

stage editor interface 131

stage page 135

Stage page 16

advanced tab 137

Investigate stage 16

link ordering tab 138

Properties tab 135

stage propertiesStage page 16

Stage propertiesNLS Map tab 138

Stage Properties 17

General tab 135

NLS Locale tab 138

Properties tab 136

properties tree 135

stage validation errors 134

stagesStandardize 41

Standardizationtokens 180

standardize domain-preprocessor rule

setsoverride object types 27

standardize international address filesMNS stage 44

WAVES stage 44

standardize processes, changing 42

Standardize Rule Process window 39

Standardize rule sets 185

Standardize stageconfiguring 42

Standardize stage (continued)domain-specific override object

types 29

international address files 44

literals, inserting in input records 39

override rules 25

overview 35

rule sets 36

setting up 41

using 36

workflow 2

statisticsdisplaying for Match pass 75

reviewing for match pass 75

Statistics area in Match Designer 75

Statistics tab 72

displaying charts 76

printing charts 76

Statistics tablebaseline run 75

STEPLIST 180

strategies for blocking 104

STRIPLIST 180

survival record 89

Survive Rules Definition window 91, 92,

93

survive rules, creating simple 92

Survive stage<AllColumns > 91

apply rules 94

configure 91

defining simple survive rules 92

overview 89

requirements 89

Rule Expression Builder 93

rule processing 94

selecting the best candidate 89

set up a job 91

specifying output columns 91

survived record, creating 90

using Techniques 92

Survive stage workflow 4

survived record, creating 90

Ttable definitions

saving for Match Frequency 52

Table Definitionsselect 60

table of WebSphere DataStage stage

types 131

Techniques, using for simple survive

rules 92

test results 70

Test Results areaCurrent Data Selection handle 71

displaying 70

Frequency/Weight histogram 71

minimizing 70

Test Results table 74

test results database 61

Test Results tableabout 74

aligning display of columns 69

displaying residuals 73

grouping by match sets 73

Test Results table (continued)list of actions 73

sorting, about 73

text overrideadd an override 27

change an override 27

threshold weights 179

TIME comparison 126

token classes 13

token reportClassification Code 19

Count 19

Word 19

tokens 180

Total Statistics page 76

Total Statistics tab 72

displaying charts 77

printing charts 77

trademarks 215

Uu probability

about 57, 107

u-probabilityspecify in Match Designer 64

UNCERT comparison 127

unduplicateabout 101

unduplicate matchblocking variables, adding 64

Unduplicate Match 74

Record Type columns 74

SetID columns 74

Weight columns 74

Unduplicate Match stage 3

about 79

configure 81

data source types 79

dependent match type 81

frequency information, preparing 50

independent match type 81

map output columns 172

Match specification 81

overview 4, 79

selecting match outputs 81

setting up job 80

Unduplicate Match Stageworkflow 79

Unduplicate Match stage output optionsClerical 82

Clerical output option 82

Duplicate 82

Match 82

Residual 82

unhandled pattern override 28

using Techniques for simple survive

rules 92

USPS comparison 128

USPS_DINT 128

USPS_INT comparison 130

Vvalidation errors 134

Index 221

Page 230: 25520509 Quality Stage 8 0 User Guide

Validation filenaming convention 193

validation rule settest 33

validation rule sets 39

override table 30

Validation rule sets 193

validation rules setserror reporting 199

variables 62

CLERICAL 62

CLERICAL MISSING OK 62

CONCAT 62

CRITICAL MISSINGOK 62

defining special properties 111

NOFREQ 62

Variables (Variable Special Handling)

window 62

VARTYPE statementCLERICAL [MISSINGOK] 111

CONCAT 111

CRITICAL [MISSINGOK] 111

NOFREQ 111

VartypesNOFREQ 57

VDATE rule set 194

vectors 57

VEMAILdefault parsing parameter 196

parsing parameters 196

VEMAIL rule set 196

visual cues 134

VPHONE rule set 197

VTAXID rule set 199

WWAVES job, set up 45

WAVES rule setsoverride table 31

WAVES stageconfigure 45

set up job 45

verify worldwide addresses 44

Web console for WebSphere Information

Servercreating Investigation reports 20

WebSphere DataStagestage page 135

WebSphere QualityStageInvestigate stage 7

Investigation reports 18

MNS stage 47

record linkage system 99

rules management 25

Rules Management window 23

source data 5

Standardize stage 41

Survive stage 91

WebSphere QualityStage jobsset up

Investigate stage 9

WebSphere QualityStage reports 19

Weight column 74

weight overrides 66, 67

Weight Overrides window 66

changes calculated weights 67

weightsabout 58

definition of 109

discriminating power 107

overview 107

windowschecking expression syntax in Survive

stage 93

Column Details 68

Column Mask Selection 11

Configure 61

Data Display Alignment 69

Investigate Advanced Options 11, 13

Match Blocking Specification 64

Match Command 57, 64

Match Weights 74

Save Match Pass Definition As 63

Search Data 72

Standardize Rule Process 39

Survive Rules Definition 91, 92, 93

Survive stagechecking expression syntax 93

syntax, checking in Survive stage 93

Variables (Variable Special

Handling) 62

Weight Overrides 66

Word investigate 10

Word investigationadvanced options 14

pattern reports 14

set up 13

using 8

workflowInvestigate stage 2

Reference Match stage 86

Survive stage 4

Unduplicate Match stage 79

WebSphere QualityStage 1

222 WebSphere QualityStage User Guide

Page 231: 25520509 Quality Stage 8 0 User Guide
Page 232: 25520509 Quality Stage 8 0 User Guide

����

Printed in USA

SC18-9922-00

Page 233: 25520509 Quality Stage 8 0 User Guide

Spine information:

IBM

W

ebSp

here

Qu

ality

Stag

e Ve

rsio

n 8

Web

Sphe

re Qu

ality

Stag

e Us

er Gu

ide

��