Table of Contents

Search

  1. Preface
  2. Introduction
  3. Installation
  4. Design
  5. Operation

Syntax

Syntax

Flattening is enabled by defining
  • the layout of the denormalized (joined) data,
  • the layout of the IDT including the maximum number of occurrences for repeating fields,
  • the columns used to determine how to group denormalized data (Flattening-Keys), and
  • Flattening-Options.
When flattening is enabled, the input must be read and processed using
LOADIT
. Do not schedule any utilities that read the input more than once. For example, using a
PRE
or
SORTIT
step will run flattening multiple times, producing incorrect results.

IDT-Definition

The
Denormalized-View
keyword is used to define the name of the View that provides the layout of the denormalized data. The denormalized data can be read from either a flat-file or UST. If read from a flat-file, you must provide a
View-Definition
. If the data is sourced from USTs, a
View-Definition
is generated automatically from the
User-Source-Tables
section. The generated view’s name is the IDT name, suffixed with "
-DENORM
".
The
Flatten-Keys
keyword is used to define the columns used to group denormalized rows. The denormalized data is sorted by the
Flatten-Keys
and all rows with the same key value are packed into the same flattened row. Refer to the
Flattening Process
section for details.
The
Options
keyword in the
IDT-Definition
is used to specify various flattening options that affect how data is packed into the repeating groups. Refer to the
Flattening Options
section for details.
For example,
IDT-Definition *============= NAME= IDT112 DENORMALIZED-VIEW= IDT112-DENORM FLATTEN-KEYS= "EmpId" OPTIONS= Flat-Remove-Identical

IDT Layout

The IDT layout can be provided as a File-Definition (when sourcing from a flat-file) or from the User- Source-Table section when sourcing from USTs. The IDT layout must be identical to the Denormalized- View (same column names, types, and order) with the exception that some columns are defined to repeat.
Repeating fields are defined by immediately following the target-field name with [
n
] where
n
represents the maximum number of occurrences for a repeating field.
For example,
Section: User-Source-Tables Create_Idt IDT112 sourced_from odb:99:ssa/ssa@ora817 Employee.EmpId EmpId, Employee.Name Name, Address.CompanyId CompanyId [6], Address.Address Address [6], Phone.Num Phone [6] join_by Employee.EmpId = Address.EmpFK, Address.CompanyId = Phone.CompanyId ;

0 COMMENTS

We’d like to hear from you!