You are on page 1of 233

WebSphere QualityStage


Version 8

User Guide

SC18-9922-00
WebSphere QualityStage
®


Version 8

User Guide

SC18-9922-00
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.
Contents
Chapter 1. Introduction to WebSphere Chapter 5. Generating frequency
QualityStage . . . . . . . . . . . . . 1 information . . . . . . . . . . . . . 49
WebSphere QualityStage work flow . . . . . . . 1 About the Match Frequency stage . . . . . . . 49
Analyzing source data quality . . . . . . . 2 Creating the Match Frequency job . . . . . . . 50
Data reformatting and conditioning . . . . . . 2 Setting up the Match Frequency job . . . . . 50
Generating match frequency data . . . . . . 2 Configuring the Match Frequency stage . . . . 51
Ensuring data integrity . . . . . . . . . . 3
Consolidating and creating a survive record . . . 4 Chapter 6. Defining and testing match
Preparing source data . . . . . . . . . . . 5 criteria . . . . . . . . . . . . . . . 55
Limiting record pairs with blocking . . . . . . 55
Chapter 2. Analyzing source data . . . . 7 Creating smaller blocks . . . . . . . . . 56
The Character Investigate option . . . . . . . 7 Matching data strategy . . . . . . . . . . 56
The Word investigate option . . . . . . . . . 8 Matching basics . . . . . . . . . . . . 56
Setting up to generate investigation reports . . . . 8 Using the Match Designer . . . . . . . . . 59
Setting up an investigate job . . . . . . . . 9 Creating an Unduplicate Match specification . . 59
Configuring the source data file . . . . . . 10 Create a reference match specification . . . . 60
Configuring the Investigate stage . . . . . . 10 Configure and update the Match specification . . . 61
Configuring the target file . . . . . . . . 15 Update configuration information . . . . . . 62
About Stage Properties . . . . . . . . . . 16 Defining special variables. . . . . . . . . 62
Setting stage properties . . . . . . . . . 16 A Match Pass . . . . . . . . . . . . . . 63
Configure the Mapping tab . . . . . . . . 17 Creating a new pass . . . . . . . . . . 63
Investigation reports . . . . . . . . . . . 18 Specify blocking variables . . . . . . . . 64
Report format for the Investigate stage . . . . 19 Adding matching commands . . . . . . . 64
Creating Investigation reports . . . . . . . 20 Assigning match pass cutoffs . . . . . . . 68
Running and viewing the report . . . . . . 21 Using the match pass holding area . . . . . 69
Aligning data display of Reference Match
Chapter 3. Managing rule sets . . . . . 23 columns . . . . . . . . . . . . . . 69
Creating rule sets . . . . . . . . . . . . 23 Testing and reviewing match passes . . . . . . 70
Copying rule sets . . . . . . . . . . . . 23 Navigating the frequency/weight histogram . . 71
Provisioning rule sets . . . . . . . . . . . 24 Using data search . . . . . . . . . . . 72
Rule set files . . . . . . . . . . . . . . 24 Compare weights between rows . . . . . . 74
Rule set customization with override object types . 24 Reviewing statistics for a pass . . . . . . . 75
Selecting override object types to modify rule Reviewing total statistics . . . . . . . . . 76
sets . . . . . . . . . . . . . . . . 25
Copying overrides . . . . . . . . . . . 31 Chapter 7. Grouping records that share
Modifying overrides . . . . . . . . . . 32 attributes . . . . . . . . . . . . . . 79
Deleting overrides . . . . . . . . . . . 32 About the Unduplicate Match stage . . . . . . 79
Standardization rule set tester . . . . . . . . 32 Unduplicate Match stage workflow . . . . . 79
Testing a domain-preprocessor rule set . . . . 32 Setting up an Unduplicate Match job . . . . . . 80
Testing domain-specific or validation rule sets . . 33 Configuring the Unduplicate Match stage . . . . 81
Selecting a rule set editor . . . . . . . . . . 34 Selecting match types . . . . . . . . . . 81
Using a default rule set editor . . . . . . . 34 Selecting output options . . . . . . . . . 82

Chapter 4. Conditioning data . . . . . 35 Chapter 8. Matching data from dual


Creating the Standardize stage job . . . . . . . 35
sources . . . . . . . . . . . . . . 85
Standardize rule sets . . . . . . . . . . 36
Reference Match stage workflow . . . . . . . 85
Setting up the Standardize job . . . . . . . . 41
How to use the Reference Match stage . . . . . 86
Configuring the Standardize stage job . . . . . 42
Set up the Reference Match job . . . . . . . . 87
Standardizing international address files . . . . . 44
Configure the Reference Match stage . . . . . . 87
Standardize and correct international address
data . . . . . . . . . . . . . . . . 44
Setting up WAVES or MNS jobs . . . . . . 45 Chapter 9. Creating a survived record 89
Configuring the WAVES or MNS stage job . . . 45 Creating a survival record . . . . . . . . . 90
Setting up a survive job . . . . . . . . . . 91
Configuring the Survive job . . . . . . . . . 91

© Copyright IBM Corp. 2004, 2006 iii


Defining simple survive rules . . . . . . . 92 Input Properties tab . . . . . . . . . . 139
Defining complex survive expressions . . . . 93 Input Partitioning tab . . . . . . . . . 139
Applying survive rules . . . . . . . . . . 94 Input tab Format tab . . . . . . . . . . 141
About the Survive stage rule processing . . . . 94 Input page Columns tab . . . . . . . . . 149
Rule syntax . . . . . . . . . . . . . 95 Advanced tab . . . . . . . . . . . . 161
Output page . . . . . . . . . . . . . . 162
Chapter 10. Blocking and matching General tab . . . . . . . . . . . . . 162
concepts . . . . . . . . . . . . . . 99 Properties tab . . . . . . . . . . . . 162
Format tab . . . . . . . . . . . . . 162
About record linkage . . . . . . . . . . . 99
Output page columns tab . . . . . . . . 170
One-to-one matching examples . . . . . . 100
Mapping tab . . . . . . . . . . . . 171
Many-to-one matching examples . . . . . . 100
Advanced tab . . . . . . . . . . . . 172
Grouping records into sets . . . . . . . . 101
Classifying record pairs . . . . . . . . . 102
About blocking . . . . . . . . . . . . . 103 Chapter 13. Describing rule set files 175
Blocking strategies. . . . . . . . . . . 104 Features and benefits of rule sets . . . . . . . 175
Selecting the matching variables . . . . . . . 106 Dictionary file format. . . . . . . . . . . 176
Estimating probabilities . . . . . . . . . 107 Field types . . . . . . . . . . . . . 177
Reverse matching . . . . . . . . . . . 110 Classification table . . . . . . . . . . . 178
Special variable properties (VARTYPE) . . . . . 111 Threshold weights . . . . . . . . . . . 179
The null class . . . . . . . . . . . . 179
Chapter 11. Match comparisons . . . 113 Pattern-action file . . . . . . . . . . . . 179
Pattern matching principles . . . . . . . 180
ABS_DIFF comparison . . . . . . . . . . 113
Tokens and classification . . . . . . . . 180
AN_DINT comparison . . . . . . . . . . 114
Pattern-action file structure . . . . . . . . 182
AN_INTERVAL comparison . . . . . . . . 115
Rule set description file (.PRC) . . . . . . . 183
CHAR comparison . . . . . . . . . . . 115
Lookup tables (.TBL) . . . . . . . . . . . 183
CNT_DIFF comparison . . . . . . . . . . 115
Override object types . . . . . . . . . . . 183
D_INT comparison . . . . . . . . . . . 116
D_USPS comparison . . . . . . . . . . . 117
DATE8 comparison . . . . . . . . . . . 117 Chapter 14. About standardize rule
DELTA_PERCENT comparison . . . . . . . 118 sets . . . . . . . . . . . . . . . 185
DISTANCE comparison . . . . . . . . . . 119 Country identifier rule set . . . . . . . . . 185
INT_TO_INT comparison . . . . . . . . . 119 Country code delimiters . . . . . . . . . 185
INTERVAL_NOPAR comparison . . . . . . . 120 Output file . . . . . . . . . . . . . 185
INTERVAL_PARITY comparison . . . . . . . 121 Domain pre-processor rule sets . . . . . . . 186
LR_CHAR comparison . . . . . . . . . . 121 Input file . . . . . . . . . . . . . . 186
LR_UNCERT comparison . . . . . . . . . 122 Domain-preprocessor rule sets . . . . . . . 186
MULT_EXACT comparison . . . . . . . . . 123 Domain-preprocessor file names . . . . . . 187
MULT_RANGE comparison . . . . . . . . 123 Domain-preprocessor dictionary file . . . . . 188
MULT_UNCERT comparison . . . . . . . . 123 Domain masks for domain-preprocessor rule
NAME_UNCERT comparison . . . . . . . . 124 sets . . . . . . . . . . . . . . . . 189
NUMERIC comparison . . . . . . . . . . 125 Upgrading preprocessor rule sets . . . . . . 190
PREFIX comparison . . . . . . . . . . . 125 About domain-specific rule sets . . . . . . . 191
PRORATED comparison . . . . . . . . . . 125 Domain-specific file names . . . . . . . . 191
TIME comparison . . . . . . . . . . . . 126 Dictionary file columns . . . . . . . . . 192
UNCERT comparison . . . . . . . . . . . 127 Validation rule sets . . . . . . . . . . . 193
USPS comparison . . . . . . . . . . . . 127 Validation file names . . . . . . . . . . 193
USPS_DINT comparison . . . . . . . . . . 128 VDATE rule set. . . . . . . . . . . . 194
USPS_INT comparison . . . . . . . . . . 130 VEMAIL rule set . . . . . . . . . . . 196
VPHONE rule set . . . . . . . . . . . 197
Chapter 12. The stage editor interface 131 VTAXID rule set . . . . . . . . . . . 199
Showing stage validation errors . . . . . . . 134 User modification subroutines . . . . . . . . 201
The stage page . . . . . . . . . . . . . 134 Country identifier user subroutines . . . . . 201
General tab . . . . . . . . . . . . . 135 Domain pre-processor user subroutines . . . . 201
Properties tab . . . . . . . . . . . . 135 Domain-specific user subroutines . . . . . . 202
Advanced tab . . . . . . . . . . . . 137
Link ordering tab . . . . . . . . . . . 138 Chapter 15. ISO territory codes . . . . 203
NLS map tab . . . . . . . . . . . . 138
NLS locale tab . . . . . . . . . . . . 138 Accessing information about IBM . . . 211
Input page . . . . . . . . . . . . . . 139 Contacting IBM . . . . . . . . . . . . . 211
Input General tab . . . . . . . . . . . 139 Accessible documentation . . . . . . . . . 211

iv WebSphere QualityStage User Guide


Providing comments on the documentation . . . 212 Trademarks . . . . . . . . . . . . . . 215

Notices and trademarks . . . . . . . 213 Index . . . . . . . . . . . . . . . 217


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

Contents v
vi WebSphere QualityStage 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


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 7
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.

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 35
Standardizing 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


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 49
The 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


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 79
The 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 85
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.

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


Related concepts
Chapter 9, “Creating a survived record,” on page 89
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.

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


6 WebSphere QualityStage 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 2
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.
Chapter 14, “About standardize rule sets,” on page 185
Rule 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


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 18
The 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 19
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.

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
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 11
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.
“Setting up a word investigation” on page 13
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.
“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


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


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 9
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.

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


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 8
To 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


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 19
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.
Related tasks
“Setting up to generate investigation reports” on page 8
To 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


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 175
Rule 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


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 19
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.

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


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


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 131
The Parallel job stage editors all use a generic user interface.
Related tasks
“Setting up to generate investigation reports” on page 8
To 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 35
The 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


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 50
You 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 52
Running 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 81
You must configure the Unduplicate Match stage before you run the job.
“Set up the Reference Match job” on page 87
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.
“Configuring the Survive job” on page 91
You need to configure the Survive stage and Sequential files before you run a Survive job.
“Creating a survival record” on page 90
You 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


v XML
Related concepts
“The Character Investigate option” on page 7
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).

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


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 8
Word Investigate parses free-form data columns into individual tokens, that are analyzed to create
patterns.
Related tasks
“Setting up a word investigation” on page 13
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.
“Specify advanced options for word investigations” on page 14
When 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


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 20
You 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


22 WebSphere QualityStage 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 175
Rule 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


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


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


“Standardize rule sets” on page 36
The 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 180
The 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


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


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


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


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


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


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


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


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


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 2
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.
Chapter 14, “About standardize rule sets,” on page 185
Rule 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


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 41
Organize 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 42
When 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 One for each country
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.

36 WebSphere QualityStage User Guide


Category Description Number of Rule Sets
Domain-Specific For a specific country, standardizes Three for each country
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.
Validation For a specific country, standardizes Four, for USA only
and validates the format and value of
common business data including:

Phone Number

Tax ID or Social Security Number

E-mail Address

Date

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 25
From 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


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


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 42
When 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


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 47
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.
Related tasks
“Configuring the Standardize stage job” on page 42
When 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


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


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 35
The 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


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 39
Literals are symbols or abbreviations that are entered when the value is missing in the record.
Chapter 13, “Describing rule set files,” on page 175
Rule 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


“Creating the Standardize stage job” on page 35
The 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 41
Organize 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 10
You configure the Sequential file as the source data file.
“Configure the Mapping tab” on page 17
Specifies 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
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


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.
Click Load to open the Table Definitions window.
f.
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


“Configuring the source data file” on page 10
You 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 39
Literals 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


48 WebSphere QualityStage 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 2
The 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 61
The 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


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 35
The 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 60
The Match specification provides the framework for cleansing data in the Reference Match stage.
“Configure the Mapping tab” on page 17
Specifies the columns that comprise an output report.
“Configuring the source data file” on page 10
You configure the Sequential file as the source data file.
“Configuring the Standardize stage job” on page 42
When 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


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


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


Related tasks
“Configure the Mapping tab” on page 17
Specifies the columns that comprise an output report.
“Setting up an Unduplicate Match job” on page 80
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.
“Set up the Reference Match job” on page 87
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.

Chapter 5. Generating frequency information 53


54 WebSphere QualityStage 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 3
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.
“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


“About blocking” on page 103
Blocking provides a method of limiting the number of pairs to examine.
Related tasks
“Reviewing total statistics” on page 76
The 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 99
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.

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


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 107
The 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 107
The 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


“Defining special variables” on page 62
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.

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 70
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.

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


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


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


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 50
You 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


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 49
The 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


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 57
The 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


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 104
The 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


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


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 113
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.

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


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


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


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 71
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.

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


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


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 58
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.

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


Related concepts
“Histogram and setting cutoff values” on page 109
The match cutoff is a composite weight above which records are considered to be reliably matched.
Related tasks
“Assigning match pass cutoffs” on page 68
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.

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


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


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


– 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 source
v 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
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


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 Pass
3. 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


78 WebSphere QualityStage 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 4
The 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


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 52
Running 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


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 17
Specifies 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


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


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


84 WebSphere QualityStage 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 4
The Reference Match stage matches reference data to source data using a variety of match processes.
“One-to-one matching examples” on page 100
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.
“Many-to-one matching examples” on page 100
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.
“Grouping records into sets” on page 101
The 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


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


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 source
Generally, 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 52
Running 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 17
Specifies 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


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


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


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 4
The 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 93
b. Set stage properties.
3. Compile the job.
4. Run the job.
Related tasks
“Setting up a survive job” on page 91
A 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 91
You need to configure the Survive stage and Sequential files before you run a Survive job.
“Defining simple survive rules” on page 92
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.
“Defining complex survive expressions” on page 93
To 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 17
Specifies the columns that comprise an output report.

90 WebSphere QualityStage 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 90
You 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


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 17
Specifies the columns that comprise an output report.
“Creating a survival record” on page 90
You 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


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 90
You 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


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 90
You 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


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


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


<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


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


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


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 85
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.

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


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 85
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.

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


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 85
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.

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


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


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


– 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


“Specify blocking variables” on page 64
Blocking 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


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


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 57
The m probability reflects the error rate for the column.
“Using random probability” on page 57
The 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


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


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 71
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.

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


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


112 WebSphere QualityStage 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


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


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


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


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


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


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


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


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


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


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


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


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


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


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
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


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 123 299 B
(4)
reference interval (5) and 124 298 B
(6)

Chapter 11. Match comparisons 129


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


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


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


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


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


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


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


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


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


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


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


(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


– 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


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


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


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


– 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


– 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


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


– %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


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


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


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


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


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
– text
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 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


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


– 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
– text
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

156 WebSphere QualityStage 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


The following diagram shows the generate options available for the different data types.

Cycle Value
String Algorithm
Alphabet String

Increment
Cycle Initial value
Limit
Date Random Limit
Epoch Seed
Percent invalid Signed
Use current date

Increment
Cycle Initial value
Limit
Time
Random Limit
Scale factor Seed
Percent invalid Signed

Increment
Cycle Initial value
Limit
Timestamp
Random Limit
Epoch Seed
Percent invalid Signed
Use current date
Increment
Cycle Initial value
Limit
Integer
Limit
Random Seed
Signed
Increment
Cycle Initial value
Limit
Decimal
Random Limit
Percent zero Seed
Percent invalid Signed
Increment
Cycle Initial value
Limit
Float Limit
Random Seed
Signed

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


– 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


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


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


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


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


Record delimiter

Field 1 , Field 1 , Field 1 , Last field nl

Final Delimiter = end


Field Delimiter

Field 1 , Field 1 , Field 1 , Last field nl

Final Delimiter = comma


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)
– null
To 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


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


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


– 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


– 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


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


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


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


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


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


174 WebSphere QualityStage 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 13
Word investigation provides prebuilt rule sets for investigating patterns on names and postal
addresses.
Related tasks
“Configuring the Standardize stage job” on page 42
When you configure the Standardize stage, you apply a rule set to one or more columns.
Related information
Chapter 3, “Managing rule sets,” on page 23
You 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


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


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


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


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


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 26
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.

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


< 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


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


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


184 WebSphere QualityStage 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 7
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.
Chapter 4, “Conditioning data,” on page 35
Standardizing 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


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


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


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


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


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


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


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


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


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


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


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


John_Smith@abccorp.com John_Smith 1
abccorp 2
com 3
kjones@example.org 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


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


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


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


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


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


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


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 IO IOT
TERRITORY
BRUNEI DARUSSALAM BN BRN
BULGARIA BG BGR
BURKINA FASO BF BFA
BURUNDI BI BDI

© Copyright IBM Corp. 2004, 2006 203


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 CD COD
REPUBLIC OF THE
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


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 HM HMD
ISLANDS
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 KP PRK
REPUBLIC OF

Chapter 15. ISO territory codes 205


Territory or Region Two- Character Three- Character
KOREA, REPUBLIC OF KR KOR
KUWAIT KW KWT
KYRGYZSTAN KG KGZ
LAO PEOPLE’S DEMOCRATIC LA LAO
REPUBLIC
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 MK MKD
YUGOSLAV REPUBLIC OF
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 FM FSM
OF
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


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 VC VCT
GRENADINES
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


Territory or Region Two- Character Three- Character
SOMALIA SO SOM
SOUTH AFRICA ZA ZAF
SOUTH GEORGIA AND THE GS SGS
SOUTH SANDWICH ISLANDS
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 SJ SJM
ISLANDS
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 UM UMI
OUTLYING ISLANDS
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


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 47
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.
“Country code delimiters” on page 185
The 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 45
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.

Chapter 15. ISO territory codes 209


210 WebSphere QualityStage 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


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 comments@us.ibm.com. 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


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


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


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


216 WebSphere QualityStage User Guide
Index
Special characters CHAR comparison 115
character concatenate investigate 7
composite weights
about 109
<AllColumns >, surviving entire character discrete investigate 7 histogram 109
record 91 Character investigate 10 setting cutoff values 109
Character investigation CONCAT variable 62
column masks 12 CONCAT vartype 111
A setting up 11 Conditional Data Source Value (AV) 66
ABS_DIFF comparison 114 charts Conditional Reference Source Value
accessibility 212 Cumulative Statistics 77 (BV) 66
action codes 31 Pass Statistics 76 configuration information in Match
adding domain pre-processor literals 42 Classification table 178 Designer 62
address matching Classification tables 13 configure
examples 100 CLERICAL [MISSINGOK] vartype 111 Investigate stage 10
advanced tab clerical cutoff 58 Survive stage 91
Stage page 137 Clerical Cutoff 68 Configure window 61
Advanced tab Input page 161 change values 71 Console for WebSphere Information
Advanced tab Ouput page 172 Clerical Cutoff point, locate 71 Server
advanced tab, stage page 137 CLERICAL MISSINGOK variable 62 running reports 21
agreement weight 58 Clerical output option 86 contacting IBM 211
Agreement Weight (AW) 66 CLERICAL variable 62 country identifier rule set 47
aligning CNT_DIFF comparison 116 Country Identifier rule set 185
data display of columns 69 Column Details window 68 delimiter 185
AN_DINT 114 column estimates 108 creating
AN_DINT comparison 114 Column Mask Selection window 11 match specifications 56
AN_INT comparison 115 column masks 12 creating simple survive rules 92
analyzes free-form columns 2 changing 12 CRITICAL [MISSINGOK] vartype 111
columns CRITICAL MISSINGOK 62
aligning data display in Match CRITICAL Variable 62
B Designer 69
Columns tab 170
Cumulative Statistics chart 77
Current Data Selection bar 71
Baseline Run 75 columns tab, Input page 149 current record 94
best record 94 comments on documentation 212 cutoff weights 108
birthdate, blocking on 104 comparison cutoffs
block overflow 55, 104 Reference match 64 about setting 109
block size considerations 103 comparisons 114, 122 assigning for match pass 68
blocking ABS_DIFF 114 clerical 68
about 55 AN_INTERVAL 115 Match 68
block size considerations 103 CHAR 115
on birthdate 104 CNT_DIFF 116
on event dates 104
on individual ID numbers 104
D_INT 116
D_USPS 117
D
on names 104 D_INT comparison 116
DATE8 118
on postal addresses 104 D_USPS comparison 117
DELTA_PERCENT 118
overview 102 Data Display Alignment window 69
DISTANCE 119
strategies 104 Data Duplicate output option 86
INT_TO_INT 119
blocking columns 59 Data flag table 193
INTERVAL_NOPAR 120
blocking records 3 Data Residual output option 86
INTERVAL_PARITY 121
blocking strategies data sets
LR_CHAR 121
examples 106 sample data for Match Designer 61
MULT_EXACT 123
setting up 106 data source 99
MULT_RANGE 123
blocking strategy 56 Data Source Missing Weight (AM) 66
MULT_UNCERT 124
blocking variables data types
NAME_UNCERT 124
best 104 date 144
NUMERIC 125
blocks, creating smaller 56 decimal 144
PREFIX 125
Both Missing Weight (XM) 66 default 144
PRORATED 125
Business intelligence columns 192 string 144
TIME 126
DATE8 comparison 118
UNCERT 127
dates
USPS 128
C USPS_DINT 128
blocking on 104
DB2 partition properties 141
change values USPS_INT 130
default parsing parameters 194
match cutoff 71 composite weight 58
defining simple survive rules 92

© Copyright IBM Corp. 2004, 2006 217


delimiter
address 39
E international address files 44
INTERVAL_NOPAR comparison 120
area 39 evaluate records 94 INTERVAL_PARITY comparison 121
name 39 evaluating test passes Investigate Advanced Options
delimiter name 186 steps 72 window 11, 13
delimiters for domain-preprocessor rule event dates, blocking on 104 Investigate stage
sets 38 examples advanced options for Word
Delta column file unduplicate 102 investigation 14
clerical pairs 75 individual matching 100 changing column mask 12
EXACT matched pairs 75 many-to-one matching 100 character concatenate investigate 7
matched pairs 75 character discrete investigate 7
DELTA_PERCENT comparison 118 Character investigation, setting up 11
Dependent match type 81 F configure 10
Dictionary 192 Field defaults 143 create a token or pattern report 8
Dictionary file field type definitions 177 creating reports 20
business intelligence column 192 file names frequency cutoff 14
columns 192 domain specific 191 Investigate Advanced Options
format 176 file unduplicate 102 window 11, 13
matching columns 192 fine-tune the match 70 Investigation reports 18
reporting columns 192 format tab, Input page 141 ordering links 16
Disagreement Weight (DW) 66 frequency cutoff 14 overview 7
DISTANCE comparison 119 frequency distribution 49 parses single-domain columns 2
documentation frequency information 61 pattern report 19
accessible 212 preparing for use 50 removing column from
ordering 211 viewing in Match Designer 68 investigation 12
Web site 211 frequency information, prepare 52 reports 19
domain pre-processor literals Frequency/Weight histogram set up Word investigation 13
adding 42 adjusting cutoffs 71 setting stage properties 16
domain pre-processor rule sets change values 71 setting up job 9
about 37 stage properties 16, 17
delimiters 38 token report 19
Domain Pre-Processor rule sets 186
domain preprocessor rule sets
G tokens 13
Word investigation
add text override 27 General tab 135 using 8
Domain Preprocessor rule sets Byte order 166 Investigate Stage
add a pattern override 26 Data format 166 Column Mask Selection window 11
change a token override code 26 general tab, Input page 139 column masks 12
column pattern override 26 general tab, Output page 162 pattern reports 14
column text override 27 group records with common Investigation reports
input pattern override 26 attributes 79 pattern 19
input text override 27 running reports 21
domain-preprocessor token 19
preparing input data 38 H Investigation reports, types of 18
domain-preprocessor rule set 186 Holding Area, using 69 Investigation reportscreating reports 20
Dictionary file 188 ISO territory or region codes 203
domain-preprocessor rule sets
domain columns 188
I
domain mask 189
naming conventions 188 ID numbers, blocking on 104 L
Independent match type legal notices 213
reporting columns 188
example 81 Level Number field 149
upgrading 189
Information Server for Web console link ordering 16
user flag descriptions 189
Investigation reports 18 link ordering tab, stage page 138
why use 186
input date formats 194 literals
domain-proprocessor rule sets
Input page 139 adding with domain pre-processor
preparing input data 38
columns tab 149 rule sets 42
domain-specific file names 191
Field defaults 143 inserting in input records 39
domain-specific rule set
format tab 141 lookup tables 183
test 33
general tab 139 LR_CHAR comparison 121
domain-specific rule sets 39
partitioning tab 139 LR_UNCERT 122
input text override 29
properties tab 139 LR_UNCERT comparison 122
override object types 29
unhandled text override 29 Record level 142
domain-specific rules sets 191 input pattern override 28
Duplicate 68 input text and unhandled text override M
add 29 m probability
Inputs page 138 about 107
inserting literals in input records 39 error rate 57
INT_TO_INT comparison 119

218 WebSphere QualityStage User Guide


m-probability Match Designer (continued) Match specifications (continued)
specify in Match Designer 64 test results database 61 sample data 61
many-to-one duplicates match type 85 Test Results table 69 specify weight overrides 66
many-to-one match type 85 Test Results table about 74 specifying sample data sets 61
many-to-one matching Test Results table sorting 73 testing match passes 70
examples 100 testing match passes 70 updating configuration
many-to-one multiple match type 85 Total Statistics page 76 information 62
map output columns 172 view frequency information 68 variables 62
mapping output columns viewing total statistics for all Match stage
Investigate stage 17 passes 76 compute a weight 58
Mapping tab 171 Match Designer specification master records 58
Mapping tab, configure 17 preparation for 59 Match stages
master record 58 Match Frequency stage workflow 3
selecting 101 about 49 match test
Match Blocking Specification configure 51 run 108
window 64 linking 49 match type
Match Command window 64 match specification 51 select for Reference Match stage 87
match comparisons 113 overview 49 match types
vectors 57 saving output table definition 52 many-to-one duplicates match
Match commands 64 setting up job 50 type 85
specify m-probability 64 specify maximum frequency many-to-one match type 85
specify u-probability 64 entries 51 many-to-one multiple 85
specify weight overrides 66 workflow 3 one-to-one match types 85
Match Cutoff 68 Match output option 86 Match Weights window 74
change values 71 match outputs matching
Match Cutoff point, locate 71 selecting for Reference Match 87 about 56
match cutoffs 58 selecting for Unduplicate Match 81 about algorithm 110
Match Designer 3, 61, 68 match pairs, grouping by 73 about setting cutoff values 109
assign pass cutoffs 68 Match pass about weights 107
assigning variables 62 set overflow values 71 block overflow 104
blocking variables 64 Match Pass blocking strategies 104
Clerical Cutoff 68 creating charts for all passes 77 composite weights 109
configuring Match specifications 61 printing charts 77 data source 99
creating charts for all passes 77 testing match passes 70 overview of concepts 99
Cumulative Statistcs chart 77 match passes reference source 99
Current Data Selection bar 71 clerical cutoff 71 reverse matching 110
displaying charts for single Match cutoffs selecting variables 106
Pass 76 adjusting with Frequency/Weight matching algorithm 110
displaying pass statistics 75 histogram 71 matching columns 59, 192
displaying residuals 73 Match passes matching methods 100
Duplicate Cutoff 68 assigning cutoffs 68 matching records 3
evaluating pass results 72 displaying statistics 75 matching strategy 56, 57
frequency information 61, 108 evaluating results 72 u probability 57
frequency information, preparing 50 Holding Area, about 69 matching variables 106
Frequency/Weight histogram 71 Overflow A 68 rules 106
Holding Area 69 Overflow B 68 matrix of weights 101
Match Command window reviewing statistics 75 maximum overflow, set 68
match comparisons 113 match sets, grouping by 73 metadata description 37
Match Pass printing charts 76 match specification 111 minimum overflow, set 68
matches 52 Match specification MNS job, set up 45
open 60 provisioning 59 MNS stage
overview 55 Reference Match stage 60 configure 45
Pass Statistics chart 76 save 60 country identifier rule set 47
passes 52 Unduplicate Independent match 59 set up job 45
printing charts 77 Unduplicate match 59 standardization rules 44
Reference match comparisons 64 Unduplicate match specification MULT_EXACT comparison 123
residuals displaying in Test Results provisioning 59 MULT_RANGE comparison 123
table 73 view frequency information 68 MULT_UNCERT comparison 124
reviewing pass statistics 75 match specifications 110 multinational address
specify m-probability 64 about creating 56 override table 31
specify u-probability 64 using with Match Frequency multinational address verification
specify weight overrides 66 stage 51 WAVES stage 44
specifying sample data sets 61 Match specifications Multinational Standardization stage
Statistics area 75 configuring 61 See MNS stage 45
Statistics table 75 for Reference Match 87
Test Result table actions 73 frequency information 61
Test Results area 70 Holding Area 69

Index 219
N postal addresses, blocking on 104
PREFIX comparison 125
Reference Match stage (continued)
workflow 86
NAME_UNCERT comparison 124 preliminary steps Reference Residual output option 86
names, blocking on 104 Match Designer specification 59 reference source 99
New RuleSet window 23 preparing frequency information 50 Reference Source Missing Weight
NLS Locale tab 138 printing (BM) 66
NOFREQ variable 62 charts in Match Designer 76 reporting columns 192
NOFREQ vartype 111 process options for domain-specific rule Reporting Error fields 195
NOFREQ Vartype 57 sets 42 residual output 82
nulls 179 Properties tab 135 residuals 58
NUMERIC comparison 125 reset 135 reverse matching 110
NYSIIS code 104 properties tab, Input page 139 reverse matching, defining in match
Properties tab, Output page 162 specification 110
properties tree 135 Rule Expression Builder 93
O PRORATED comparison 125 Rule Management window 23
one-to-one match type 85 rule set editing 24
ordering links 16 rule overrides 36
output file 185 Q rule set
domain preprocessor rule set
Output page 162 QualityStage
Columns tab 170 test 32
classify pairs 102
general tab 162 test 32
Mapping tab 171 Rule set
Properties tab 162 copy a rule set 23
Overflow A 68 R override object types 24
Overflow B 68 random probability 57 rule set description file 183
overflow, set 68 range partition properties 141 Rule set editor
Override Code column 31 readers’ comment form 212 selecting 34
override object types 183 record linkage rule set file architecture
override object types for customizing rule about weights 107 benefits 175
sets 24 overview 99 rule sets
overrides record linkage process Classification tables 13
copy 31 classify pairs 102 country code delimiters 185
delete 32 record linkage system 99 country identifier 47
Overrides window Record Type column 74 domain pre-processor 37, 42
modifying 32 Reference Duplicate output option 86 Domain Pre-Processor 36
overview Reference match domain preprocessor 186
blocking 102 comparison types 64 reporting columns 188
Investigate stage 7 Reference Match domain specific 39, 42, 191
matching concepts 99 align columns for data dispaly 69 Domain Specific 36
record linkage 99 blocking variables, adding 64 domain-preprocessor delimiters 38
Rule sets 175 combined blocking columns sort 73 naming conventions 191
Standardize stage 35 multiple columns sort 73 provisioning 24
unduplicate 101 Reference match specification upgrading 190
weights 107 provisioning 60 validation 39
overview of Reference Match stage 4 Reference Match stage 100 Validation 36
overview of the Unduplicate Match about 85 VDATE 194
stage 4 Clerical output option 86 Rule sets 175
Overview tab 72 configure 87 creating new 23
Data Duplicate output option 86 rules
Data Residual output option 86 apply to Survive stage 94
P how to use 86
many-to-one duplicates match
syntax examples 95
rules management
partitioning tab, Input page 139 type 85 provisioning rule sets 24
Pass Statistics chart 76 many-to-one match type 85 Rules management
pattern matching many-to-one multiple match type 85 overrides
concepts 180 Match output option 86 copy 31
pattern matching process match outputs, select 87 Rules Management
nulls 179 Match specification 87 overrides
pattern override match type, select 87 modifying 32
add 28 match types 85 rules management window
pattern report one-to-one match types 85 tester 33
Column Name 19 output options 86 Rules Management window 23, 25
Count 19 overview 4, 85 overrides 25
Percent 19 Reference Duplicate output deleting 32
Sample 19 option 86 rule set editor 34
Word investigation 14 Reference Residual output option 86 tester 32
pattern-action file 179, 190 set up 87 runtime column propagation 170
pattern-action file structure 182

220 WebSphere QualityStage User Guide


S Standardize stage (continued)
domain-specific override object
Test Results table (continued)
list of actions 73
sample data for Match specification 61 types 29 sorting, about 73
Save Match Pass Definition As 63 international address files 44 text override
screen readers 212 literals, inserting in input records 39 add an override 27
Search Data window 72 override rules 25 change an override 27
Selected Data handle 71 overview 35 threshold weights 179
selecting match types 81 rule sets 36 TIME comparison 126
set up setting up 41 token classes 13
Character investigation 11 using 36 token report
investigate job 9 workflow 2 Classification Code 19
Set up a job statistics Count 19
Unduplicate Match 80 displaying for Match pass 75 Word 19
SetID column 74 reviewing for match pass 75 tokens 180
setting stage properties Statistics area in Match Designer 75 Total Statistics page 76
Investigate stage 16 Statistics tab 72 Total Statistics tab 72
setting up displaying charts 76 displaying charts 77
Match Frequency job 50 printing charts 76 printing charts 77
setting up a Survive job 91 Statistics table trademarks 215
sorting conditions for Test Results baseline run 75
table 73 STEPLIST 180
Soundex code 104
source data
strategies for blocking 104
STRIPLIST 180
U
preparation 5 u probability
survival record 89
source unduplicate 102 about 57, 107
Survive Rules Definition window 91, 92,
specifications. See Match u-probability
93
specifications 68 specify in Match Designer 64
survive rules, creating simple 92
specifying advanced options for word UNCERT comparison 127
Survive stage
investigations 14 unduplicate
<AllColumns > 91
specifying frequency information for about 101
apply rules 94
Match Designer 61 unduplicate match
configure 91
specifying output columns in Survive blocking variables, adding 64
defining simple survive rules 92
stage 91 Unduplicate Match 74
overview 89
specifying values for match pass Record Type columns 74
requirements 89
cutoffs 68 SetID columns 74
Rule Expression Builder 93
stage editor interface 131 Weight columns 74
rule processing 94
stage page 135 Unduplicate Match stage 3
selecting the best candidate 89
Stage page 16 about 79
set up a job 91
advanced tab 137 configure 81
specifying output columns 91
Investigate stage 16 data source types 79
survived record, creating 90
link ordering tab 138 dependent match type 81
using Techniques 92
Properties tab 135 frequency information, preparing 50
Survive stage workflow 4
stage properties independent match type 81
survived record, creating 90
Stage page 16 map output columns 172
Stage properties Match specification 81
NLS Map tab 138 overview 4, 79
Stage Properties 17 T selecting match outputs 81
General tab 135 table definitions setting up job 80
NLS Locale tab 138 saving for Match Frequency 52 Unduplicate Match Stage
Properties tab 136 Table Definitions workflow 79
properties tree 135 select 60 Unduplicate Match stage output options
stage validation errors 134 table of WebSphere DataStage stage Clerical 82
stages types 131 Clerical output option 82
Standardize 41 Techniques, using for simple survive Duplicate 82
Standardization rules 92 Match 82
tokens 180 test results 70 Residual 82
standardize domain-preprocessor rule Test Results area unhandled pattern override 28
sets Current Data Selection handle 71 using Techniques for simple survive
override object types 27 displaying 70 rules 92
standardize international address files Frequency/Weight histogram 71 USPS comparison 128
MNS stage 44 minimizing 70 USPS_DINT 128
WAVES stage 44 Test Results table 74 USPS_INT comparison 130
standardize processes, changing 42 test results database 61
Standardize Rule Process window 39 Test Results table
Standardize rule sets 185 about 74
aligning display of columns 69
V
Standardize stage validation errors 134
configuring 42 displaying residuals 73
grouping by match sets 73

Index 221
Validation file weights
naming convention 193 about 58
validation rule set definition of 109
test 33 discriminating power 107
validation rule sets 39 overview 107
override table 30 windows
Validation rule sets 193 checking expression syntax in Survive
validation rules sets stage 93
error reporting 199 Column Details 68
variables 62 Column Mask Selection 11
CLERICAL 62 Configure 61
CLERICAL MISSING OK 62 Data Display Alignment 69
CONCAT 62 Investigate Advanced Options 11, 13
CRITICAL MISSINGOK 62 Match Blocking Specification 64
defining special properties 111 Match Command 57, 64
NOFREQ 62 Match Weights 74
Variables (Variable Special Handling) Save Match Pass Definition As 63
window 62 Search Data 72
VARTYPE statement Standardize Rule Process 39
CLERICAL [MISSINGOK] 111 Survive Rules Definition 91, 92, 93
CONCAT 111 Survive stage
CRITICAL [MISSINGOK] 111 checking expression syntax 93
NOFREQ 111 syntax, checking in Survive stage 93
Vartypes Variables (Variable Special
NOFREQ 57 Handling) 62
VDATE rule set 194 Weight Overrides 66
vectors 57 Word investigate 10
VEMAIL Word investigation
default parsing parameter 196 advanced options 14
parsing parameters 196 pattern reports 14
VEMAIL rule set 196 set up 13
visual cues 134 using 8
VPHONE rule set 197 workflow
VTAXID rule set 199 Investigate stage 2
Reference Match stage 86
Survive stage 4
W Unduplicate Match stage 79
WebSphere QualityStage 1
WAVES job, set up 45
WAVES rule sets
override table 31
WAVES stage
configure 45
set up job 45
verify worldwide addresses 44
Web console for WebSphere Information
Server
creating Investigation reports 20
WebSphere DataStage
stage page 135
WebSphere QualityStage
Investigate 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 jobs
set up
Investigate stage 9
WebSphere QualityStage reports 19
Weight column 74
weight overrides 66, 67
Weight Overrides window 66
changes calculated weights 67

222 WebSphere QualityStage User Guide




Printed in USA

SC18-9922-00
Spine information:

IBM WebSphere QualityStage Version 8 WebSphere QualityStage User Guide