Datastage JPY Tutorial

246
Ascential DataStage サーバージョブチュート リアル サーバージョブチュート リアル サーバージョブチュート リアル サーバージョブチュート リアル Version 7.0 August 2003 Part No. 00D-012DS70

description

datastage 7.5 tutorial

Transcript of Datastage JPY Tutorial

Page 1: Datastage JPY Tutorial

Ascential DataStage

サーバージョブチュート リアルサーバージョブチュート リアルサーバージョブチュート リアルサーバージョブチュート リアル

Version 7.0August 2003Part No. 00D-012DS70

Page 2: Datastage JPY Tutorial

発行 Ascential Software Corporation

© 2003 Ascential Software Corporation. All rights reserved. Ascential、DataStage、QualityStage、AuditStage、ProfitStage、MetaStageは Ascential Software Corporationまたはその関連会社の商標であり、米国およびその他の国で登録されています。WindowsはMicrosoft Corporationの商標です。Unixは The Open Groupの登録商標です。Adobeおよび Acrobatは Adobe Systems Incorporatedの登録商標です。その他のマークは、各マークの所有者の財産です。

本製品は、Ascential Software Corporationが提供している、またはここに含まれているユーザードキュメントに服するサードパーティコンポーネントを含んでいる、または使っていることがあります。

ドキュメンテーションチーム : Mandy deBelin

Page 3: Datastage JPY Tutorial

目次

はじめにはじめにはじめにはじめに

DataStage チュート リ アルへよ う こそ ........................................................... vii作業を開始する前に .................................................................................. viiiこのマニュアルについて .............................................................................. ixマニュアルの表記ルール ............................................................................... xユーザーインターフェースの表記 .......................................................... xii

DataStage のドキュ メン ト ........................................................................... xii

第 1 章第 1 章第 1 章第 1 章 DataStageの紹介の紹介の紹介の紹介

プロジェク ト .......................................................................................... 1- 1ジ ョブ .................................................................................................... 1- 1ステージ ................................................................................................. 1- 3

サーバーコンポーネン ト .......................................................................... 1- 4

ク ラ イアン ト コンポーネン ト .................................................................. 1- 5

DataStage マネージャ ......................................................................... 1- 5

DataStage デザイナ ............................................................................ 1- 6

DataStageディレク タ ......................................................................... 1- 6

DataStage アド ミ ニス ト レータ ............................................................ 1- 7

国別情報サポート (NLS) ........................................................................... 1- 7

文字セッ ト マップおよび国別情報 ...................................................... 1- 7

DataStage 用語と概念 ............................................................................... 1- 8

第 2章 作業の開始第 2章 作業の開始第 2章 作業の開始第 2章 作業の開始

データ モデル ......................................................................................... 2- 2

スター スキーマ ................................................................................ 2- 5

ファ ク ト テーブル ............................................................................. 2- 6

ディ メンシ ョ ン テーブル ................................................................... 2- 7

時間ディ メンシ ョ ン テーブル ............................................................ 2- 8

データ ソース と ターゲッ トのタイプ ......................................................2- 10ODBC データ ...................................................................................2- 11

目次 iiiiiiiiiiii

Page 4: Datastage JPY Tutorial

順ファイル データ ............................................................................2- 12ダイレク ト アクセス データ ..............................................................2- 13DataStage ジ ョブからのデータへのアクセス .......................................2- 14

サンプル データのインス トール ..............................................................2- 15テキス ト ファ イル ............................................................................2- 17SQL スク リプ ト ファ イル .................................................................2- 18サンプル データベース テーブルの作成 .............................................2- 20

SQL スク リプ トの実行 .....................................................................2- 21

DataStage エクスポート ファ イル ......................................................2- 25

エクササイズのロードマップ ..................................................................2- 28

第 3章 サンプル ジ ョブ第 3章 サンプル ジ ョブ第 3章 サンプル ジ ョブ第 3章 サンプル ジ ョブ

Exercise1: サンプル ジ ョブの参照と実行 ................................................... 3- 3

DataStageデザイナ ............................................................................ 3- 3

DataStage デザイナの起動 .................................................................. 3- 3

[DataStage デザイナ ] ウ ィ ンド ウ ........................................................ 3- 6

サンプルジ ョブのオープン ................................................................3- 11サンプル ジ ョブのレイアウ ト ...........................................................3- 12ジ ョブ ステージの設定の参照 ...........................................................3- 12ジ ョブのコンパイル .........................................................................3- 23

DataStage ディレク タの起動 ..............................................................3- 24

ジ ョブの検証と実行 .........................................................................3- 25

ま とめ ...................................................................................................3- 28

第 4章 データ変換第 4章 データ変換第 4章 データ変換第 4章 データ変換

Exercise2: 順ファイルへのデータ ロード ................................................... 4- 3

ジ ョブのデザイン .............................................................................. 4- 4

ジ ョブ ステージの設定 ...................................................................... 4- 8

ジ ョブのコンパイル .........................................................................4- 16ジ ョブの検証と実行 .........................................................................4- 16

Exercise3: リ レーシ ョナル データベースへのデータ ロード .......................4- 19Exercise4:独自ジ ョブの作成 ....................................................................4- 27

Exercise5: 時間ディ メンシ ョ ンのロード ...................................................4- 28

ま とめ ...................................................................................................4- 34

第 5章 複数ソースの処理第 5章 複数ソースの処理第 5章 複数ソースの処理第 5章 複数ソースの処理

Exercise6: 複数ソース と複数ターゲッ トの使用 .......................................... 5- 2

iviviviv Ascential DataStage サーバージ ョブチュート リ アル

Page 5: Datastage JPY Tutorial

Exercise7: データ集計 .............................................................................5- 11ま とめ ...................................................................................................5- 15

第 6章 独自メ タデータの使い方第 6章 独自メ タデータの使い方第 6章 独自メ タデータの使い方第 6章 独自メ タデータの使い方

DataStage マネージャ ............................................................................... 6- 2

マネージャの起動 .............................................................................. 6- 2

[ マネージャ ] ウ ィンド ウ .................................................................. 6- 3

Exercise8: リ レーシ ョナル データベース テーブルからのメ タデータ作成 .... 6- 5

Exercise9: 手動によるテーブル定義の作成 ................................................. 6- 8

列定義の入力 .................................................................................... 6- 9

ファ イル フォーマッ トの設定 ...........................................................6- 11Exercise10: ジ ョブでのメ タデータの使用 ..................................................6- 12ま とめ ...................................................................................................6- 13

第 7章 ジ ョブのデバッグ第 7章 ジ ョブのデバッグ第 7章 ジ ョブのデバッグ第 7章 ジ ョブのデバッグ

Exercise11: ジ ョブ デザイン デバッガの使用 ............................................. 7- 1ジ ョブの作成 .................................................................................... 7- 1デバッガの実行 ................................................................................. 7- 3

ま とめ .................................................................................................... 7- 8

第 8章 複数値ファイルでの作業第 8章 複数値ファイルでの作業第 8章 複数値ファイルでの作業第 8章 複数値ファイルでの作業

Exercise12: 複数値ファイル定義のインポート ............................................ 8- 1複数値ソース ファ イル サンプルの作成 .............................................. 8- 1メ タデータの作成 .............................................................................. 8- 3

Exercise13: 複数値ファイルからのデータ抽出 ............................................ 8- 4

ま とめ .................................................................................................... 8- 9

第 9章 コンテナ第 9章 コンテナ第 9章 コンテナ第 9章 コンテナ

ローカルコンテナ .................................................................................... 9- 2

Exercise 14: ローカルコンテナの構築 ........................................................ 9- 2

ローカルコンテナの取り外し ............................................................. 9- 8

サーバー共用コンテナ ............................................................................9- 10Exercise 15: サーバー共用コンテナの構築 .................................................9- 11共用コンテナの内容を参照 ................................................................9- 14

Exercise 16: ジ ョブで共用コンテナを使う .................................................9- 15ま とめ ...................................................................................................9- 18

目次 vvvv

Page 6: Datastage JPY Tutorial

第 10章 ジョブシーケンス第 10章 ジョブシーケンス第 10章 ジョブシーケンス第 10章 ジョブシーケンス

Exercise 17: ジ ョブシーケンスの作成 .......................................................10- 2

ま とめ ...................................................................................................10- 8

第 11 章 国別第 11 章 国別第 11 章 国別第 11 章 国別言語サポート言語サポート言語サポート言語サポート

DataStage での国別言語サポート .............................................................11- 1Exercise18: 異なる文字セッ トへの変換 .....................................................11- 2

Exercise19: 列ごとのマッピング ...............................................................11- 7

Exercise20: 異なる国別情報に基づく ソート ............................................ 11- 12ま とめ ................................................................................................. 11- 16

第 12章 その他の機能第 12章 その他の機能第 12章 その他の機能第 12章 その他の機能

ト ランザクシ ョ ン処理 ............................................................................12- 1ト ランスフォーム ...................................................................................12- 2

ビルト イン変換 ................................................................................12- 2

カスタム変換 ...................................................................................12- 2

プラグイン ステージ ..............................................................................12- 3

BCPLoad ステージ ............................................................................12- 4

Orabulk ステージ ..............................................................................12- 4

パッケージャ ウ ィザード ........................................................................12- 5

ジ ョブ デザイン レポート .......................................................................12- 6

使用状況分析レポート ............................................................................12- 8

第 13章 まとめ第 13章 まとめ第 13章 まとめ第 13章 まとめ

DataStage の主な機能 ..............................................................................13- 1エクササイズの復習 ...............................................................................13- 1

付録 A. サンプル データ定義付録 A. サンプル データ定義付録 A. サンプル データ定義付録 A. サンプル データ定義

索引索引索引索引

vivivivi Ascential DataStage サーバージ ョブチュート リ アル

Page 7: Datastage JPY Tutorial

はじめにはじめにはじめにはじめに

このガイ ドでは DataStage ツールセッ トの複数の機能について説明し、データ ウェアハウス構築でのシンプルなデータ抽出とデータ変換の例を提供します。 このガイ ドは、 DataStage ツールの評価と典型的な使い方の検証を行うシステム アド ミニス ト レータおよびアプリケーシ ョ ン開発者向けに編集してあり ます。

データウェアハウス構築のコンセプ トについてあま り詳し くない方は、『DataStage デザイナ ガイ ド』 の第 1章と第 2章を読んで、 概要をつかんでください。

注意 :注意 :注意 :注意 : このチュート リアルは、 サーバージ ョブ、 つま りサーバー上で実行するジ ョブの作成および実行方法を説明します。 パラレルジ ョブやメ インフレームジ ョブなど、 DataStageで使用できるほかのタイプのジ ョブもあ り ます。 詳細については 『DataStageデザイナ ガイ ド』 を参照してください。

このガイ ドはタスクごとに編成されています。 まず導入部分となる説明および単純な例から始ま り、 よ り複雑なタスクへと進行します。 このガイ ドは DataStageの正式な ト レーニングに代わるものではなく、 DataStageの概要と機能の紹介を目的にしています。 添付された CD にはこのガイドで使うサンプルが含まれています。

DataStageDataStageDataStageDataStage チュート リアルへよう こチュート リアルへよう こチュート リアルへよう こチュート リアルへよう こそそそそDataStage をご導入、 あるいはご検討いただきあ りがと う ございます。DataStage で、 プロジェク ト をよ り容易に実現するこ とが可能になり ます。 このチュート リアルでは、 典型的なデータマート抽出と変換に関する幾つかのシンプルな例を実際に検証します。 それによって DataStage の機能を紹介し、 適切なツールを使って、 一般的なデータ ウェアハウス構築がどれほど容易に実現できるかをご覧いただきます。

作業の開始と と もに、Adobe Acrobat Reader で DataStage ドキュ メン ト を開き、 このガイ ドに記載されている ト ピッ クに関するよ り詳細な情報を参照するこ とが可能です。 このガイ ド読者への便宜と して、 該当する DataStage ドキュ メン ト を参照情報と して記載してあ り ます。

はじめに vii

Page 8: Datastage JPY Tutorial

このガイ ドでは DataStage ツールの機能の例を実際に検証します。 具体的には以下の基本事項を説明します。

・ 多様なデータソースからの抽出の設定と実行・ フィールド レベルおよび行レベルのトランスフォームの作成・ 選択したターゲットへデータをロードするためのジョブ作成とコンパイル

このガイ ドの目的は DataStage とその能力をご理解いただき、 適切な評価による最適なデータマート ツールを選択していただく こ とです。

このガイ ドは DataStage を使って作業を進行するための、 基礎的なデータベース コンセプ トおよび用語に関する知識を前提にしています。 このガイ ド全体を通して多数の情報を提供するため、 例えば、 プライマ リ キーと外部キーの違いなどの初歩的な説明に時間を費やさないよ うにしています。 データベースに関して高度な知識を持つ読者には、 このガイ ドの内容の一部は情報の確認にすぎないと感じるかも知れません。 またデータベースの初歩にある読者には、 エクササイズの実行について経験豊富なデータベース ユーザーのサポートが必要な場合もあ りえます。

注意 :注意 :注意 :注意 : このチュート リ アルの画面例は、 サーバージ ョブだけをサポートする DataStage インス ト レーシ ョ ンで表示される画面です。DataStage/390 と DataStage Parallel Extender をインス トールした場合は、 画面例と実際の画面とは多少異なる点があ り ます。

作業を開始する前に作業を開始する前に作業を開始する前に作業を開始する前にチュート リアル用に構成をできるだけ簡単にするために、 DataStage サーバーと ク ライアン トの各プログラムを同じマシン上にインス トールするこ とをお勧めします (ただし、 是が非でも というわけではあ り ません)。サーバーと ク ライアン トの各プログラムをインス トール後、 作業を開始する前に、 ほかの幾つかのコンポーネン トのインス トールと設定が完了し、 正常に機能しているかど うかを確認しておく必要があり ます。 次の各項目を確認してください。

・ データベース接続に使う 32ビット ODBC ドライバ。

・ ネットワーク経由でだけデータベースへアクセスする場合、ネットワーク インターフェース カードおよびドライバ。

・ 例で使うデータベース (MS SQL Server、Oracle、Sybase、Informix、UniVerse、DSEngine など )が稼働中で利用可能であること。

・ 上記データベースへアクセス可能なアカウント。アカウントがない場合はデータベース管理者に相談してください。

viii Ascential DataStage サーバージ ョブチュート リ アル

Page 9: Datastage JPY Tutorial

・ SQLNet など、必要なクライアント アクセス ツールやトランスポート層がインストールされていること

・ ターゲット データベースに対して DSN ( データソース名 )が設定されていること

・ デフォルトとしてどの国別情報サポート (NLS) マップおよび国別情報が設定されているかの確認

ユーザーによって不要な項目もあ り ます。 不確実な項目がある場合、 システム アド ミニス ト レータに相談してください。

このマニュアルについてこのマニュアルについてこのマニュアルについてこのマニュアルについてこのチュート リアルの内容は以下のとおりです。

章章章章 内容内容内容内容

第 1 章 DataStage ツールセッ トのコンポーネン ト を紹介し、 各コンポーネン トの概念と用語について概要を説明します。

第 2章 データモデルとサンプルデータについて説明します。 また、 このマニュアルで行う演習問題についても説明します。

第 3章 サンプルジ ョブについて説明し、 DataStageデザイナとDataStageディ レクタを紹介します。

第 4章 簡単なデータ抽出と変換の方法について説明します。 順ファイルと リ レーシ ョナルテーブルをデータソース とターゲッ ト と して使い方についても説明します。

第 5章 複数のソース と ターゲッ ト を使い方と、 出力を制御する制約条件の使い方について説明します。 また、 アグ リゲータステージを紹介します。

第 6章 DataStage マネージャでメ タデータを作成する方法について説明します。

第 7章 ジ ョブデザインデバッガでジ ョブのデバッグを行う方法について説明します。

第 8章 この章は UniDataおよび UniVerse/DSEngineのユーザだけが対象です。 繰り返し列ファ イルから メ タデータを作成する方法について説明します。 次に、 同ファ イルからデータを抽出し、 リ レーシ ョナルデータベーステーブルにロードする方法について説明します。

第 9章 コンテナステージを紹介して、 ローカルコンテナと共用コンテナの使い方について説明します。

はじめに ix

Page 10: Datastage JPY Tutorial

マニュアルの表記ルールマニュアルの表記ルールマニュアルの表記ルールマニュアルの表記ルールこのマニュアルでは次の表記ルールを使います。

第 10章 ジ ョブシーケンスについて、 ステップバイステップで作成しながら説明します。

第 11 章 NLS (多国語サポート ) 機能について説明します。 NLSサポート機能のある DataStageがインス トールされている環境にだけ適用します。

第 12章 DataStageの拡張機能について説明します。 例えば、 プラグインステージ、 ビル ト イン変換、 カスタム変換、 ト ランザクシ ョ ン処理、 パッケージ化、 ジ ョブ制御ルーチン、レポート生成などが、 拡張機能の例です。

第 13章 このマニュアルで説明されている機能と、 エクササイズの要点を説明します。

付録 A 順ファイル、 ハッシュファ イル、 および ODBC テーブルのテーブル定義と列定義を示します

ルールルールルールルール 用法用法用法用法

太字太字太字太字 構文に関する記述では、 コマンド、 関数名、 キーワード、 オプシ ョ ンなど表示されている通 りに入力する必要があるものを太字で表記します。 テキス トでは、 押すキー、 選択する関数名やメニューを太字で表記します。

大文字 文法説明での大文字表記は、 コマンド、 キーワード、各種オプシ ョ ン、 BASICの文と関数、 SQLの文とキーワードを表します。 本文での大文字表記は、ファ イル名、 アカウン ト名、 スキーマ名、 レコードID などの識別子を表します。

斜体 構文に関する記述では、 ユーザーが指定する情報を斜体で表記します。 テキス トではファイル名、 パス名、 オペレーティング システムのコマンドやオプシ ョ ンを斜体で表記します。

普通書体 テキス トでは、 Windows NT コマンドおよびオプシ ョン、 ファイル名およびパス名を飾りなしの文字で表記します。 また、 Windows NT および UNIX 環境で使う ファ イル名も飾りなしの文字で表記します。

Courier ソースコードやシステム出力の例をクーリエ書体で表記します。

x Ascential DataStage サーバージ ョブチュート リ アル

Page 11: Datastage JPY Tutorial

また次のルールも使っています。

・ 構文定義や例は読みやすいようにインデントします。

・ 特に指定がないかぎり、構文に含まれている句読点 ( カンマ、括弧、疑問符など ) はすべて必要です。

・ このガイドでページ上 1 行に表示しきれない構文は次の行へ継続しています。継続行はインデントされます。構文を入力する場合、継続行も含めてすべてのエントリを同じ入力行にタイプしてください。

Courier 太字太字太字太字 例の提示で、 ユーザーが行う入力や操作するキーを太字のクーリ エ書体で表記します。 (例、 <Return>)

[ ] 大括弧内はオプシ ョ ン項目です。 明示されないかぎり、 括弧自体は入力しないでください。

{ } 中括弧の付いた項目は少なく と も 1 つ以上選択しなければならない項目群です。 括弧自体は入力しないでください。

項目 A|項目 B 縦線で区切られた項目は、 そのうちの 1 つを選択して入力するこ とを示します。 縦線は入力しないでください。

... 3 つのピ リオドは同じタイプの項目がオプシ ョ ンでさらに続く こ とを示します。

→ メニューコマンドの間にある「→」記号は、コマンドを並び順に従って選択することを示します。例えば「[ファイルファイルファイルファイル ]→ [終了終了終了終了 ]を選択」と表記されている場合は、メニューバーの [ファイルファイルファイルファイル ]を選択し、次に [ファイルファイルファイルファイル ]プルダウンメニューから [終了終了終了終了 ]を選択してください。

ルールルールルールルール 用法用法用法用法

はじめに xi

Page 12: Datastage JPY Tutorial

ユーザーインターフェースの表記ユーザーインターフェースの表記ユーザーインターフェースの表記ユーザーインターフェースの表記

下記の代表的な DataStage ダイアログボッ クスの図は、 ユーザーインターフェース要素を説明するための用語を示します。

DataStageユーザーインターフェースは多数のタブページを使って、 それらをネス ト して単一のダイアログボッ クス内から必要な制御を行えるようにするこ とがあり ます。 最上位レベルでは、 これを 「ページ」 と呼び、内部レベルを 「タブ」 と呼びます。 上記の例では、 [入力入力入力入力 ]ページの [全全全全般般般般 ] タブを参照します。 コンテキス ト を区別するオンラインヘルプを使用時、 各ページには別々のヘルプト ピッ クがあ り ますが、 各タブは親ページのヘルプト ピッ クを使う こ とがわかり ます。 オンラインヘルプ内から別のタブのヘルプページにジャンプができます。

DataStage のド キュメ ントDataStage のド キュメ ントDataStage のド キュメ ントDataStage のド キュメ ントDataStageには次のドキュメントがあります。

『DataStageデザイナ ガイドデザイナ ガイドデザイナ ガイドデザイナ ガイド』 DataStageデザイナを解説し、DataStageアプリケーションの作成、設計、開発をする方法について説明します。

オプションボタン

ボタン

チェックボックス

表示 ボタン

ドロップ

リストダウン

ページ

タブ

フィールド

xii Ascential DataStage サーバージ ョブチュート リ アル

Page 13: Datastage JPY Tutorial

『DataStageディレクタ ガイドディレクタ ガイドディレクタ ガイドディレクタ ガイド』 DataStageディレクタを解説し、DataStageサーバージョブの検証、スケジュール、実行、モニタをする方法を説明します。

『DataStageマネージャ ガイドマネージャ ガイドマネージャ ガイドマネージャ ガイド』 リポジトリ内容の表示と編集をする方法について説明し、DataStageコンポーネントのインポートとエクスポートをする方法についても説明します。

『DataStage管理者ガイド管理者ガイド管理者ガイド管理者ガイド』 DataStageの設定、定期的な保守、および管理について説明します。

『DataStage Server: サーバージョブ開発者ガイドDataStage Server: サーバージョブ開発者ガイドDataStage Server: サーバージョブ開発者ガイドDataStage Server: サーバージョブ開発者ガイド』 サーバージョブ作成時に使うツールについて説明し、プログラマー用の参考情報を提供します。

『DataStage Enterprise Edition:パラレルジ ョブ開発者ガイ ドDataStage Enterprise Edition:パラレルジ ョブ開発者ガイ ドDataStage Enterprise Edition:パラレルジ ョブ開発者ガイ ドDataStage Enterprise Edition:パラレルジ ョブ開発者ガイ ド』 : パラレルジ ョブ作成時に使用されるツールについて説明し、 プログラマー用の参考情報を提供します。

『DataStage Enterprise MVS Edition: メ インフレームDataStage Enterprise MVS Edition: メ インフレームDataStage Enterprise MVS Edition: メ インフレームDataStage Enterprise MVS Edition: メ インフレーム開発者ガイド開発者ガイド開発者ガイド開発者ガイド』 メインフレーム ジョブ作成時に使うツールについて説明し、プログラマー用の参考情報を提供します。

『DataStage インス トールDataStage インス トールDataStage インス トールDataStage インス トール &&&& アップグレードガイ ドアップグレードガイ ドアップグレードガイ ドアップグレードガイ ド』 Windows と UNIXシステムに DataStage をインス トールする方法と、 すでにインストールしてある場合にアップグレードする方法について説明します。

これらのマニュアルは PDF 形式のオンライン バージ ョ ンもあ り ます。 これは DataStage に付属している Adobe Acrobat Reader で開く こ とができます。マニュアルと Adobe Acrobat Reader のインス トールの詳細については 『 インス トール & アップグレードガイ ド 』 を参照して ください。

オンライン ヘルプも充実しています。 このオンライン ヘルプは、DataStageにかなり慣れ、 特定の情報を調べたいときに特に重宝します。

はじめに xiii

Page 14: Datastage JPY Tutorial

xiv Ascential DataStage サーバージ ョブチュート リ アル

Page 15: Datastage JPY Tutorial

1DataStageの紹介

DataStage を使う と、 実用性に優れたデータ ウェアハウスやデータマートの迅速な構築ができるよ うになり ます。 DataStageは 1つ以上のデータソースからデータを抽出し、 データの複雑な変換を実行し、 生成されたデータを 1つ以上のターゲッ ト ファ イルへロードするためのアプリ ケーシ ョ ンの設計、 開発、 コンパイル、 実行、 管理を可能にする統合されたツール群です。

DataStage で開発したソ リ ューシ ョ ンはオープン性と スケーラビ リ ティに優れ、 例えばデータソースやターゲッ トの追加や、 データの増加へも容易に対応できます。

プロジェ クトプロジェ クトプロジェ クトプロジェ クトDataStage ク ライアン トの起動時、 DataStage プロジェク トへ接続するプロンプトが常に表示されます。 各プロジェク ト の構成要素は次のと おりです。

・ DataStage ジョブDataStage ジョブDataStage ジョブDataStage ジョブ ― データ ウェアハウスのロードとメンテナンスをするためのジョブ

・ ビルトイン コンポーネント ビルトイン コンポーネント ビルトイン コンポーネント ビルトイン コンポーネント ― ジョブで使う定義済みコンポーネント

・ ユーザー定義コンポーネントユーザー定義コンポーネントユーザー定義コンポーネントユーザー定義コンポーネント ― DataStage マネージャで作成するカスタム コンポーネント。各ユーザー定義コンポーネントはジョブの特定タスクを実行します。

ジョ ブジョ ブジョ ブジョ ブDataStage ジ ョブは複数のステージで構成されます。 各ステージは相互にリ ンクし、 データソースから最終的なデータ ウェアハウスまたはデータ

DataStageの紹介 1-1

Page 16: Datastage JPY Tutorial

マートへのデータ フローを記述します。 各ステージは、 特定のデータベースもし くはプロセスについて記述します。 例えば、 あるステージはデータソースからデータを抽出し、 ほかのステージがそのデータを変換します。 ステージは DataStage デザイナによってジ ョブへ追加されリ ンクされます (1-6ページ参照)。

下図はデータソース、 ト ランスフォーマー (変換) ステージ、 最終的なデータベースで構成された最もシンプルなジ ョブの例です。 各ステージ間のリ ンクは、 ステージ間のデータ フローを表現しています。

各ステージごとに必要なデータや処理方法を指定しなければなり ません。 例えば、 ソースデータのすべての列が必要なのか選択した一部の列だけが必要なのか、 またデータを次のステージへ引き渡す前に集計や変換は必要なのかど うか、 などです。

データ プロパティは以下のとおりです。

・ テーブル定義テーブル定義テーブル定義テーブル定義 ― 必要なデータを指定します。各テーブル定義には次の項目が含まれます。

---- データ レコードを保持するテーブルやファイルについての情報

---- 各列の説明

・ データ要素データ要素データ要素データ要素 ― 各データ要素は、列に格納できる 1種類のデータ型を記述します。列で実行可能な操作は列と関連するデータ要素によって定義します。DataStage では、一般的に必要とされるデータ型を表す多数のデータ要素があらかじめ定義されています (日付、時刻、数値、文字列など)。ユーザー独自のデータ要素を定義することも可能です。

・ トランスフォーム トランスフォーム トランスフォーム トランスフォーム ― ウェアハウスで最終的に利用や保存をするフォーマットへデータを変換することで、データを変換しクレンジングします。DataStage にはビルトイン トランスフォームの大規模なライブラリが用意されています。

これらのプロパティによって、 DataStage ジ ョブの各ステージでのデータの処理が決定します。 プロパティはプロジェク ト全体を通して設定され、 プロジェク ト内の全ジ ョブで共用されます。

1-2 Ascential DataStage サーバージ ョブチュート リ アル

Page 17: Datastage JPY Tutorial

DataStage は下記に示す 3 種類のジ ョブをサポート します。

・ サーバージ ョブサーバージ ョブサーバージ ョブサーバージ ョブは、 DataStage ク ライアン ト ツールを使って開発 ・コンパイルされます。 サーバージ ョブをコンパイルする と、DataStage ディレクタでスケジューリ ングし、 DataStage サーバーで実行可能な実行可能ジ ョブが生成されます

・ パラレルジ ョブパラレルジ ョブパラレルジ ョブパラレルジ ョブはク ライアン ト ツールを使って開発 ・ コンパイルされます。 パラレルジ ョブをコンパイルする と、 DataStageディレクタでスケジューリ ングし、 DataStageサーバーで実行される実行可能ジ ョブが生成されます。 パラレルジ ョブのコンパイルと実行には UNIXサーバーが必要です。 パラレルジ ョブは、 SMP、 MPPおよびク ラスタシステムでの並列処理をサポート します。

・ メインフレーム ジョブメインフレーム ジョブメインフレーム ジョブメインフレーム ジョブは、サーバージョブ同様 DataStage クライアント ツールを使って開発しますが、コンパイルと実行はメインフレーム コンピュータ上です。デザイナは COBOL ソース ファイルとサポート JCL スクリプトを生成しますので、これらを目的のメインフレーム コンピュータにアップロードします。ジョブは、ネイティブ メインフレーム ソフトウェアの制御の下、メインフレーム コンピュータ上でコンパイル・実行されます。

ジ ョブを実行する と、 ジ ョブ デザインで定義した各処理ステージは、ユーザーが定義したデータ プロパティを使って実行されます。 実行可能ジ ョブはパッケージ化し、 ほかの DataStage システムで使う こ と もできます。

サーバージ ョブおよびメ インフレーム ジ ョブの詳細については、『DataStage サーバージ ョブ開発者ガイ ド 』 および 『DataStage メ インフレームジ ョブ開発者ガイ ド』 を参照してください。

ステージステージステージステージDataStageには、次の 2種類の ステージがあります。

・ ビルトイン ステージ ビルトイン ステージ ビルトイン ステージ ビルトイン ステージ ― DataStage とともに提供されるステージで、データの抽出、集計、変換、書き込みに使います。パッシブとアクティブ両方のステージがあります。

・ プラグイン ステージ プラグイン ステージ プラグイン ステージ プラグイン ステージ ― DataStage マネージャで定義する追加ステージで、ビルトイン ステージがサポートしないタスクを実行します。

DataStageの紹介 1-3

Page 18: Datastage JPY Tutorial

通常、 各ステージには各 1 つのデータ入力とデータ出力があ り ますが、ステージによって、 複数のデータ入力や複数のステージへの出力がある場合があ り ます。

ステージには、パッシブステージと アクティブステージがあります。

・ パッシブステージパッシブステージパッシブステージパッシブステージ データソースとリポジトリへの読み書きアクセスを定義します。パッシブステージには次の種類があります。

---- 順ファイルステージ

---- ODBCステージ

---- UniVerseステージ

---- ハッシュファ イルステージ

・ アクティブステージアクティブステージアクティブステージアクティブステージ データの変換とフィルタリングの方法を定義します。アクティブステージには次の種類があります。

---- トランスフォーマステージ

---- アグリゲータステージ

複数のステージと リ ンクをグループ化し、 コンテナにできます。 コンテナはコンテナ ステージと して表現されます。

・ 複数のステージをコンテナに入れてグループ化する と、 デザインがよ り簡潔になり、 読みやすくなり ます。

・ コンテナへのリ ンクはコンテナ入力コンテナ入力コンテナ入力コンテナ入力ステージで表し、 コンテナからのリ ンクはコンテナ出力コンテナ出力コンテナ出力コンテナ出力ステージで表します。

・ コンテナは、ほかのジョブとの間で共用や再使用を行えるため、同じプロセスを 2度作成する必要はありません。

・ 共用コンテナは、 共用ライブラ リオブジェク ト と考えるこ とができます。

サーバーコンポーネントサーバーコンポーネントサーバーコンポーネントサーバーコンポーネントDataStage には 3種類のサーバーコンポーネン トがあ り ます。

・ リポジトリリポジトリリポジトリリポジトリ ― データマートやデータ ウェアハウスの構築に必要なすべての情報を格納するセントラル ストレージです。

・ DataStage サーバーDataStage サーバーDataStage サーバーDataStage サーバー― データの抽出、変換、データ ウェアハウスへのロードをする実行可能ジョブを、DataStage ディレクタの制御下で実行します。

1-4 Ascential DataStage サーバージ ョブチュート リ アル

Page 19: Datastage JPY Tutorial

・ DataStage パッケージ インストーラDataStage パッケージ インストーラDataStage パッケージ インストーラDataStage パッケージ インストーラ ― パッケージ化したDataStage ジョブおよびプラグインのインストールに使うユーザーインターフェースです。

クライアント コンポーネントクライアント コンポーネントクライアント コンポーネントクライアント コンポーネントDataStage には 4種類のクライアン ト コンポーネン トがあ り、 Windows 95-Windows2000 または Windows NT 4.0 以上が動作する環境へのインストールが可能です。

・ DataStage マネージャ DataStage マネージャ DataStage マネージャ DataStage マネージャ ― リポジトリ内容の参照と編集に使うユーザーインターフェースです。

・ DataStage デザイナ DataStage デザイナ DataStage デザイナ DataStage デザイナ ― DataStage ジョブを作成するグラフィカル ツールです。

・ DataStage ディレクタDataStage ディレクタDataStage ディレクタDataStage ディレクタ ― DataStage ジョブの検証、スケジュール、実行、モニタリングに使うユーザーインターフェースです。

・ DataStage DataStage DataStage DataStage アドミニストレータアドミニストレータアドミニストレータアドミニストレータ ― DataStage ユーザー設定、パージ基準、NLS マップおよび国別情報の設定に使うユーザーインターフェースです。NLSについては、 1-7ページ 「国別情報サポート (NLS)」 を参照してください。

このチュート リ アルのエクササイズは、 ク ラ イアン ト を中心にしています。 マネージャを使うエクササイズではリポジ ト リが関係するものもあり ますが、 サーバーコンポーネン ト との対話はほとんど必要あ り ません。

次章以降でマネージャ、 デザイナ、 ディレクタ、 アド ミニス ト レータについて簡単に説明します。 これらのツールを使って特定のタスクの処理方法を学習し、 再度エクササイズでこれらのツールの話題へ戻り ます。これで、 各ツールへの習熟を得るこ とができます。

DataStage マネージャDataStage マネージャDataStage マネージャDataStage マネージャ

マネージャは、 DataStage リ ポジ ト リ内容の参照および管理をするグラフ ィカル ツールです。

DataStage マネージャを使って、 データ ソース、 データ ターゲッ トおよび変換に関する メ タデータの参照、 インポート、 編集をします。 また、データ要素、 カスタム プラグイン ステージ、 カスタム ト ランスフォーム、 ルーチンなどの DataStage コンポーネン ト定義やインス トールを実行できます。

DataStageの紹介 1-5

Page 20: Datastage JPY Tutorial

6-5ページ 「Exercise8: リ レーシ ョナル データベース テーブルからのメタデータ作成」 と 6-8ページ 「Exercise9: 手動によるテーブル定義の作成」 では、 リ レーシ ョナル データベース テーブルと順ファイルからど う容易にメ タデータを作成できるかを確認できます。 これらのエクササイズでは マネージャを使って リポジ ト リ を参照します。

マネージャの機能の詳細については、 『DataStage マネージャ ガイ ド』 を参照してください。

DataStage デザイナDataStage デザイナDataStage デザイナDataStage デザイナ

データ ソースからターゲッ ト ウェアハウスへのデータ フローや、その間で実行する変換をモデリ ングするビジュアル デザインを、 デザイナを使って作成しジ ョブを構築します。 デザイナのグラフ ィカル インターフェースでは、 ステージ アイコンを選択してデザイナ作業領域へドロ ップし、 それらへリ ンクを追加できます。 その後、 各ステージやリ ンクに対して必要なアクシ ョ ンやプロセスを定義するこ とが可能です。 またジ ョブのコンパイルや、 ジ ョブ デバッガの利用が可能です。

デザイナで作成したジ ョブには優れたスケーラビ リティがあ り ます。 シンプルなジ ョブを容易に作成して動作させ、 その後プロセスやデータ ソースなどを追加挿入するこ とが可能です。

このガイ ドのエクササイズでは、 DataStage デザイナを使って多様なジ ョブを作成します。 これらのジ ョブを通して入力ステージや出力ステージについて説明し、 ト ランスフォーマ ステージの幾つかの使い方を例証します。 また、 デバッガの操作に関するエクササイズも実行します。 すべてのエクササイズが終了するまでに、 DataStage デザイナの性能と使いやすさをご理解いただけるこ と と思います。

第 3章 では、 エクササイズの実行に必要なデザイナ インターフェースについて説明します。 デザイナの機能の詳細については 『DataStageデザイナ ガイ ド』 を参照して ください。

DataStageディ レクタDataStageディ レクタDataStageディ レクタDataStageディ レクタ

ディレクタでは、デザイナで構築したサーバージョブの実行、監視、および制御を行えます。ジョブを実行すると、ディレクタは、実行時パラメータの入力を要求します。ディレクタで、実行時の性能やエラー発生条件などのイベントを監視できます。また、サーバージョブを臨時に実行したり、サーバージョブをスケジューリングしたりできます。

第 3章では、チュートリアル CDからインストールしたサンプルジョブを実行することで、ディレクタのインタフェースについて学びます。

1-6 Ascential DataStage サーバージ ョブチュート リ アル

Page 21: Datastage JPY Tutorial

ジョブの作成演習では、作成したジョブを実際に実行します。このエクササイズを通じて、ディレクタの使い方について習熟できます。

ディレクタのすべての機能の詳細な説明については、『DataStageディレクタ ガイド』を参照してください。

DataStage アド ミニス ト レータDataStage アド ミニス ト レータDataStage アド ミニス ト レータDataStage アド ミニス ト レータ

アドミニストレータでは、DataStageユーザを設定したり、リポジトリのパージを制御したりできます。また、NLS(多国語サポート)が有効の場合は、マップとロケールのインストールと管理ができます。第 9章 では、アドミニストレータでさまざまなマップとロケールをインストールします。インストールしたマップとロケールは、エクササイズで NLSの機能を実演するときに使われます。

アド ミ ニス ト レータができるすべての機能の説明については、『DataStage管理者ガイ ド』 を参照して ください。

国別情報サポート (国別情報サポート (国別情報サポート (国別情報サポート (NLS))))DataStage はインス トール時に 国別情報サポート (NLS) を組み込めます。NLS を有効にする と、 次の各項目ができるよ うになり ます。

・ 多様な言語でのデータ処理

・ ほぼすべての文字セッ ト を、 DataStage の大半のフ ィールドで受け入れ可能

・ 日付、 時刻、 通貨などへのローカルなフォーマッ トの使用

・ ローカル ルールに基づくデータのソート

・ 同じ言語の異なるエンコード間での変換 (例えば日本語では JIS から EUC)

この優れた能力は、 DataStage が国際標準の UNICODE をベースと した内部文字セッ ト を使う こ とで実現されています。 それによって、 データは内部文字セッ ト との間で必要に応じて変換が行われます。

文字セッ ト マップおよび国別情報文字セッ ト マップおよび国別情報文字セッ ト マップおよび国別情報文字セッ ト マップおよび国別情報

インス トール時、 DataStageの各プロジェク トにはそれぞれ言語が割り当てられますが、 これには当該言語をサポートする 1つ以上の文字セッ ト マップおよび国別情報が含まれます。

・ マップ マップ マップ マップ ― プロジェクトで使う文字セットを定義します。

DataStageの紹介 1-7

Page 22: Datastage JPY Tutorial

・ 国別情報国別情報国別情報国別情報 ― プロジェク トで使う日付や時刻、 ソート順序などのローカル フォーマッ ト を定義します。

インス トール時に割り当てるマップと国別情報はそのプロジェク トでのデフォルト とな り、 DataStage 上で作成されるすべてのジ ョブへ自動的に割り当てられますが、 必要な場合、 各プロジェク トに対して異なるマップと国別情報を指定するこ と も可能です。

プロジェク トのデフォルト マップは、 DataStage ジ ョブ デザインの幾つかのレベルで上書きするこ とが可能です。

・ ジョブ

・ ジ ョブ内のステージ

・ テーブル上の各列

・ ステージ内でデータ処理に使う ト ランスフォームおよびルーチン

・ インポート されたメ タデータおよびテーブル定義

国別情報および文字セッ トは、 ジ ョブの一部と して統合されます。 ジ ョブをパッケージ化し リ リースする場合、 適切なマップと国別情報がシステムへインス トールされロード されていれば、 NLSサポート をほかのシステムで使えます。

DataStage 用語と概念DataStage 用語と概念DataStage 用語と概念DataStage 用語と概念DataStage では以下の用語を使います。

用語用語用語用語 説明説明説明説明

1NF 「第 1 正規形」 参照。

アグ リゲータ ステージ

データ セッ トの合計やその他の関数を実行するステージ タイプです。

BCPLoad ステージ DataStage に付属するプラグイン ステージで、Microsoft SQL Server や Sybase テーブルへデータをバルク ロードします。

CFD COBOL ファ イル 記述。 COBOL で ファイルのフォーマッ ト を記述するテキス ト ファイル。

列定義 データ テーブルに含まれる列を定義します。 列名や列を構成するデータのタイプが含まれます。

コンテナ ステージ ビルト イン ステージ タイプで、 ジ ョブ デザインに含まれる リ ンクやステージのグループを表現します。

1-8 Ascential DataStage サーバージ ョブチュート リ アル

Page 23: Datastage JPY Tutorial

データ ブラウザ DataStage マネージャやデザイナで使う ツールで、テーブルやファイルの内容を参照できます。

データ要素 列に格納されるデータアイテムの仕様と、 列で実行可能なオペレーシ ョ ンに関する記述です。

DataStage アド ミニス ト レータ

DataStage プロジェク ト とユーザー設定に使うツールです。

DataStage デザイナ 開発者が DataStage ジ ョブのデザインや開発に使うグラフ ィカル デザイン ツールです。

DataStage ディレクタ

オペレータが DataStage ジ ョブの実行とモニタに使う ツールです。

DataStage マネージャ

リポジ ト リ内の定義の参照や編集に使う ツールです。

DB2 メ インフレーム コンピュータ上で実行する IBM リ レーシ ョナル データベース。

DCLGen IBM DB2 でファイルのフォーマッ ト を記述するテキス ト ファイル。

開発者 DataStage ジ ョブの設計と開発をする担当者です。

第 1 正規形 各行と列位置 ( またはセル ) に 1 つの値だけを持つ形式。 略称 1NF。

ハッシュ ファイル ハッシュ アルゴ リ ズムを使って、 レコードをディ スク上の 1 つ以上のグループへ分散するファイルです。

ハッシュ ファ イル ステージ

ハッシュ ファイルからのデータ抽出とハッシュファイルへのデータのロードを処理するステージです。

プロセス間ステージ SMP システムでサーバージ ョブを並列に実行できるよ うにするサーバージ ョブステージ。

ジ ョブ リ ンク されたステージ、 データ要素、 ト ランスフォームのコレクシ ョ ンで、 データ抽出、 クレンジング、 変換、 統合、 ターゲッ ト データベースへのロード方法を定義します。 ジ ョブをコンパイルして実行可能ファイルを作成できます。

用語用語用語用語 説明説明説明説明

DataStageの紹介 1-9

Page 24: Datastage JPY Tutorial

ジ ョブ バッチ シーケンシャルに実行する複数ジ ョブのグループ、 またはシーケンシャルに実行する単一ジ ョブの、 異なるジ ョブ パラ メータを持つ複数のインスタンス群です。

ジ ョブ パラ メータ ジ ョブ デザインに含まれる変数です。 ジ ョブの検証、 スケジューリ ング、 または実行をする場合、 この変数に対して適切な値を入力しなければなり ません。

ローカルコンテナ 作成元のジ ョブ固有のコンテナ。

国別情報 日付、 時刻、 通貨などの規則に関するローカル フォーマッ トの定義です。

リ ンクコレク タステージ

前回分割したデータを集めるサーバージ ョブステージ。

リ ンク分割ステージ データを分割して、 SMP システムで並列処理できるよ うにするサーバージ ョブステージ。

メ インフレーム ジ ョブ

DataStage とは関係なく メ インフレーム コンピュータ上で走る DataStage ジ ョブ。 COBOL ソースは DataStage から メ インフレームにアップロード され、 次にメ インフレーム内でコンパイルされ実行可能プログラムとなり ます。

マップ DataStage が内部的に使うテーブルで、 コード ページやその他の文字セッ ト表現と UNICODE 間での変換を可能にします。

メ タデータ データについてのデータです。 メ タデータの例と して、 テーブルの構造を定義したテーブル定義があ り ます。

NF2 「非第 1 正規形」 参照。

NLS 国別言語サポート。 DataStage は複数の文字セットによるデータ処理をサポート します。

非第 1 正規形 各行や列位置 ( またはセル ) に複数の値を持つことが可能な形式。 略称 NF2。

非正規化 複数値データを持つ NF2 (非第 1 正規形 ) フォーマッ ト レコードを、 1 行以上の 1NF (第 1 正規形) 行へ変換するこ と。

NULL 値 未知の値を表す、特殊な値。0(ゼロ)、ブランク、もしくは空列とは異なります。

用語用語用語用語 説明説明説明説明

1-10 Ascential DataStage サーバージ ョブチュート リ アル

Page 25: Datastage JPY Tutorial

ODBC ステージ 業界標準の ODBC (Open Database Connectivity API) を実装しているデータベース との、 データ抽出とデータ ロードを実行するステージ。 データソース、 集計ステップ、 またはターゲッ ト データ テーブルの表現に使います。

オペレータ DataStage ジ ョブをスケジュール、 モニタする担当者です。

Orabulk ステージ DataStage に付属するプラグイン ステージで、Oracle データベース テーブルへデータをバルク ロード します。

パラレルジ ョブ SMP、 MPPおよびク ラスタシステムで並列処理を利用できるよ うにする、 DataStage ジ ョブのタイプ。

プラグイン ステージ

アグ リゲータ、 ハッシュ ファ イル、 ODBC、UniVerse、 順ファ イル、 およびト ランスフォーマの各ステージがサポート していない特定のプロセスを実行するステージです。

リ ポジ ト リ すべての標準データ要素、 ユーザー定義データ要素、 ト ランスフォーム、 ステージについての定義、 およびプロジェク トやジ ョブが格納されている DataStage の領域です。

順ファイルステージ

テキス ト ファ イルのデータ抽出と書き込みを処理するステージです。

サーバージ ョブ DataStage サーバー上で実行する DataStage ジ ョブ。 このジ ョブは DataStage によってコンパイルされ DataStage ディレク タから実行される実行可能プログラムとな り ます。

共用コンテナ 個別項目と して リポジ ト リに存在するコンテナであ り、 プロジェク ト内のどのサーバージ ョブでも利用できる。

ソース DataStage でのソースとは、 データの抽出元や書き込み先となるデータベースを指します。

ステージ DataStage ジ ョブでのデータソース、 処理ステップ、 またはデータマート を表現するコンポーネントです。

テーブル定義 必要なデータを記述する定義で、関連するデータ テーブルや列についての情報も含まれます。 メ タデータ と もいいます。

用語用語用語用語 説明説明説明説明

DataStageの紹介 1-11

Page 26: Datastage JPY Tutorial

ト ランスフォーム関数

ある値から別の値を計算する関数です。

ト ランスフォーマ エディ タ

ト ランスフォーマ ステージの編集をするグラフ ィカル インターフェースです。

ト ランスフォーマ ステージ

ト ランスフォーム関数を使ってデータを ト ランスフォーム (変換 ) するステージです。

Unicode 各標準文字セッ トにあるすべての文字にユニークなコードポイン ト を提供する、 16 ビッ ト文字セッ トです (標準でない文字も含みます)。Unicodeは ISO 10646の一部です。

UniData ステージ UniDataデータベースにデータを抽出またはロードするステージです。 データソースまたはターゲッ トデータテーブルを表現するために使われます。

UniVerse ステージ SQL を使って UniVerse データベースのデータ抽出と ロードを処理するステージです。 データソース、 集計ステップやターゲッ ト データ テーブルを意味します。

用語用語用語用語 説明説明説明説明

1-12 Ascential DataStage サーバージ ョブチュート リ アル

Page 27: Datastage JPY Tutorial

2作業の開始

このガイ ドのエクササイズでは、 データを抽出し変換して、 ターゲッ ト ファ イルやターゲッ ト テーブルへロードするジ ョブを作成します。 この章では使用するサンプル データについて説明し、 今後のロードマップおよびその手順を示します。 具体的には :

・ データ モデルデータ モデルデータ モデルデータ モデル ― テキス ト ファ イルや従来のリ レーシ ョナル テーブルからターゲッ ト データマート環境へ、 データがどのよ うに処理されていくかを説明します。

・ データ ソースおよびターゲッ トのタイプデータ ソースおよびターゲッ トのタイプデータ ソースおよびターゲッ トのタイプデータ ソースおよびターゲッ トのタイプ ― DataStage がサポートするデータ ソースやターゲッ トのタイプの概要です。

・ サンプル データサンプル データサンプル データサンプル データ ― サンプル データの概要と インス トール方法の説明です。

・ エクササイズエクササイズエクササイズエクササイズ ― 実行するタスクの要約です。

作業の開始 2-1

Page 28: Datastage JPY Tutorial

データ モデルデータ モデルデータ モデルデータ モデルサンプル データは非常に一般的かつシンプルなビジネス環境を想定して用意してあ り ます。 この企業は顧客へ製品を販売する架空の会社です。

作業を実施する例は、 6つのテーブルで構成されます。 各テーブルのデザインはシンプルで、 最小限の行で構成されています。 重要なのは DataStage ツール セッ ト とそれらの機能であって、 何千行にもおよぶデータをロードするこ とではあり ません。 6 つのサンプル テーブルを 表 2-1 に示します。 各テーブルの複合プライマ リ キーは太字で表記してあ り ます。

表 2-1.表 2-1.表 2-1.表 2-1. サンプルサンプルサンプルサンプル テーブルテーブルテーブルテーブル

テーブルテーブルテーブルテーブル 列列列列 説明説明説明説明

受注明細 受注番号受注番号受注番号受注番号 注文ヘッダの受注番号

明細番号明細番号明細番号明細番号 同一注文ヘッダの明細番号

製品番号 製品番号

売価 実売価格

数量 受注数量

金額 売価×数量

項目リ ス ト 項目リ ス ト

受注ヘッダ 受注番号受注番号受注番号受注番号 受注番号

受注日 受注日

手数料ランク 手数料ランク

顧客 ID 顧客 ID

出荷予定日 出荷予定日

総売上 同一受注ヘッダの合計金額

顧客 顧客 ID顧客 ID顧客 ID顧客 ID 顧客 ID

名称 顧客名称

住所 1 顧客住所 1

住所 2 顧客住所 2

ステイ ト 顧客ステイ ト

2-2 Ascential DataStage サーバージ ョブチュート リ アル

Page 29: Datastage JPY Tutorial

上記のとおりデータは非常に単純なもので、 企業のデータベースに格納するべき内容と しては最小限のデータで構成されています。

郵便番号 顧客住所 郵便番号

市外局番 電話番号 市外局番

電話番号 電話番号

担当者 ID 販売担当者 ID

与信限度 与信限度額

備考 備考

価格 製品番号製品番号製品番号製品番号 製品番号

標準売価標準売価標準売価標準売価 標準販売価格

最低売価最低売価最低売価最低売価 最低販売価格

価格開始日価格開始日価格開始日価格開始日 価格有効期間開始日

価格終了日 価格有効期間終了日

製品 製品番号製品番号製品番号製品番号 製品 ID

品名 製品名

従業員 S 従業員 ID従業員 ID従業員 ID従業員 ID 従業員番号

氏名 従業員氏名

役職 役職

マネージャ ID 従業員管理者

雇用日 雇用日

給与 給与額

販売手数料 従業員販売手数料額

表 2-1.表 2-1.表 2-1.表 2-1. サンプルサンプルサンプルサンプル テーブルテーブルテーブルテーブル (続き ) (続き ) (続き ) (続き )

テーブルテーブルテーブルテーブル 列列列列 説明説明説明説明

作業の開始 2-3

Page 30: Datastage JPY Tutorial

リ レーシ ョナル データベース環境では、 データ モデルは以下のよ うに記述されます。

上図の接続線は、 各テーブル間の関係を表しています。

例えば製品と価格の間の線は、 各製品について 1 つ以上の価格が存在し、各価格レコードは 1 つの製品とだけ関係するこ とを表しています。 接続線と直交する線は、 製品テーブルの関連レコードが価格の一意性を決定するひとつの要素であるこ とを表します。

これは従来のリ レーシ ョナル テーブルの観点からのモデルです。 各エクササイズでは、 擬似的な業務環境 (すなわち上図のよ うな従来型リ レーシ ョナル モデル ) のデータをデータマート環境へ移行します。

2-4 Ascential DataStage サーバージ ョブチュート リ アル

Page 31: Datastage JPY Tutorial

スター スキーマスター スキーマスター スキーマスター スキーマ通常データ ウェアハウス環境では、 リ レーシ ョナル モデルをスター スキーマへ変換または統合します。

スター スキーマ モデルの名前は、 その外観に由来します。 つま り、 中央から放射状の線が広がる星のよ うな形状です。 スター スキーマの使用でレポート作成が簡易化され、 データマートに対するアドホッ クなクエリーのパフォーマンスが向上します。 適切なデザインを持つスター スキーマは、 パフォーマンスに大きな優位をもたらします。

一般的な リ レーシ ョナル モデルとスター スキーマ モデルには、ファ ク ト テーブルとディ メンシ ョ ン テーブルという 2 つの大きな相違点があり ます。

作業の開始 2-5

Page 32: Datastage JPY Tutorial

ファク ト テーブルファク ト テーブルファク ト テーブルファク ト テーブルスター スキーマの大きな特徴は、 中央にファ ク ト テーブルと呼ばれるテーブルがあるこ とです ( このチュート リ アルでは 「収益テーブル収益テーブル収益テーブル収益テーブル」 と呼びます )。

ファ ク ト テーブルにはデータ正規化に適用される従来のルールは一切適用されません。 ファ ク ト テーブルは意図的に非正規化され、 クエリー応答時間を向上させます。

一般にテーブルには、 検索を最も必要とするレコードが、 多くの場合アドホッ ク クエリーと と もに含まれています。 時間と と もに変化する というデータマートの性質から、 ファ ク ト テーブルのレコードはしばしばイベン ト と呼ばれます。

時間の経過に沿って、 顧客からの製品受注を ト ラ ッキングします。 ファク ト テーブルには各オーダーの合計は保持しません (後でサマリ テーブルを追加します )。 その代わり、 各製品の受注数量およびその時点での各製品の実売価格を保持します。

一意性を確立するため、 ファ ク ト テーブルのプライマリ キーは 数量、総売上、 出荷予定日を除く全列の複合キーと します。

このガイ ドで利用するファ ク ト テーブルの名前は 「収益」 で、 内容は以下のとおりです。

ファ ク ト テーブルに加えて、 ファ ク ト テーブルには含めないリジェク ト行を保持するテーブルを作成します。 このテーブルを作成する目的は、エクササイズのひとつで複数ターゲッ トの処理を実践するこ とだけです。

このテーブルの名前はリジェク トで、 構造はファ ク ト テーブルの構造と同じです。

2-6 Ascential DataStage サーバージ ョブチュート リ アル

Page 33: Datastage JPY Tutorial

ディ メンシ ョ ン テーブルディ メンシ ョ ン テーブルディ メンシ ョ ン テーブルディ メンシ ョ ン テーブルファ ク ト テーブルがハブ、 すなわち中心を構成する とすれば、 ディ メンシ ョ ン テーブルは車輪のスポークのよ うなものである と言えます。 一般的なファ ク ト テーブルのほとんどすべての情報は、 1 つ以上のディ メンシ ョ ン テーブルにも含まれます。

ディ メンシ ョ ン テーブルでは、 特定カテゴ リの情報を簡単に参照できます。 これはクエリーの選択基準を絞り込む場合などに特に有効です。

各ディ メンシ ョ ン テーブルのプライマ リ キーが連鎖して、ファ ク ト テーブルの複合プライマ リ キーを構成します。

注意 :注意 :注意 :注意 : このガイ ドの例では、 受注日は時間ディ メンシ ョ ンのレコードを参照します。 したがって、 これは時間ディ メンシ ョ ンに属しているものと して表示され、 ファ ク ト テーブルのプライマ リ キー要素の 1 つとな り ます。

次の表は各列とそれぞれが属しているディ メンシ ョ ンのリ ス トです。

手動で作成しなければならない特別なディ メンシ ョ ン テーブルがあ り ます。 このテーブルを使えばクエ リーが返すデータの日付範囲を制御するこ とが可能なため、 非常に重要なテーブルです。 ただし、 まだこの業務データには存在していません。 このテーブルを時間 ディ メンシ ョ ン テーブルといいます。

複合キー列複合キー列複合キー列複合キー列 ディ メンシ ョ ンディ メンシ ョ ンディ メンシ ョ ンディ メンシ ョ ン

受注日 時間ディ メンシ ョ ン

従業員 ID 従業員ディ メンシ ョ ン

顧客 ID 顧客ディ メンシ ョ ン

受注番号 受注ヘッダ ディ メンシ ョ ン

製品番号 製品ディ メンシ ョ ン

作業の開始 2-7

Page 34: Datastage JPY Tutorial

時間ディ メンシ ョ ン テーブル時間ディ メンシ ョ ン テーブル時間ディ メンシ ョ ン テーブル時間ディ メンシ ョ ン テーブル

時間ディ メンシ ョ ン テーブル 「時間」 は多数の日付行で構成されており、多様な日付範囲ごとにイベン ト をグループ化できるよ う、 ほとんどの場合追加情報の列を持っています。

この例では以下のとおり非常にシンプルな時間 ディ メンシ ョ ン テーブルを使います。

時間ディ メンシ ョ ン テーブルは手動で構築する必要があ り ます。 また、データで使う可能性のあるすべての日付を含める必要があり ます。 各日付について、 その日付が属する月、 四半期、 年を指定する必要があり ます。

これが完了すれば、 時間ディ メンシ ョ ンを使って月、 四半期、 または年ごとにデータを簡単にグループ化できるよ うになり ます。 これは、 各日付を個別に選択した り 「よ り大きい」 や 「よ り小さい」 などの式を使うよ りずっ と効率的でレポーティングに非常に有効です。

注意 :注意 :注意 :注意 : DSEngineと UniVerseのユーザーの場合、TIMEは予約語なので TIMEテーブルは TIME_と呼びます。

テーブルテーブルテーブルテーブル 列列列列 説明説明説明説明

時間 日付 日、 月、 年を含む日付

月 日付が属する月

四半期 日付が属する会計年度四半期

年 日付が属する年

2-8 Ascential DataStage サーバージ ョブチュート リ アル

Page 35: Datastage JPY Tutorial

これはエクササイズで使う スター スキーマです。 太字で表記されている列はプライマ リ キーです。

注意 :注意 :注意 :注意 : このデータマート モデルはデモ用に過度に単純化されています。このモデルは本書でのエクササイズには十分なものですが、 実際にデータ モデリ ングを行う場合、 この例の内容を参考にしないでください。

作業の開始 2-9

Page 36: Datastage JPY Tutorial

データ ソースとデータ ソースとデータ ソースとデータ ソースと ターゲッ ト のタイプターゲッ ト のタイプターゲッ ト のタイプターゲッ ト のタイプこのガイ ドのエクササイズでは、 1 つ以上のデータ ソースからデータを抽出し、 1 つ以上のターゲッ トへデータをロード します。 以下で、DataStage がサーバージ ョブに対してサポートするデータ ソース と ターゲッ トのタイプを概観します。

サーバージョ ブ用のデータは次のどれかのカテゴリ に属しています。

・ ODBC データ・ 順ファイル データ・ ダイレクト アクセス データ

エクササイズでは、順ファイルステージを使います。また、使用するデータベースによっては、DSEngine、UniVerse、UniData、ハッシュファイル、ODBCのどれかのステージを使います。

DataStageは、5.1より前のリリースでは UniVerseをエンジンに使っていましたが、リリース 5.1からは、DSEngineと呼ばれる DataStage専用のエンジンを使っています。UniVerseのテーブルやファイルは、DSEngineでも扱えるので、DataStageサーバーでローカルなテーブルやファイルとして使い続けることができます。同じサーバーに DataStageと UniVerseシステムの両方をインストールすることもできますが、この場合、UniVerseのテーブルやファイルは、DataStageからはリモートなテーブルやファイルと見なされます。DSEngineの UniVerseテーブルは、データソース名「localuv」でアクセスします。

2-10 Ascential DataStage サーバージ ョブチュート リ アル

Page 37: Datastage JPY Tutorial

ODBC データODBC データODBC データODBC データ

ODBC データは Open Database Connectivity API を経由してアクセス可能なデータ ソースです。 このアクセスは、 データベース固有の ODBC ド ライバを経由して実行されます。

DataStage では多様なデータベースのデータ処理が可能であるため、 各データベースで利用可能な ODBC ド ライバの一覧は多大なものになり ます。

注意 :注意 :注意 :注意 : DataStage では 32 ビッ トの ODBC ド ラ イバを利用してください。旧型の 16 ビッ ト ODBC ド ラ イバでは機能しません。 使っているド ラ イバが 32 ビッ トか 16 ビッ トか不明な場合、 システム管理者への確認が必要です。

作業の開始 2-11

Page 38: Datastage JPY Tutorial

順ファイル データ順ファイル データ順ファイル データ順ファイル データ順ファイル データはテキス ト ファイルまたはフラ ッ ト ファ イルと も呼ばれます。 これらは固定幅あるいは区切り記号付きのフォーマッ ト を持ちます。 DataStage ではユーザーが任意の区切り記号を選択できます。

順ファイルはローカル ド ライブ、 Windows NT サーバーへマップされたドライブのどのド ライブ上でも利用が可能です。

2-12 Ascential DataStage サーバージ ョブチュート リ アル

Page 39: Datastage JPY Tutorial

ダイレク ト アクセス データダイレク ト アクセス データダイレク ト アクセス データダイレク ト アクセス データダイレク ト アクセス データへは SQL を経由せず直接アクセスします。DSEngine, UniVerseハッシュ ファ イルは、 ダイレク ト アクセス データの一例です。 本書では、 SQL スク リプ ト を使ったテーブル フォームの UniVerse データや、 UniVerse ハッシュ ファ イルのデータへのアクセス方法を学習します。

作業の開始 2-13

Page 40: Datastage JPY Tutorial

DataStage ジ ョブからのデータへのアクセスDataStage ジ ョブからのデータへのアクセスDataStage ジ ョブからのデータへのアクセスDataStage ジ ョブからのデータへのアクセス

下図は、 このガイ ドのエクササイズで使うデータ型、 DataStage サーバージ ョブのデータ アクセスに使う ステージのタイプ、 およびステージで使う ファイル / テーブル定義のタイプの関係を示す図です。 例えば、UniVerse データはテーブルまたはハッシュ ファイルの形式を持つこ とができます。 各形式に異なるステージ タイプを使って、 異なるタイプの定義をインポートできます。

注意 :注意 :注意 :注意 : 上記の UniVerseの例は、内部 DSEngineデータまたは外部UniVerseデータの例です。外部 UniVerseデータは、ローカルにもリモートにも使えます。

各 DataStage データ型、 ファ イル定義とテーブル定義、 およびステージの詳細については、 『DataStageデザイナ ガイ ド 』 および 『DataStage サーバージ ョブ開発者ガイ ド』 を参照してください。

2-14 Ascential DataStage サーバージ ョブチュート リ アル

Page 41: Datastage JPY Tutorial

サンプル データのインスト ールサンプル データのインスト ールサンプル データのインスト ールサンプル データのインスト ールチュート リアル用のサンプル データをインス トールする前に、 まず DataStage Server Edition をインス トールしておかなければなり ません。 また処理を進める前に、 その他の必要なコンポーネン トが適切にインストール、 設定され、 機能しているかど うかも確認してください。 詳細は -viiiページ 「作業を開始する前に」 を参照してください。

サンプル データのインス トールと設定の手順は次のとおりです。

1. DataStage CDの Tutorialディレクトリから、サンプルデータをインストールします。

2. 既存のテーブルについてデータベース アカウン ト をチェッ クします。

3. SQL スク リプ ト を実行してデータベース テーブルを作成します。

4. テーブルのメ タデータを含む DataStage エクスポート ファ イルをインポート します。

チュート リアル用サンプル データのインス トールの手順は次のとおりです。

1. Windowsの場合 DataStage CDの Tutorialディレクトリにあるsetup.exeを実行します。

UNIXの場合 DataStage CDの UNIX/Tutorialディレクトリへ移動し、install.shを実行します。

DataStageチュートリアルのセットアッププログラムが起動します。

2. インストールプログラムが画面に表示する指示に従います。

注意 :注意 :注意 :注意 : インストールの途中で、DSNを選択するよう要求されます。DSNはデータベースアドミニストレータがあらかじめ指定しておく必要があります。しかし、[現在の DSN現在の DSN現在の DSN現在の DSN]リストボックスに DSNが 1 つも表示されない場合は、[Universe環境を使Universe環境を使Universe環境を使Universe環境を使用用用用 ]を選択してください。エクササイズでは、「DSEngineユーザー」固有の指示には必ず従ってください。

セットアッププログラムに必要な情報を入力したら、セットアッププログラムは、指定したインストール先ディレクトリへのファイルコピーを自動的に開始します。デフォルトのインストール先は、Windowsサーバーでは c:¥Ascential¥DataStage¥Tutorialディレクトリ、UNIXサーバーでは、uvhome/Tutorialディレクトリです。インストール先にコピーされるのは次のファイルです。

作業の開始 2-15

Page 42: Datastage JPY Tutorial

・ テキス ト ファ イル (順ファイルまたはフラ ッ ト ファ イルと しても使われます)

・ SQL DDL(Data Definition Language)スクリプトファイル・ DataStage エクスポートファイル「tutorial.dsx」

注意 :注意 :注意 :注意 : チュートリアルのエクササイズには、サンプルファイルのデフォルトインストール先についての記述が何度も出てきます。エクササイズでは、Windowsでのパス名と UNIXでのパス名の両方を毎回記述するのを避け、Windowsのデフォルトパスc:¥Ascential¥DataStage¥Tutorialを使っています。

2-16 Ascential DataStage サーバージ ョブチュート リ アル

Page 43: Datastage JPY Tutorial

テキスト ファイルテキスト ファイルテキスト ファイルテキスト ファイル各テキス ト ファ イルには、 データ内容に応じて名前が付いています。 インス トールされるテキス ト ファイルは以下のとおりです。

・ ITEMS.TXT・ PRICES.TXT・ MVPRICES.TXT・ TIME.TXT・ EBCDPROD.TXT・ PERCOL.TXT・ COLLATE.TXT

これらのファ イルは Windows の場合メモ帳やワードパッ ド、UNIX の場合 vi や emacs などのテキス ト エディ タで開いて確認できます。 この場合、ITEMS.TXT のレコードが固定幅であるのに対して、 PRICES.TXT ファイルはカンマ区切り ファ イルであるこ とに注意してください。 エクササイズでは DataStage がどのタイプのファイルも簡単に処理できるこ とを例証します。 EBCDPROD.TXT ファイルと PERCOL.TXT ファイルをこの方法で表示する と、 奇妙な内容に見える可能性のある点に注意してください。これらは NLS に関するエクササイズで使う ファイルです。EBCDPROD.TXT は EBCDIC 文字セッ ト を使っていて、 PERCOL.TXT の一部は日本語です。

作業の開始 2-17

Page 44: Datastage JPY Tutorial

SQL スクリプ ト ファイルSQL スクリプ ト ファイルSQL スクリプ ト ファイルSQL スクリプ ト ファイルSQL スク リ プト は、 チュート リ アル エクササイズで使う データベース テーブルを作成します。 下の表は SQL スク リ プト ファ イルと その目的をまと めたものです。

データベースデータベースデータベースデータベース スクリプ ト名スクリプ ト名スクリプ ト名スクリプ ト名 説明説明説明説明

Oracle 8 ORA_BLD.SQL Oracle データベースでサンプル データを作成します。

ORA_CLN.SQL エクササイズの完了後に Oracle データベースからサンプル データを削除します。

Sybase SYB_BLD.SQL Sybase データベースでサンプル データを作成します。

SYB_CLN.SQL エクササイズの完了後に Sybase データベースからサンプル データを削除します。

Informix INF_BLD.SQL Informix データベースにサンプル データを作成します。

INF_CLN.SQL エクササイズの完了後に Informix データベースからサンプル データを削除します。

Microsoft SQL Server

MSS_BLD.SQL MS SQL Server データベースにサンプル データを作成します。

MSS_CLN.SQL エクササイズの完了後に MS SQL Server データベースからサンプル データを削除します。

DB2 DB2_BLD.SQL IBM DB2データベースにサンプルデータを作成します。

DB2_CLN.SQL チュート リ アルエクササイズの終了後、IBM DB2データベースからサンプルデータを削除します。

DSEngine または UniVerse

UNI_BLD.SQL DSEngineデータベースに サンプルデータを作成します。

UNI_CLN.SQL チュート リ アルのエクササイズが終わった後、 DSEngineデータベースからサンプルデータを削除します。

2-18 Ascential DataStage サーバージ ョブチュート リ アル

Page 45: Datastage JPY Tutorial

使用するデータベースによって、 必要なスク リプ トは異なり ます。 上記のすべてのデータベースについて、 2-21ページ 「SQL スク リプ トの実行」 に適切なスク リプ ト実行のガイ ド ラインがあ り ます。

Windows の場合メモ帳やワードパッ ド、 UNIX の場合 vi や emacs などのワープロやテキス ト エディ タを使って、 スク リプ ト ファイルの内容を見るこ とができます。 スク リプ ト ファ イルはチュート リ アル セッ ト アップ プログラムの実行時に指定したインス トール先ディレク ト リへ保存されます。 デフォルトのディ レク ト リは、 Windows サーバーの場合は c:\Ascential\DataStage\Tutorial、 UNIX サーバーの場合は uvhome/Tutorial です。

作業の開始 2-19

Page 46: Datastage JPY Tutorial

サンプル データベース テーブルの作成サンプル データベース テーブルの作成サンプル データベース テーブルの作成サンプル データベース テーブルの作成これでチュート リ アル CD から c:\Ascential\DataStage\Tutorialディレクト リ (Windows) もし くは uvhome/Tutorial ディレク ト リ (UNIX)への SQL スク リプ トのインス トールが完了し、 SQL 環境を起動してサンプル データマート テーブルを 作成する スク リプ ト を実行できるよ うにな り ました。

エクササイズではク リーンなデータベースアカウン ト、 すなわちカタログ内にほかのテーブルが含まれていないアカウン トの使用を推奨します。これが不可能な場合、 次のテーブル名リ ス ト をチェッ クし、 使う アカウン トに同じ名前のテーブルが含まれていないこ とを確認してください。

顧客

従業員

収益

受注明細

従業員別価格

受注ヘッダ

価格

製品

四半期売上

リジェク ト

時間 (DSEngine または UniVerse ユーザーであれば、 TIME_)

警告 :警告 :警告 :警告 : カタログに上記リ ス トのテーブルと同じ名前のテーブルが 1 つでも存在する場合は、 エクササイズを進めるこ とはできません。エクササイズを実行する と、 既存のテーブルが破壊されてしまいます。 この場合データベース管理者に連絡して、 既存テーブルのないデータベースを用意しても ら う必要があ り ます。

サンプル テーブルを作成後、 テーブルのメ タデータを持つ DataStage エクスポート ファ イルをインポート します。

2-20 Ascential DataStage サーバージ ョブチュート リ アル

Page 47: Datastage JPY Tutorial

SQL スクリプ トの実行 スクリプ トの実行 スクリプ トの実行 スクリプ トの実行SQL スク リプ ト ファイルは SQL データベース環境でされます。稼働中のリ レーシ ョナル データベースによって、 SQL 環境の起動方法は異なり ます。 このセクシ ョ ンでは、 これらのデータベースでの SQL 環境の起動手順およびサンプル テーブル作成のためのスク リプ トの実行方法について説明します。 ただし、 使うデータベースや SQL 環境に応じて、 構文を調整する必要がある場合もあ り ます。 これらの詳細について不明な点はデータベース管理者に相談してください。

UNIX システムでサーバーを実行している場合でも、 Windows ク ライアントから SQL スク リプ ト を実行するこ とを推奨します (適切な SQL ク ライアン ト を使用)。

次の表は、 一般的な リ レーシ ョナル データベース SQL 環境の一部、 および各環境でのチュート リアル スク リプ トの実行手順が説明されているページを一覧表示したものです。

上記のデータベースについて知識がなく、システムにもインストールされていない場合は、DSEngineの UniVerse環境サポート機能を利用することをお勧めします。DataStageには UniVerseテーブルが用意されているため、自動的に UniVerseをサポートしたシステムとなります。DataStage は UniVerse データを ODBC データの特殊タイプと して扱います。 UniVerse を使う と きはチュート リ アルの詳細が一部異なるこ とがあり ますが、 このよ うな場合必ずその点を記載しています。

Oracle 8Oracle 8Oracle 8Oracle 8 の場合の場合の場合の場合 . . . . ― Windowsでは、 以下のとおり選択します。

・ [ スタートスタートスタートスタート ] から [ プログラムプログラムプログラムプログラム ]→ [Oracle for WindowsOracle for WindowsOracle for WindowsOracle for Windows]→ [SQL SQL SQL SQL Plus n.nPlus n.nPlus n.nPlus n.n] を選択して ください。

リレーショナル リレーショナル リレーショナル リレーショナル データベースデータベースデータベースデータベース 提供される SQL 環境提供される SQL 環境提供される SQL 環境提供される SQL 環境 参照ページ参照ページ参照ページ参照ページ

Oracle 8 SQL*Plus 2-21ページ

Sybase ISQL 2-22ページ

Informix DbAccess or ISQL 2-22ページ

Microsoft SQL Server ISQL/w 2-23ページ

DB2 Command Centre 2-23ページ

UniVerse Universe/SQL 2-23ページ

DSEngine DSEngine/SQL 2-23ページ

作業の開始 2-21

Page 48: Datastage JPY Tutorial

1. 必要に応じてユーザー名、 パスワード、 リモート接続文字列を入力します。

2. [Oracle 8 SQL*PlusOracle 8 SQL*PlusOracle 8 SQL*PlusOracle 8 SQL*Plus] ウ ィンドウで SQL プロンプトへ以下のとおり入力します。

SQL> @ora_bld.sql

注意 :注意 :注意 :注意 : Ascentialのインストール先が Cドライブではない場合は、正しいドライブ番号に置き換えてください(例 : @d:\sqldir\ora_bld.sql)。

スク リプ トが完了する と、 SQL プロンプ トが再表示されます。

3. SQL 環境セッシ ョ ンを終了します。 SQL*Plus で EXITEXITEXITEXIT と入力しウ ィンド ウを閉じます。

注意 :注意 :注意 :注意 : DataStageから Oracle用に提供された ODBC ド ラ イバを使う こ とをお勧めします (詳細は、 DataStage リ リース ノートの DataStage ODBC Driver を参照して ください)。

SybaseSybaseSybaseSybase の場合の場合の場合の場合 . . . . ― 作成スク リプ トの実行には 次の 2 通りの方法があり ます。

・ Windowsの場合。 [ スタートスタートスタートスタート ] から [ プログラムプログラムプログラムプログラム ]→ [Sybase for Sybase for Sybase for Sybase for Windows NTWindows NTWindows NTWindows NT]→ [WISQL32WISQL32WISQL32WISQL32] を選択します。

・ コマンド ラ イン (DOS プロンプ ト )へ以下のとおり入力します。

ISQL -e -I syb_bld.sql -o build.log -Uusername -Ppassword -Sservername

1. 第 1 の方法では、 [WISQL32WISQL32WISQL32WISQL32] ウ ィンド ウにユーザー名、 パスワード、データベース名、 サーバー名を入力します。

2. コマンド ウ ィンドウで次の文を実行します。

@syb_bld.sql

InformixInformixInformixInformix の場合 の場合 の場合 の場合 . . . . ― コマンド ライン (DOS プロンプ ト ) へ 以下のとおり入力します。

Dbaccess databasename inf_bld.sql > build.log

これでスク リプ トの出力先がファイルになり ます。 このファイルを参照してスク リプ トが正常に完了したこ とを検証できます。 データベース作成の際にはロギングをオンにして作成します。 オンにして作成しないとスク リプ ト障害になり ます。

2-22 Ascential DataStage サーバージ ョブチュート リ アル

Page 49: Datastage JPY Tutorial

Microsoft SQL ServerMicrosoft SQL ServerMicrosoft SQL ServerMicrosoft SQL Server の場合の場合の場合の場合 . . . . ― Windows では、 以下のとおり選択します。

[ スタートスタートスタートスタート ]→ [ プログラムプログラムプログラムプログラム ]→ [Microsoft SQL Server 6.5]→ [ISQL_w]

1. サーバー名、 ログイン ID、 必要に応じてパスワードを入力します。[ISQL/W] スク リーンが表示されます。

2. [DBDBDBDB] ド ロ ップダウン リ ス トボッ クスから適切なデータベースを選択します。

3. ツールバーの [SQL スク リプ トのロードスク リプ トのロードスク リプ トのロードスク リプ トのロード ] をク リ ッ ク します。

4. Ascential\DataStage\Tutorial フォルダから MSS_BLD.SQL ファイルを選択して [開く開く開く開く ] をク リ ッ ク します。

5. ツールバーの [ クエ リーの実行クエ リーの実行クエ リーの実行クエ リーの実行 ] アイコンをク リ ッ ク します。

[ISQL/w ResultsISQL/w ResultsISQL/w ResultsISQL/w Results ] ページに次のようなエラーメッセージが表示される場合があります :「Cannot drop the table 'xxx', because it doesn't exist in the system catalogs(テーブル 'xxx'はシステム カタログに存在しないためドロップできません)」このメッセージは存在しないテーブルを削除しようとしたスクリプトの結果返されるもので、実害はありません。

6. セッシ ョ ンを閉じて SQL 環境を終了します。

IBM DB2の場合 . IBM DB2の場合 . IBM DB2の場合 . IBM DB2の場合 . Windowsの場合は、 次を選択します。

[ スタートスタートスタートスタート ] → [ プログラムプログラムプログラムプログラム ] → [IIIIBM DB2BM DB2BM DB2BM DB2]→ [Command CenterCommand CenterCommand CenterCommand Center]

1. [InteractiveInteractiveInteractiveInteractive] タブで、 チュート リ アルスク リプ ト を作成したいデータベースに接続します。

2. [ScriptScriptScriptScript] タブで、 db2_bld.sql スク リプ ト をインポート します。

3. ツールバーの [ExecuteExecuteExecuteExecute] ボタンをク リ ッ ク します。

4. Command Center を閉じます。

DSEngineDSEngineDSEngineDSEngineまたはまたはまたはまたは UniVerseUniVerseUniVerseUniVerseの場合の場合の場合の場合 . . . . ― UniVerse と SQL に精通している必要があ り ます。 また十分なアクセス権と SQL DBA 権限が必要です。チュート リアルで使う DataStage プロジェク ト を以下のとおり設定します。

1. エクスプローラ、 ファ イル マネージャ、 または NT コマンド プロンプト (DOS プロンプト ) を使って、 UNI_BLD.SQL ファイルを DataStage チュート リ アル インス トール ディレク ト リから DataStage プロジェク ト ディレク ト リへコピーします (移動しないでください

作業の開始 2-23

Page 50: Datastage JPY Tutorial

)。 UNI_BLD.SQL は何度でも実行可能なスク リプ トですが、 実際には一度で十分です。

2. Telnet セッシ ョ ンをスタート し、 localhost へ接続してログインします。 [Account name or path] プロンプトで、 DataStage プロジェク トへの完全修飾パス名を入力し [ReturnReturnReturnReturn] キーを押します。

3. コマンドプロンプ トで、 UNI_BLD.SQL を UniVerse VOC ファイルへコピーします。

>COPY FROM &UFD& TO VOC UNI_BLD.SQL OVERWRITING

UNI_BLD.SQL は、 このチュート リ アルで必要なすべての SQL サンプル テーブルとビューを作成して配置するスク リプ トです。

4. 以下のとおり入力して UNI_BLD.SQL を実行します。

>UNI_BLD.SQL

5. QUITQUITQUITQUIT を入力して UniVerse を終了します。

2-24 Ascential DataStage サーバージ ョブチュート リ アル

Page 51: Datastage JPY Tutorial

DataStage エクスポート ファイルDataStage エクスポート ファイルDataStage エクスポート ファイルDataStage エクスポート ファイル

チュート リアル セッ ト アップ プログラムによって、 このチュート リアル エクササイズで使う完全なサンプル DataStage ジ ョブと メ タデータを含む DataStage エクスポート ファ イルがインス トールされます。 最初のチュート リ アル エクササイズでは、 まずこのサンプル ジ ョブを使います。 ジ ョブが設定され、 実行される方法を確認でき、 入力ファイルと出力ファイルを比較できます。 またその後のチュート リ アル エクササイズで使う メタデータを用意するこ とで独自のメ タデータ作成の必要をなく し、 時間を無駄にしないでエクササイズを開始できます。

サンプル ジ ョ ブと メ タデータのインポートサンプル ジ ョ ブと メ タデータのインポートサンプル ジ ョ ブと メ タデータのインポートサンプル ジ ョ ブと メ タデータのインポート

エクスポート ファイルからのジ ョブと メ タデータのインポートには、 マネージャを使います。 こ こではマネージャの機能を理解する必要はあ りません。 マネージャについては、 第 6章で独自のメ タデータを作成する方法について説明します。 チュート リ アルのセッ ト アップを行う間は、このガイ ドの指示に従って作業を実施してください。

DataStage マネージャを起動し、 チュート リ アル プロジェク トへ接続します。

1. [ スタートスタートスタートスタート ] から [ プログラムプログラムプログラムプログラム ]→ [Ascential DataStage]→[DataStage マネージャマネージャマネージャマネージャ ] を選択します。 [ プロジェク トへ接続プロジェク トへ接続プロジェク トへ接続プロジェク トへ接続 ] ダイアログボッ クスが開きます。

2. [ ホス ト システムホス ト システムホス ト システムホス ト システム ] フ ィールドにホス トの名前を入力します。 これは、 DataStage サーバーコンポーネン トがインス トールされているシステムの名前です。

3. [ユーザー名ユーザー名ユーザー名ユーザー名 ] フ ィールドにユーザー名を入力します。 これは、 サーバーシステムでのユーザー名です。

4. [パスワードパスワードパスワードパスワード ] フ ィールドにパスワードを入力します。

作業の開始 2-25

Page 52: Datastage JPY Tutorial

注意 :注意 :注意 :注意 : LAN Manager 経由でサーバーへ接続する場合は [省略省略省略省略 ] チェ ッ クボッ クスを選択できます。 この設定を行う と [ ユーユーユーユーザー名ザー名ザー名ザー名 ] フ ィールド と [ パスワードパスワードパスワードパスワード ] フ ィールドが淡色表示され、 現在の Windows NT ド メ イン アカウン ト詳細を使ってサーバーへログオンできます。

5. [プロジェク トプロジェク トプロジェク トプロジェク ト ] ド ロ ップダウン リ ス トボッ クスから接続するプロジェク ト を選択します。 これはチュート リ アル セッ ト アップ手順で選択したプロジェク ト を選択してください。

6. [設定を保存設定を保存設定を保存設定を保存 ] チェッ クボッ クスを選択して ログイン設定を保存します。

7. [OKOKOKOK] をク リ ッ ク します。 [DataStage マネージャDataStage マネージャDataStage マネージャDataStage マネージャ ] ウ ィンド ウが表示されます。

これで DataStage マネージャを使ってサンプル ジ ョブと メ タデータをチュート リアル プロジェク トへインポートする準備が完了しました。

1. [ インポートインポートインポートインポート ]→ [DataStage コンポーネン トDataStage コンポーネン トDataStage コンポーネン トDataStage コンポーネン ト ...] を選択します。[DataStage リ ポジ ト リ インポートDataStage リ ポジ ト リ インポートDataStage リ ポジ ト リ インポートDataStage リ ポジ ト リ インポート ] ダイアログボッ クスが表示されます。

2. [ インポート元ファイルインポート元ファイルインポート元ファイルインポート元ファイル ] フ ィールドで、 [...] ボタンを使ってチュート リ アル セッ ト アップ プログラムの実行時に指定したインポート先ディレク ト リ を参照します (デフォルトでは c:\Ascential\DataStage\Tutorial または dshome/Tutorial).

3. TUTORIAL.DSX ファ イルを選択します。

4. [すべてインポートすべてインポートすべてインポートすべてインポート ] オプシ ョ ン ボタンがまだ選択されていない場合は [すべてインポートすべてインポートすべてインポートすべてインポート ] オプシ ョ ン ボタンをク リ ッ ク します。

2-26 Ascential DataStage サーバージ ョブチュート リ アル

Page 53: Datastage JPY Tutorial

5. [OKOKOKOK] をク リ ッ ク します。 サンプル ジ ョブ Exercise1、 関連コンポーネン ト、 およびサンプル テーブルのメ タデータが DataStage リポジ トリへロード されます。

作業の開始 2-27

Page 54: Datastage JPY Tutorial

エクササイズのロード マッ プエクササイズのロード マッ プエクササイズのロード マッ プエクササイズのロード マッ プこのガイ ドで実行するエクササイズを以下に示します。 エクササイズは実行順に記載されています。 Exercise12 と 13 は複数値ファイルを扱う もので、 これらは DSEngine と UniVerse ユーザー向けのエクササイズです。Exercise18 から 20 は国別情報サポートの機能の例証で、 NLS がインストールされたシステム用です。 その他のユーザーは Exercise11 までで終了です。

エクササイズエクササイズエクササイズエクササイズ 内容内容内容内容

Exercise1 DataStageサーバーサンプルジ ョブのデザインと構成を表示し、 ジ ョブを実行します。 このエクササイズで、DataStageデザイナと DataStageディレク タの基本を理解します。

Exercise2 Exercise1 で表示したよ うなジ ョブを作成します。 このエクササイズでは、 順ファイル入力ステージ、 順ファイル出力ステージ、 およびト ランスフォーマステージを使います。 ITEMS.TXT をソースファ イルに使ってこれにデータ入力をし、 ターゲッ ト ファ イルITEMS_2.TXT を作成します。 このファ イルは、 次のエクササイズのデータソース とな り ます。

Exercise3 順ファイルステージをソースに、 ODBC ステージまたは UniVerse ステージをターゲッ トに 使ってジ ョブを作成します。 次に、 ト ランスフォーマステージを使って、 ソース と ターゲッ トの 「マッピング」 をします。このジ ョブでは、 データの操作は行われません。 2つのステージが結び付けられるだけです。 このエクササイズでは、 Exercise2で作成した順ファ イルITEMS_2.TXTから、 データマートの ITEMS テーブルへデータを読み込みます。

Exercise4 順ファイル、 ト ランスフォーマ、 ODBC (またはUniVerse) のそれぞれのステージを使用し、 独力でジ ョブを作成します。 これによって、 これまでのエクササイズの復習をします。 このエクササイズでは、 順ファイル PRICES.TXT から、 データマートの PRICESテーブルへデータを読み込みます

2-28 Ascential DataStage サーバージ ョブチュート リ アル

Page 55: Datastage JPY Tutorial

Exercise5 変換を使って、 時間領域に月列、 四半期列、 および年列を作成します。 入力に使用するのは、 日付列 1つで構成される順ファイル TIME.TXTだけです。 このエクササイズでは、 データマートに時間領域テーブルTIME を読み込みます。 このテーブルには、 日付、 月、四半期、 年の 4つの列があ り ます。 Exercise7では、 このファ イルの QUARTERデータを使います。

Exercise6 このエクササイズでは、 複数のソース と ターゲッ ト を同時に使い方を学びます。 こ こでは、 データマートのFACTS テーブルに、 ほかの 3つのデータソース(ITEMS テーブル、 ORDERS テーブル、 およびCUSTOMERS テーブル) を結合します。 また、 変換ロジッ クを作成し、 行の制約条件に基づいて出力を代替ターゲッ トの REJECTS テーブルにリダイレク ト します。

Exercise7 このエクササイズでは、 アグ リゲータステージについて学びます。 アグ リゲータステージでデータマートの Q_SALES サマリーテーブルにデータを入力し、 TIMEテーブルと FACTS テーブルのデータをグループ化します。 これら 2つのテーブルは、 それぞれ Exercise5と 6 でデータが入力されています。

これでデータマートに関するエクササイズは終了です。 この後のエクササイズでは、 これまでに説明してきたチュート リ アルのデータマート スキーマ以外の、DataStageのさまざまな部分を学びます。

Exercise8 サンプルデータベーステーブルの定義を リポジ ト リにインポートするこ とでメ タデータを作成します。 このエクササイズと次のエクササイズで、 DataStage マネージャの基本を理解します。

Exercise9 カンマ区切 り順ファ イルのテーブルと列の定義を作成します。

このエクササイズで、 リポジ ト リにテキス ト ファ イルMYPRICES.TXTの定義を手動で作成する方法を学びます。 さ らに、 リ ポジ ト リの中にどのよ うな形式でメ タデータが定義されているかを調べます。

Exercise10 Exercise8 と 9 で作成したメ タデータを使用するシンプルなジ ョブを作成します。

作業の開始 2-29

Page 56: Datastage JPY Tutorial

Exercise11 このエクササイズでは、 ジ ョブデザインデバッガでチェ ッ クするジ ョブを作成します。 作成するジ ョブは、 新規作成した順ファイル ITEMS_11.TXTに、ITEMS テーブルからデータを入力します (ITEMS テーブルには、 Exercise3でデータを入力しています)。 そして、 ジ ョブに リ ンクのブレークポイン ト を設定し、ジ ョブをチェッ ク しながらデータの変更点を表示する方法を学びます。

Exercise12 このエクササイズと次の Exercise13は、 UniData、DSEngine、 UniVerseのどれかの環境を使っているユーザーだけが行います。 このエクササイズでは、 チュート リ アルインス トールプログラムを実行したと きにインス トールされたファ イルを基に、 繰 り返し列を持つハッシュファ イル MVPRICES を作成します。 そして、MVPRICESから、 テーブルと列の定義を作成します。

Exercise13 UniData ステージまたは ハッシュファ イルステージをソース と し、 ODBC ステージまたは UniVerse ステージをターゲッ ト と してジ ョブを作成します。 ソースファイル MVPRICESには、 繰 り返し列データレコードが格納されています。 このエクササイズでは、 このファ イルからデータをデータマートの PRICES テーブルに標準形式で読み込みます。 このエクササイズは、UniData、 DSEngine、 または UniVerseのユーザーがExercise12 を終えた後にだけ行います。

Exercise14 ローカルコンテナを構築して解除します。 ローカルコンテナのエクササイズには、 Exercise1 で作成したジ ョブを使います。

Exercise15 共用コンテナを構築します。 既存のジ ョブから共用コンテナを構築する手順を示すために、 Exercise2 で作成したジ ョブを使います。

Exercise16 ジ ョブで共用コンテナを使います。 Exercise15 で構築した共用コンテナを使って、 新規でジ ョブを作成します。

Exercise17 ジ ョブシーケンスを使います。 Exercise2, 3, 4 で作成したジ ョブを続けて実行するジ ョブシーケンスを構築して、 すべてが正常に終了したこ とをチェッ ク します。

2-30 Ascential DataStage サーバージ ョブチュート リ アル

Page 57: Datastage JPY Tutorial

表 2-2 にエクササイズの概略を示します。エクササイズの流れと、エクササイズ間で流用されるファイルやテーブルの関係がわかりやすくまとめられています。

Exercise18 順ファイルステージをソース と し、 ODBC ステージまたは UniVerse ステージをターゲッ ト と してジ ョブを作成します。 作成するジ ョブは、 EBCDIC文字コードセッ トのデータを入力と して使用し、 ASCII文字コードセッ トでデータを出力します。 このエクササイズでは、 例えば互換性のない文字コードセッ ト を使用するメ インフレーム間でデータを移動する と きなどに、 どのよ うにすれば NLS を使えるかを学びます。

Exercise19 このエクササイズでは、 列単位のマッピングをします。 順ファ イルステージをソース と ターゲッ ト とするジ ョブを作成します。 ソーステーブルには、 文字コードセッ トが異なる 4つの列で構成されているテーブルを使います。 作成するジ ョブは、 4つの列すべてが同じ文字コードセッ トのテーブルを出力します。

Exercise20 このエクササイズでは、 ロケールの違いがデータにどのよ うな影響を及ぼすかを学びます。 作成したジ ョブでまず 「US-English」 ロケールでデータをソート し、次に同じ処理を 「FR-French」 ロケールで実行します。この 2つの実行結果を比較し、 それぞれのロケールのソート規則の違いを調べます。

表 2-2. エクササイズの概略表 2-2. エクササイズの概略表 2-2. エクササイズの概略表 2-2. エクササイズの概略

エクサエクサエクサエクササイズサイズサイズサイズ

ソースソースソースソース ターゲッ トターゲッ トターゲッ トターゲッ ト 概略概略概略概略

1 ITEMS.TXT ITEMS_1.TXT サンプルジ ョブ。 固定長ファ イルからカンマ区切りファ イルへの変換。

2 ITEMS.TXT ITEMS_2.TXT 固定長ファ イルからカンマ区切り ファ イルへの変換。列 2つの単純なデータ変換。

3 ITEMS_2.TXT ITEMS カンマ区切り ファ イルからテーブルへの変換。 入力列と出力列の順序が変わり ます。

4 PRICES.TXT PRICES Exercise3 と同じ。

作業の開始 2-31

Page 58: Datastage JPY Tutorial

5 TIME.TXT TIME ソース メ タデータを手動で作成します。 月、 四半期、および年を取得する 3種類の変換式を作成します。

6 ITEMSORDERSCUSTOMERS

FACTSREJECTS

3つのテーブルから ソース列を選択します。 制約条件で出力を制御します。

7 TIMEFACTS

Q_SALES 2つのテーブルから ソース列を選択します。 アグ リゲータステージを設定します。 四半期のサマ リーを作成します。

8 N/A N/A リ レーシ ョナルデータベーステーブル MYPRICESからメ タデータをインポート します。

9 N/A N/A 順ファイル MYPRICES.TXTのメ タデータを作成します。

10 MYPRICES.TXT

MYPRICES Exercise8 と 9 で作成したメタデータを利用するためのジ ョブ。

11 ITEMS ITEMS_11.TXT デバッグのエクササイズに使用する単純なジ ョブ。

12 N/A N/A 繰り返し列を持つハッシュファ イル MVPRICESから メタデータをインポート します。

13 MVPRICES PRICES 繰り返し列ファ イルを正規化し、 テーブルに出力します。 Exercise12 で作成したメ タデータを使います。

14 ITEMS.TXT ITEMS_1.TXTITEMSITEMS_3.TXT

ローカルコンテナの構築と解除で、 Exercise1 のジ ョブを使います。

表 2-2. エクササイズの概略 (続き )表 2-2. エクササイズの概略 (続き )表 2-2. エクササイズの概略 (続き )表 2-2. エクササイズの概略 (続き )

エクサエクサエクサエクササイズサイズサイズサイズ

ソースソースソースソース ターゲッ トターゲッ トターゲッ トターゲッ ト 概略概略概略概略

2-32 Ascential DataStage サーバージ ョブチュート リ アル

Page 59: Datastage JPY Tutorial

15 ITEMS.TXT ITEMS_2.TXT 共用コンテナを構築するために、 Exercise2のジ ョブを使います。

16 ITEMS.TXT ITEMS_4.TXT Exercise15 で構築した共用コンテナを使ったデモを実行するジ ョブです。

17 ITEMS.TXTITEMS_2.TXTPRICES.TXT

ITEMS_2.TXTITEMSPRICES

ジ ョブシーケンスを構築して使用するデモを実行するジ ョブです。 Exercise2, 3,4のジ ョブを使います。

18 EBCDPROD.TXT

PRODUCTS NLSの基本文字コードセット変換機能を実行するためのジ ョブ。

19 PERCOL.TXT COLOUT.TXT NLS下で列単位のマッピングを使い方を学びます。

20 COLLATE.TXT

COLLATE.OUT NLS下でロケールの使い方を学ぶためのジ ョブ。

表 2-2. エクササイズの概略 (続き )表 2-2. エクササイズの概略 (続き )表 2-2. エクササイズの概略 (続き )表 2-2. エクササイズの概略 (続き )

エクサエクサエクサエクササイズサイズサイズサイズ

ソースソースソースソース ターゲッ トターゲッ トターゲッ トターゲッ ト 概略概略概略概略

作業の開始 2-33

Page 60: Datastage JPY Tutorial

2-34 Ascential DataStage サーバージ ョブチュート リ アル

Page 61: Datastage JPY Tutorial

3サンプル ジ ョ ブ

この章では、 作成済みの DataStage サンプル ジ ョブについて説明します。ジ ョブ Exercise1 は、第 2章で説明に従ってチュート リ アル インス トール プログラムを実行した際にインス トールされています。 このジ ョブは固定幅順ファイルからデータを抽出し、 それをカンマ区切りの順ファイルへ書き込みます。

ジ ョブを構成するステージは以下のとおりです。

・ ソース ファイルからのデータ抽出を処理する順ファイル ステージ

・ ターゲット ファイルへのデータ書き込みを処理する順ファイル ステージ

・ 入力列と出力列をリンクする トランスフォーマ ステージ

ジ ョブの各ステージの設定内容を確認してください。 ジ ョブの構造の構築やジ ョブへの特定ファイルの結合を、 DataStage デザイナでど う容易に行えるかを確認します。 最後にジ ョブをコンパイルして実行し、 ソース ファ イルと ターゲッ ト ファイルとを比較します。

非常に基本的なジョブですが、DataStageの(特にデザイナインタフェースの)概要を知るのに便利です。この章で学んだことを応用すれば、すぐにより高度なジョブを作成できるようになります。

ソース ファ イルは固定幅順ファイル ITEMS.TXT です。 これは 第 2章 でインス トールしたサンプル ファイルの 1 つです。ファイルは c:\Ascential \Datastage\Tutorial (Windows サーバー) または dshome/Tutorial (UNIX サーバー )に保存されています。 Windows の場合メモ帳やワードパッ ド、UNIX の場合 vi や emacs などのテキス ト エディ タを使って内容を確認できます。

サンプル ジ ョ ブ 3-1

Page 62: Datastage JPY Tutorial

ファ イルは以下のよ うな内容です。

ターゲッ ト ファ イルはジ ョブを実行する と作成されます。 このデータはカンマ区切り フォーマッ トでファイルへ書き込まれます。

注意 :注意 :注意 :注意 : このチュート リアルのエクササイズではサンプル ファイルのデフォルト位置にしばしば言及していますが、 これは、 いちいち Windows および UNIX のパス名を繰り返すのを避けるためです。エクササイズではデフォルトの Windows パス、 c:\Ascential DataStage\Tutorial を使います。 UNIX サーバー上でチュート リ アルを実行している場合には、 エクササイズ内のサンプル ファ イルのデフォルト パス名は dshome/Tutorial とな り ます。

3-2 Ascential DataStage サーバージ ョブチュート リ アル

Page 63: Datastage JPY Tutorial

Exercise1: サンプル ジョ ブの参照と実行Exercise1: サンプル ジョ ブの参照と実行Exercise1: サンプル ジョ ブの参照と実行Exercise1: サンプル ジョ ブの参照と実行DataStageジョブは、デザイナで開きます。デザイナは、新規作成したジョブをコンパイルして実行する前の段階で使います。このチュートリアルでは、デザイナを頻繁に使って、ジョブの新規作成と設定をします。

ほとんどのエクササイズでは、エクササイズを始める前にデザイナを起動し、デザイナウィンドウについて知っておく必要があります。このチュートリアルでは、サンプルジョブの主な機能を説明するだけでなく、エクササイズのすべての課程を修了するために必要なデザイナの知識についても十分説明しています。詳細については、『DataStageデザイナ ガイド』を参照してください。

DataStageデザイナDataStageデザイナDataStageデザイナDataStageデザイナ

DataStageデザイナでは、データソースからターゲットデータウェアハウスまでのデータの流れと変換過程をビジュアルにモデル化して、ジョブを作成します。デザイナのグラフィカルインタフェースを使うと、ステージアイコンの選択とデザイナキャンバスへのドロップ、および、ステージ間のリンク設定を行えます。次に、ステージエディタを使って、必要なアクションとプロセスをステージとリンクごとに定義します。最後に、ジョブをコンパイルして実行します。

DataStage デザイナの起動DataStage デザイナの起動DataStage デザイナの起動DataStage デザイナの起動

[ スタートスタートスタートスタート ] から [ プログラムプログラムプログラムプログラム ]→ [Ascential DataStage]→ [DataStage デデデデザイナザイナザイナザイナ ] を選択し、 DataStage デザイナを起動します。 [プロジェク トへプロジェク トへプロジェク トへプロジェク トへ接続接続接続接続 ] ダイアログボッ クスが表示されます。

注意 :注意 :注意 :注意 : このダイアログボッ ク スは、 DataStage プログラム フォルダから DataStage マネージャ、 デザイナ、 またはディ レクタの各ク ラ イア

サンプル ジ ョ ブ 3-3

Page 64: Datastage JPY Tutorial

ン ト コンポーネン ト を起動する と表示されます。 どの場合もログイン詳細を入力してプロジェク トへ接続しなければなり ません。

プロジェク トへの 接続手順は以下のとおりです。

1. [ ホス ト システムホス ト システムホス ト システムホス ト システム ] フ ィールドにホス ト名を入力します。 DataStage サーバーコンポーネン トがインス トールされているシステムの名前です。

2. [ユーザー名ユーザー名ユーザー名ユーザー名 ] フ ィールドにユーザー名を入力します。 サーバーシステムのユーザー名です。

3. [パスワードパスワードパスワードパスワード ] フ ィールドにパスワードを入力します。

注意 :注意 :注意 :注意 : LAN Manager 経由でサーバーへ接続する場合は [省略省略省略省略 ] チェ ッ クボッ クスを選択できます。 この場合 [ ユーザー名ユーザー名ユーザー名ユーザー名 ] フ ィールド と [ パスワードパスワードパスワードパスワード ] フ ィールドが淡色表示され、 現在の Windows NT ド メ イン アカウン ト詳細を使ってサーバーへログオンできます。

4. [プロジェク トプロジェク トプロジェク トプロジェク ト ] リ ス トから接続するプロジェク ト を選択します。 このリ ス トボッ クスには DataStage サーバーへインス トールされているプロジェク トがすべて表示されます。 この時点でシステムにプロ

3-4 Ascential DataStage サーバージ ョブチュート リ アル

Page 65: Datastage JPY Tutorial

ジェク トが 1 つだけインス トールされている場合は、 このプロジェク トがデフォルトで表示されます。

5. [設定を保存設定を保存設定を保存設定を保存 ] チェッ クボッ クス を選択してログイン設定を保存します。

6. [OK]をクリックします。[新規新規新規新規 ]ダイアログボックスが表示されます。

7. [新規サーバージ ョブ新規サーバージ ョブ新規サーバージ ョブ新規サーバージ ョブ ]アイテムをクリックし、[OK]をクリックします。新しいキャンバスに、[DataStageデザイナデザイナデザイナデザイナ ]ウィンドウが表示されます。

サンプル ジ ョ ブ 3-5

Page 66: Datastage JPY Tutorial

[DataStage デザイナ ] ウィンドウ[DataStage デザイナ ] ウィンドウ[DataStage デザイナ ] ウィンドウ[DataStage デザイナ ] ウィンドウ

[DataStageデザイナデザイナデザイナデザイナ ]ウィンドウの構成要素を次に示します。

・ [ジョブジョブジョブジョブ ]ウィンドウ。ここで、ジョブをデザインします。

・ [ プロパティプロパティプロパティプロパティ ブラウザブラウザブラウザブラウザ ]ウィンドウ。ここに、選択したジョブのプロパティを表示できます。

・ [リポジトリリポジトリリポジトリリポジトリ ]ウィンドウ。ここに、プロジェクトを構成しているコンポーネントを表示できます。

・ ツールバー。ここで、デザイナの機能を選択します。

・ ツールパレット。ここで、ジョブコンポーネントを選択します。

・ デバッグツールバー。ここで、デバッグの機能を選択します。

・ ステータスバー。ここに、ウィンドウの構成要素のオンラインヘルプや、ジョブの現在の稼働状態(コンパイル中など)が表示されます。

[デザイナデザイナデザイナデザイナ ]ウィンドウのプルダウンメニューやショートカットメニューなどの詳細については、『DataStageデザイナ ガイド』を参照してください。

3-6 Ascential DataStage サーバージ ョブチュート リ アル

Page 67: Datastage JPY Tutorial

[ ジ ョ ブ ] ウィンドウ[ ジ ョ ブ ] ウィンドウ[ ジ ョ ブ ] ウィンドウ[ ジ ョ ブ ] ウィンドウ

[ジョブジョブジョブジョブ ]ウィンドウは、DataStageジョブをデザインするためのメインウィンドウです。

・ ジョブはそれぞれ別のウィンドウに表示され、複数のジョブを同時に開くことができます。

・ タイトルバーには、ジョブ名とカテゴリが表示されます。

・ ウィンドウには、各ステージを正確に配置するためのグリッド線があります。グリッド線を非表示にすることもできます。オブジェクトをグリッド線に合わせて配置することもできます。

・ コンテナステージを使っているときは、ウィンドウ下部のタブでジョブを選択できます。

サンプル ジ ョ ブ 3-7

Page 68: Datastage JPY Tutorial

[ リポジ ト リ ]ウィンドウ[ リポジ ト リ ]ウィンドウ[ リポジ ト リ ]ウィンドウ[ リポジ ト リ ]ウィンドウ

[リポジトリリポジトリリポジトリリポジトリ ]ウィンドウには、プロジェクトのすべてのコンポーネントが階層的なツリーで表示されます。

[リポジトリリポジトリリポジトリリポジトリ]ウィンドウの表示 /非表示は、メニューで [ビュービュービュービュー]→[リポジリポジリポジリポジトリトリトリトリ ]を選択することで切り替えできます。

3-8 Ascential DataStage サーバージ ョブチュート リ アル

Page 69: Datastage JPY Tutorial

[デザイナ ] ツールバー[デザイナ ] ツールバー[デザイナ ] ツールバー[デザイナ ] ツールバー

デザイナ ツールバーには 次のボタンがあります。

このツールバーのボタンにカーソルを位置づけると、ツールチップス(ヒント)が表示されます。同時に、ステータスバーにもボタンの機能説明が表示されます。

このツールバーは、デフォルトではメニューバーの下に表示されますが、ドラッグして画面の任意の位置に移動できます。[デザイナデザイナデザイナデザイナ ]ウィンドウの端まで移動すると、ウィンドウの側面に貼り付きます。

デザイナツールパレッ トデザイナツールパレッ トデザイナツールパレッ トデザイナツールパレッ ト

ツールパレットには、ジョブデザイナに登録できるコンポーネントを表すボタンがあります。

パレッ トには、 利用可能なツールを編成するための異なるグループがあり ます。 グループタイ トルをク リ ッ クする とグループが開きます。 使用頻度の高いツールを [お気に入りお気に入りお気に入りお気に入り ] グループにド ラ ッグしておけば、 これらのツールにすぐにアクセスできます。 ジ ョブや共用コンテナなどの

やり直し

ジョブを開く

ジョブを保存

すべてのジョブを保存

ジョブプロパティ

カット

コピー

ペースト

新規 ジョブ(ドロップダウンリストからタイプを選択)

戻る

ローカルコンテナの構築

共用コンテナを構築

ジョブをコンパイル

実行

グリッド線

リンクマーキング

 注釈

グリッドに合わせる

ズームイン

ズームアウト

印刷

ヘルプ

サンプル ジ ョ ブ 3-9

Page 70: Datastage JPY Tutorial

その他の項目も、 リポジ ト リ ウ ィ ンド ウから このグループにド ラ ッグできます。

パレッ トには、 プラグイングループにインス トールされた任意のサーバージ ョブプラグインステージを入れるこ と もできます。

デザイナツールバーの場合と同様に、ツールパレットの移動とサイズ変更も可能です。ツールパレットのボタンにカーソルを位置づけると、ツールチップスが表示されます。同時に、ステータスバーにもボタンの機能説明が表示されます。

注意 :注意 :注意 :注意 : ツールバーまたはツールパレッ トのタイ トル (タイ トルが表示されていないと きは、 ツールバーのボタン以外の部分) をダブルクリ ッ クするこ とで、 ツールバーまたはツールパレッ ト をウ ィ ンドウにド ッキングした り、 ド ッキングを解除した りできます。

デバッグツールバーデバッグツールバーデバッグツールバーデバッグツールバー

デバッグツールバーには、ジョブデバッガの各機能を表すボタンがあります。デフォルトでは、このツールバーは表示されていません。

[ビュービュービュービュー]→ [デバッグバーデバッグバーデバッグバーデバッグバー]を選択することで、デバッグツールバーの表示 /非表示を切り替えできます。

3-10 Ascential DataStage サーバージ ョブチュート リ アル

Page 71: Datastage JPY Tutorial

デザイナツールバーと同様に、ツールバーのボタンにカーソルを位置づけると、ツールチップスが表示されます。

第 7章 の Exercise11でデバッガの使い方を説明しますが、ここでツールバーについてより詳細に説明します。

サンプルジ ョブのオープンサンプルジ ョブのオープンサンプルジ ョブのオープンサンプルジ ョブのオープン

サンプルジョブは、次のどちらかの方法で開きます。

・ 空白の [デザイナデザイナデザイナデザイナ ]ウィンドウで開く(3-6ページ参照)。

・ デザイナが自動的に表示する [新規新規新規新規 ]ダイアログボックスで開く( 3-6ページ参照)。

サンプルジョブ を開くには

1. 次のどちらかを実行します。

・ 空白の [デザイナデザイナデザイナデザイナ ]ウィンドウを使用する場合は、[ファイルファイルファイルファイル ]→[開く開く開く開く ]を選択します。[開く開く開く開く ]ダイアログボックスが表示されます。[既存既存既存既存 ]ページが先頭に表示されています。

・ [新規新規新規新規 ]ダイアログボックスを使用する場合は、[既存既存既存既存 ]タブをクリックして、[既存既存既存既存 ]ページを開きます。

サンプル ジ ョ ブ 3-11

Page 72: Datastage JPY Tutorial

2. [Exercise1]をダブルクリックします。ジョブ「Exercise1」が [DataStageデザイナジ ョブデザイナジ ョブデザイナジ ョブデザイナジ ョブ ]ウィンドウに表示されます。

サンプルジ ョブのレイアウトサンプルジ ョブのレイアウトサンプルジ ョブのレイアウトサンプルジ ョブのレイアウト

DataStage デザイナ ウ ィンド ウの左側に ITEMS_TXT という ラベルが付いた順ファイル ステージ、 ウ ィンドウの右側に ITEMS_1_TXT という ラベルが付いたも う 1 つの順ファイル ステージがあり ます。

ウ ィンド ウの中央に SEQTOSEQ という ラベルが付いた ト ランスフォーマ ステージがあり ます。

幾つかのステージをリンクして、ジョブのデータの流れを定義します。この場合は、ITEMS_TXTから、トランスフォーマステージを経由して、ITEMS_1_TXTにデータが流れます。これらのリンクには、それぞれ「Input」と「Output」がマーキングされています。

リンクの小さいアイコンはリンクマーカーです。これは、リンクにメタデータがいつ読み込まれるかを表します。[ビュービュービュービュー ]メニュー上のリンクマーカーを非表示にすることもできます。

ジ ョ ブ ステージの設定の参照ジ ョブ ステージの設定の参照ジ ョブ ステージの設定の参照ジ ョブ ステージの設定の参照

[ ジ ョブジ ョブジ ョブジ ョブ ] ウ ィンド ウでジ ョブの基本的構造を見るこ とができます。 次のステップは各ステージの設定を参照するこ とです。 設定情報で各順ファイル ステージへ接続するファイルが識別され、 適切なメ タデータが指定され、 必要なデータ プロセスが定義されます。

3-12 Ascential DataStage サーバージ ョブチュート リ アル

Page 73: Datastage JPY Tutorial

ソース順ファイル ステージソース順ファイル ステージソース順ファイル ステージソース順ファイル ステージ

まず左端のステージ ITEMS_TXT から参照を開始します。 これは順ファイルからのデータ抽出を処理するステージです。 このステージは次の各項目を指定します。

・ データの抽出元となるファイルの保存場所・ ファイル名・ ファイル フォーマット・ ファイルのデータ列の定義

1. ITEMS_TXT 順ファイル ステージをダブルク リ ッ ク します。 [順ファ順ファ順ファ順ファイル ステージイル ステージイル ステージイル ステージ ] ダイアログボッ クスが開き、 [全般全般全般全般 ] タブが表示されます。

・ [説明説明説明説明 ] ボッ クスはジ ョブ設計者がステージの簡単な説明を記述するための場所です。

・ [ステージは名前付きパイプを使用ステージは名前付きパイプを使用ステージは名前付きパイプを使用ステージは名前付きパイプを使用 ]オプションを使うと、大きなジョブを分割できます。

・ [ステージはフ ィルタコマンドを使用ステージはフ ィルタコマンドを使用ステージはフ ィルタコマンドを使用ステージはフ ィルタコマンドを使用] オプシ ョ ンでは、 フ ィルタコマンドを指定して入力または出力リ ンクでデータを処理できます (実際のフ ィルタコマンドの詳細は [入力入力入力入力 ]ページまたは [出力出力出力出力]ページで指定します)。

・ [行終端行終端行終端行終端 ]オプションを使うと、使っている OSの行終端記号の種別を選択できます。

サンプル ジ ョ ブ 3-13

Page 74: Datastage JPY Tutorial

2. NLS を使っている場合、 [NLSNLSNLSNLS] タブをク リ ッ ク します。 [NLSNLSNLSNLS] タブには、 このステージで使われるマップが表示されます。 またこのページでは、 プロジェク トやジ ョブのデフォルト文字セッ ト マップに代わる、 順ファ イル ステージでの別の文字セッ ト マップの使用を定義するこ と もできます。 ただし、 このエクササイズではデフォルト文字セッ ト マップを使います。

3. [出力出力出力出力 ] タブをク リ ッ ク します。

・ ページ上部の [出力名出力名出力名出力名 ] フ ィールドでは、 このステージから ト ランスフォーマ ステージへのリ ンク名を指定します。

・ [全般全般全般全般 ] タブでは、 [ ファイル名ファイル名ファイル名ファイル名 ] フ ィールドにこのステージと接続するファイルへのパス名が表示されます。 Tutorialディレク ト リは使用中です。 そこへサンプルデータをロード したため ( 2-15ページ 「サンプル データのインス トール」 を参照)、 [ ファイル名ファイル名ファイル名ファイル名] フ ィールドは、 例えば下記のよ うに、 対象のディレク ト リおよびITEMS.TXT ファ イルを指定するこ と と します。

c:¥Ascential¥DataStage¥Tutorial¥ITEMS.TXT

3-14 Ascential DataStage サーバージ ョブチュート リ アル

Page 75: Datastage JPY Tutorial

注意 :注意 :注意 :注意 : ステージ名には日本語英数字とアンダースコア ( 下線 ) しか使えないため、順ファイル ステージの名前は接続ファイルの名前とは多少異なります。

4. [データの参照 ...データの参照 ...データの参照 ...データの参照 ...] をク リ ッ ク します。 これでデータ ブラウザが起動し、 ITEMS.TXT のデータが表示されます。

ITEMS.TXT の列名は、 データ ブラウザの最上部に表示されます。データ ブラウザは非常に有効なツールで、 チュート リ アル エクササイズの実行中も ソース データやターゲッ ト データをモニタ リ ングできます。

サンプル ジ ョ ブ 3-15

Page 76: Datastage JPY Tutorial

5. [ 閉じる閉じる閉じる閉じる ] をクリックしてデータ ブラウザを閉じます。

6. [ フォーマッ トフォーマッ トフォーマッ トフォーマッ ト ] タブをク リ ッ ク します。

このタブでは ITEMS.TXT のフォーマッ ト を定義します。 このファイルは固定幅順ファイルであるため [固定幅列固定幅列固定幅列固定幅列 ] チェッ クボッ クスがチェッ ク されています。

3-16 Ascential DataStage サーバージ ョブチュート リ アル

Page 77: Datastage JPY Tutorial

7. [列列列列 ] タブをク リ ッ ク します。

こ こでは ITEMS.TXT の列定義、 すなわちメ タデータを確認できます。 ITEMS_TXT の各列の情報を含むメ タデータ行があ り ます。 このチュート リアルでは、 DataStage リポジ ト リから定義をロードする方法についても後述します。

8. [OKOKOKOK] をク リ ッ ク して [順ファイル ステージ順ファイル ステージ順ファイル ステージ順ファイル ステージ ] ダイアログボッ クスを閉じます。 これでジ ョブの入力ファイルは完了です。

ターゲット順ファイル ステージターゲット順ファイル ステージターゲット順ファイル ステージターゲット順ファイル ステージ次にジ ョブの出力ステージを確認します。 これも順ファイルで、 このダイアログボッ クスは入力ステージのダイアログボッ クス とほぼ同内容です。 ターゲッ ト ファイルを定義する手順は、 ソースファイルを定義する手順に非常に良く似ています。

サンプル ジ ョ ブ 3-17

Page 78: Datastage JPY Tutorial

1. ITEMS_1_TXT 順ファイル ステージをダブルク リ ッ ク します。 [順ファ順ファ順ファ順ファイル ステージイル ステージイル ステージイル ステージ ] ダイアログボッ クスが表示されます。

このステージのダイアログボッ クスには、 [出力出力出力出力 ] タブではなく [入入入入力力力力 ] タブが表示されています。 このステージはジ ョブの最後のステージであるためほかのステージへの出力はなく、 前のステージからの入力を受けるだけです。

3-18 Ascential DataStage サーバージ ョブチュート リ アル

Page 79: Datastage JPY Tutorial

2. NLS を使っている場合、 [NLSNLSNLSNLS] タブをク リ ッ ク します。 このステージに適用される NLS マップがハイライ ト表示されます。 こ こではデフォルト マップを使っています。

3. [入力入力入力入力 ] タブをク リ ッ ク します。

・ このステージは、 ト ランスフォーマ ステージそのものから というよ り も、 ト ランスフォーマ ステージとの間のリ ンクから入力を受けるステージであるため、 [入力名入力名入力名入力名 ] フ ィールドではリ ンク名が Output と指定されています。 [全般全般全般全般 ] タブで、 [ ファ イル名ファ イル名ファ イル名ファ イル名 ]フ ィールドは出力ファイルのパス名を指定します。 これを使って、下記の例のよ うに、 データが Tutorialディレク ト リの ITEMS_1.TXTに書き込まれるよ うに指定します。

c:¥Ascential¥DataStage¥Tutorial¥ITEMS_1.TXT

・ このタブでは [ 更新アクション更新アクション更新アクション更新アクション ] グループの [ 既存ファイルに上既存ファイルに上既存ファイルに上既存ファイルに上書き書き書き書き ] オプションボタンも選択されています。これは、出力ファイルがすでに存在している場合の出力ファイル更新方法を決定します。ここでは出力ファイルが存在していないため、ジョブの最初の実行時に ITEMS_1.TXT が作成されます。その後同じジョブを実行するとファイルが上書きされます。

サンプル ジ ョ ブ 3-19

Page 80: Datastage JPY Tutorial

注意 :注意 :注意 :注意 : ここで [データの参照データの参照データの参照データの参照 ]をクリックするとエラーメッセージが表示されます。1度ジョブを実行するまではファイルが生成されないからです。

4. [ フォーマッ トフォーマッ トフォーマッ トフォーマッ ト ] タブをク リ ッ ク します。

このページは ITEMS_1.TXT のフォーマッ ト を定義します。 出力データはカンマ区切り ファ イルへ書き込まれるため、 カンマ区切り文字が指定され [固定幅列固定幅列固定幅列固定幅列 ] チェッ クボッ クスはチェッ ク されていません。

3-20 Ascential DataStage サーバージ ョブチュート リ アル

Page 81: Datastage JPY Tutorial

5. [列列列列 ] タブをク リ ッ ク して ITEMS_1.TXT のデータの列定義を参照します。

Exercise1 はフ ィールド フォーマッ ト を変更しないサンプル ジ ョブです。 したがって、 出力ステージでは入力ステージと同じ列定義が適用されます。

6. [OKOKOKOK] をク リ ッ ク し [順ファイル ステージ順ファイル ステージ順ファイル ステージ順ファイル ステージ ] ダイアログボッ クスを閉じます。

ト ランスフォーマ ステージト ランスフォーマ ステージト ランスフォーマ ステージト ランスフォーマ ステージ

次のステップではト ランスフォーマ ステージを確認します。 このステージは入力リ ンク と出力リ ンクを接続し、 ターゲッ ト ファ イルへのデータ出力時に適用する変換を指定します。 Exercise1 ではジ ョブをシンプルにするため変換は実行しません。 変換の定義方法については後述します。

サンプル ジ ョ ブ 3-21

Page 82: Datastage JPY Tutorial

1. SEQTOSEQ ト ランスフォーマ ステージをダブルク リ ッ ク します。 トランスフォーマ エディ タが表示されます。

トランスフォーマ エディタの上部をリンク領域と呼びます。この領域は 2 つのパネルに分割されており、左側パネルには入力リンクの列、右側パネルには出力リンクの列が表示されます。

リンク領域には入力列と出力列の関係 ( 線で示される ) が表示されます。ジョブ Exercise1 では出力リンクの各列は入力リンクの対応する列から派生しています。出力リンクの [ 出力仕様出力仕様出力仕様出力仕様 ] セルでは、データに対して実行する変換を指定できます。

相関線の矢印は、現在選択されている入力 /出力列のパスを示します。矢印が表示されていないときは、リンクエリアの列をクリックしてください。多数の列のリンクを表示したり、列が同じ順序でマッピングされていない場合には表示が入り乱れるため、このような場合にリンクの矢印は特に便利です。

リンク領域の下にはメタデータ領域があります。これも 2 つのパネルに分割されており、左側パネルには入力リンクのメタデータ、右側パネルには出力リンクのメタデータが表示されます。これらのパネルには、このエクササイズでソースおよびターゲットの [ 順ファ順ファ順ファ順ファ

3-22 Ascential DataStage サーバージ ョブチュート リ アル

Page 83: Datastage JPY Tutorial

イル ステージイル ステージイル ステージイル ステージ ] ダイアログボックス [ 列列列列 ] タブに表示された内容と同じ列定義が表示されます。

注意 :注意 :注意 :注意 : デザイナの際立った機能は、リンクの一方でだけ定義や編集を行えば良い点です。リンクはそれ自身が接続するステージ間で情報の自動的な「流れ」を発生させています。ジョブ Exercise1 では、開発者はソース ステージとターゲット ステージへ列定義をロードするだけです。これらの定義は自動的にトランスフォーマ エディタに表示されます。

トランスフォーマ エディタ ツールバーのアイコンは以下のとおりです。

注意 :注意 :注意 :注意 : ツールバーのアイコン上にカーソルを置くと、ツールチップが表示されます。

トランスフォーマ エディタの詳細は 『DataStage サーバージョブ開発者ガイド』 を参照してください。このチュートリアル エクササイズでも、エクササイズの実行に必要なトランスフォーマ エディタの機能についてはすべて説明します。

2. [OKOKOKOK] をク リ ッ ク し ト ランスフォーマ エディ タを閉じます。

ジ ョ ブのコンパイルジ ョ ブのコンパイルジ ョ ブのコンパイルジ ョ ブのコンパイル

ジ ョブをデザインして各ステージを設定後、 ジ ョブを実行できるよ うにコンパイルします。 これまではサンプル ジ ョブを見ただけですが、 こ こで実際に DataStage を使ってみます。 最初にジ ョブ Exercise1 をコンパイルします。

ジ ョブのコンパイル手順は以下のとおりです。

ステージプロパティ

すべてを表示

列定義出力条件

切り取り

表示

貼り付け選択したリレーション

列定義をロード

の保存ステージ変数の表示 /非表示

検索置換

列自動マッチ

入力リンク実行順

出力リンク実行順

サンプル ジ ョ ブ 3-23

Page 84: Datastage JPY Tutorial

1. DataStage デザイナにジ ョブを表示したまま、デザイナ ウ ィンドウの [ ファイルファイルファイルファイル ] から [ コンパイルコンパイルコンパイルコンパイル ] を選択、 またはツールバーの [ コンコンコンコンパイルパイルパイルパイル ] アイコンをク リ ッ ク します。

[ ジョブのコンパイルジョブのコンパイルジョブのコンパイルジョブのコンパイル ] ウィンドウが開き、コンパイルの進捗状況を表示します。

注意 :注意 :注意 :注意 : ジ ョブに対して何らかの変更を行っている場合、 DataStage はジ ョブが変更されているこ とをユーザーへ通知し、 保存するかど うかを確認します。 意図しない変更が加えられている場合は [ キャンセルキャンセルキャンセルキャンセル ] をク リ ッ ク し、DataStage デザイナ ウ ィンド ウの [ ファ イルファ イルファ イルファ イル ] から [ ジ ョブを開くジ ョブを開くジ ョブを開くジ ョブを開く ] を選択してジ ョブを再度開きます。最初に DataStage がジ ョブ Exercise1 を保存するかど うかプロンプ ト表示した場合、 も う一度 [ コンパイコンパイコンパイコンパイルルルル ] をク リ ッ ク して ください。

2. ジ ョブをコンパイル後 [ ジ ョブのコンパイルジ ョブのコンパイルジ ョブのコンパイルジ ョブのコンパイル ] ウ ィンドウを閉じます。

これでコンパイルしたジョブを有効化して実行する準備が整いました。DataStageディレクタを起動してください。

DataStage ディ レクタの起動DataStage ディ レクタの起動DataStage ディ レクタの起動DataStage ディ レクタの起動

このセクシ ョ ンではディ レクタについての簡単な説明の後、 サンプル ジ ョブを検証し実行するためのステップを実行します。

デザイナで [ ツールツールツールツール ] から [ディ レクタの実行ディ レクタの実行ディ レクタの実行ディ レクタの実行 ] を選択し、 ディ レクタを起動します。 こ こでは [プロジェク トへ接続 ] ダイアログボッ クスは表示されず、 自動的に同じプロジェク トへ接続します。

3-24 Ascential DataStage サーバージ ョブチュート リ アル

Page 85: Datastage JPY Tutorial

[ディレクタディ レクタディ レクタディ レクタ ] ウ ィンド ウが開きます。

[ ジ ョブ ステータスジ ョブ ステータスジ ョブ ステータスジ ョブ ステータス ]ビューは、デフォルトで表示されます。一覧に、ジョブ Exercise1が「コンパイル済」という状態で表示されています。

[ ジ ョブ ステータスジ ョブ ステータスジ ョブ ステータスジ ョブ ステータス ] ビューには、 現在のプロジェク トに含まれる全ジ ョブのステータスが表示されます。 ジ ョブの実行時には [ ビュービュービュービュー ] メニューで指定ジ ョブのログ ファ イルへのビュー切り替えが可能です。

この情報はサーバーから定期的に取得されます。 また [ ビュービュービュービュー ] から [更更更更新新新新 ] を選択して直ちに画面を更新するこ と も可能です。

ディレクタ ツールバーのアイコンは次のとおりです。

ツールバーのアイコン上にカーソルを置く とツールバーのツールチップ

が表示されます。

ディレクタの詳細については 『DataStage デザイナ ガイ ド』 を参照してください。

ジ ョ ブの検証と実行ジ ョ ブの検証と実行ジ ョ ブの検証と実行ジ ョ ブの検証と実行

これで DataStage ディレクタが起動されました。 こ こでは先ほどコンパイルしたサンプル ジ ョブを検証し実行します。 ジ ョブの検証では、 最終的な承認前に DataStage にも う一度ジ ョブの確認を要求します。

ジョブ ジョブをジョブ

検索

昇順に ジョブを

ヘルプ

ジョブを再スケジュール

プロジェクトをリセット実行ソートログステータス開く

ジョブのスケジュール

ジョブ停止

ビューを印刷

ジョブスケジュール

降順にソート

サンプル ジ ョ ブ 3-25

Page 86: Datastage JPY Tutorial

1. Exercise1 をク リ ッ ク して選択します。

2. [ ジ ョブジ ョブジ ョブジ ョブ ] → [検証検証検証検証 ] を選択します。 [ ジ ョブ実行オプシ ョ ン ] ダイアログボッ クスが表示され、 必要なパラ メータを指定できます。 このジ ョブについてパラ メータは定義されていないので、 [検証検証検証検証 ] をクリ ッ ク して続行します。

ステータスが「検証 OK」に変わります。

3. [ ジ ョブジ ョブジ ョブジ ョブ ] → [ ただちに実行ただちに実行ただちに実行ただちに実行 ...] を選択します。 [ ジ ョブ実行オプシ ョン ] ダイアログボッ クスが表示され、 必要なジ ョブ実行制限を設定します。 [実行実行実行実行 ] をク リ ッ ク してジ ョブを実行します。

ここで [ ビュービュービュービュー] → [ ログログログログ ] を選択して、プロセスのログ ファイルへの記録を表示できます。ただし、ジョブの実行は非常に高速であるため、すでに完了している可能性もあります。

ジョブ ステータス ビューのステータスが「完了」に変わります。これで、最初のデータ変換は完了です。

3-26 Ascential DataStage サーバージ ョブチュート リ アル

Page 87: Datastage JPY Tutorial

4. データブラウザで、新規ファイル ITEMS_1.TXTを表示します。これは、ターゲットステージの [入力入力入力入力 ]タブにある [データの参照データの参照データの参照データの参照 ]をクリックすることで行えます。詳細については、3-17ページ 「ターゲッ ト順ファ イル ステージ」 節を参照してください。このファイルの一例を次に示します。

ソース ファイルは固定幅ファイルでしたが、このファイルはカンマ区切りです。

このエクササイズで DataStageを使用するための基礎固めができました。この後のエクササイズでは、これまでに学んだ事柄を基に、複雑な変換をします。また、デザイナを使って短時間でジョブを作成するためのショートカットについても学びます。適切なツールを使うと簡単に行えます。

サンプル ジ ョ ブ 3-27

Page 88: Datastage JPY Tutorial

まとめまとめまとめまとめこの章では DataStage ジ ョブの概要を学習しました。 デザイナを使って [順ファイル ステージ順ファイル ステージ順ファイル ステージ順ファイル ステージ ] ダイアログボッ クスやト ランスフォーマ エディ タを概観し、 ジ ョブをコンパイルし、 ディレクタを使ってジ ョブを検証し実行しました。

次章ではデザイナを使って独自のジ ョブを作成する方法を説明します。最初にジ ョブ Exercise1 と類似したジ ョブを作成しますが、 このジ ョブではターゲッ ト ファイルへデータをロードする前にデータの一部を変換します。

3-28 Ascential DataStage サーバージ ョブチュート リ アル

Page 89: Datastage JPY Tutorial

4データ変換

この章の 4 つのエクササイズでは、 順ファ イルからのデータの抽出、 変換、 および順ファイルまたはリ レーシ ョナル データベース テーブルへのロードについて以下の作業を実行します。

・ DataStage デザイナでの新しいジョブの作成

・ 入力を処理する順ファイル ステージの定義

・ データを処理するトランスフォーマ ステージの定義

・ 順ファイルまたはリレーショナル データベースへの出力に必要なステージの定義

・ ジョブの保存とコンパイル

・ DataStage ディレクタでのジョブの検証と実行

・ データ ブラウザを使った結果のチェック

これらの項目は、 次のエクササイズで学びます。

データ変換 4-1

Page 90: Datastage JPY Tutorial

Exercise2 順ファイル入力ステージ、 順ファイル出力ステージ、および単純な ト ランスフォーマステージから構成されるジ ョブを作成します。 このジ ョブは、 Exercise1 のジ ョブとほとんど同じです。 異なるのは、 ターゲッ トファ イルに読み込む前に 2つの列のデータの変換もする点だけです。

Exercise3 ODBC または UniVerseのテーブルに、 順ファイルのデータを読み込みます。 こ こでは、 ODBC ステージまたは UniVerse ステージ、 およびステージダイアログボッ クスについて学びます。 また、 ターゲッ ト テーブルに書き込まれたデータをデータブラウザで表示します。

注意 :注意 :注意 :注意 : 第 2章で UniVerseデータベースのサンプルテーブルを作成した場合は、 Exercise3で UniVerseステージを使ってください。 第 2章で示したほかのデータベースのテーブルを作成した場合は、 ODBC ステージを使ってください。 すべてのエクササイズで、 UniVerse ステージではなくODBC ステージを使いますが、 これらは非常に似ており、 どちら も SQL を使ってデータにアクセスします。 DSEngine ユーザと UniVerseユーザとで違いがあるこ と も学びます。

Exercise4 このエクササイズは、 Exercise3 と よ く似ています。 順ファイルからテーブルにデータを読み込みますが、 このエクササイズの単独なステップはあ り ません。 このエクササイズで、 これまでのエクササイズの修得の度合がわかり ます。

Exercise5 順ファイルから抽出し変換した日付を TIME テーブルに読み込むこ とで、 データマートの時間領域を作成します。 DataStageは、 指定したソースフ ィールドを 1つのステージで何度も変換する必要があ り ますが、 このエクササイズでは、 この柔軟性を学びます。 また、 変換結果を 1 つのソースフ ィールドから複数のターゲット フ ィールドへ展開する方法も学びます。

注意 :注意 :注意 :注意 : DSEngine ユーザと UniVerseユーザの場合、「TIME」 は UniVerseの予約語なので、 TIMEテーブルは 「TIME_」 と呼びます。

4-2 Ascential DataStage サーバージ ョブチュート リ アル

Page 91: Datastage JPY Tutorial

Exercise2: 順ファイルへのデータ ロードExercise2: 順ファイルへのデータ ロードExercise2: 順ファイルへのデータ ロードExercise2: 順ファイルへのデータ ロードこのエクササイズでは、 第 3章のサンプル ジ ョブのよ うなジ ョブの作成方法について学習します。 次の処理を実行します。

・ DataStage デザイナでの新しいジョブの作成

・ 入力を処理する順ファイル ステージの設定

・ カンマ区切りファイルへの出力を処理する、もう 1つの順ファイル ステージの設定

・ データを処理するシンプルなトランスフォーマ ステージの設定

・ ジョブのコンパイル

・ DataStage ディレクタでジョブの検証と実行をし、結果をチェック

Exercise1 で使った固定幅テキス ト ファイル ITEMS.TXT から処理を開始します。これは第 2 章でインス トールしたサンプル ファ イルの 1 つです。ファ イルの内容は以下のとおりです。

ジ ョブ Exercise1 の場合と同じ く、 カンマ区切り ファ イルへ出力を転送する DataStage ジ ョブを作成します。 ただし、 データの書き込みをする前に、 ジ ョブは金額と売価の 2 つの入力列のデータを 100 で除算します。 この結果、 ターゲッ ト ファ イルの金額列と売価列のデータに小数点が付加されます。 エクササイズの最後では、 新しいファ イルを参照して ITEMS.TXT と比較できます。 このエクササイズの目的は、 よ り複雑なサンプルを実行する前に、 ステージの作成と編集に習熟するこ とです。

データ変換 4-3

Page 92: Datastage JPY Tutorial

ジ ョ ブのデザインジ ョ ブのデザインジ ョ ブのデザインジ ョ ブのデザイン

DataStage デザイナでの新しいジ ョブの作成手順は以下のとおりです。

1. Exercise1 以降、 DataStage デザイナが起動したままである場合は [ファ イルファ イルファ イルファ イル ] から [新規新規新規新規 ] を選択します。

・ インストールされている DataStage がサーバージョブだけをサポートしている場合は、空きのサーバージョブが自動的に表示されます。

・ インス トールされた DataStage がサーバージ ョブ、 パラレルジ ョブ、 メ インフレームジ ョブのいずれか、 またはすべてをサポートする場合、 [新規新規新規新規 ] ダイアログボッ クスが表示されます。

[新規サーバジ ョブ新規サーバジ ョブ新規サーバジ ョブ新規サーバジ ョブ ] アイコンをダブルク リ ッ クする と、 空きのサーバージ ョブが表示されます。

DataStage デザイナが起動していない場合、 3-3ページ 「DataStage デザイナの起動」 に従ってデザイナを起動します。 起動時に [新規新規新規新規] ダイアログボッ クスを表示するよ うにデザイナを設定していないかぎ り、 空のジ ョブが表示されます。 [新規新規新規新規 ] ダイアログボッ クスを表示するよ うに設定している場合は、[新規新規新規新規 ] ページの [サーバサーバサーバサーバ ] アイコンをダブルク リ ッ ク し、 空きのサーバージ ョブを表示します。

4-4 Ascential DataStage サーバージ ョブチュート リ アル

Page 93: Datastage JPY Tutorial

2. 空のジ ョブを保存する手順は以下のとおりです。

a. [ ファ イルファ イルファ イルファ イル ] から [保存保存保存保存 ] を選択します。 [新規ジョ ブ作成新規ジョ ブ作成新規ジョ ブ作成新規ジョ ブ作成 ] ダイアログボックスが開きます。

b. [ジョ ブ名ジョ ブ名ジョ ブ名ジョ ブ名 ] フィ ールド に Exercise2 を入力します。

c. [カテゴリカテゴリカテゴリカテゴリ ] フィ ールド に新規ジョ ブの保存カテゴリ 名、 例えば MyExercisesを入力します。 ジ ョブ下に新規フォルダが作成されます。

d. [OKOKOKOK] をク リ ッ ク します。 ジョ ブが作成され、 リ ポジト リ に保存されます。

3. ツール パレッ トから新しいジ ョブ コンポーネン ト を選択して [ ジ ョブ ] ウ ィンドウへ配置します。

a. ツールパレット(ファイル グループ)の [順ファイル順ファイル順ファイル順ファイル ]アイコンをクリックします。[ジョブジョブジョブジョブ ]ウィンドウの左側をクリックし、順ファイルステージを配置します。ツールパレットから [ジョブジョブジョブジョブ ]ウィンドウへアイコンを直接ドラッグすることもできます。

b. ツールパレット(プロセス グループ)の [トランスフォーマトランスフォーマトランスフォーマトランスフォーマ ]アイコンのクリックまたはドラッグで、トランスフォーマステージを順ファイルステージの右側に配置します。

c. ツールパレット(ファイル グループ)の [順ファイル順ファイル順ファイル順ファイル ]アイコンのクリックまたはドラッグで、順ファイルステージをトランスフォーマステージの右側に配置します。

データ変換 4-5

Page 94: Datastage JPY Tutorial

4. 次に各ジ ョブ コンポーネン ト を リ ンクしてジ ョブのデータ フローを定義します。

a. ツール パレット の [ リ ンクリ ンクリ ンクリ ンク ] アイコンをクリ ックし、 [ジョ ブジョ ブジョ ブジョ ブ ] ウィンドウの左端にある順ファイル ステージと ト ランスフォーマ ステージの間をクリ ック & ド ラッグします。 マウスボタンを解放すると 2 つのステージがリ ンクされます。 リ ンクが ト ランスフォーマステージに接続されており、 途中で途切れていないこ とを確認します (途切れている場合、 途切れているほうの端を選択し、 トランスフォーマステージまでド ラ ッグします)。

b. ト ランスフォーマステージを [ ジ ョブジ ョブジ ョブジ ョブ ] ウ ィンド ウの右側の順ファイルステージにリ ンク します。 今回は、 よ り速い方法を試してみまし ょ う。 ト ランスフォーマステージを右ク リ ッ ク してから、 リ ンクを右側の順ファイルステージまでド ラ ッグします。マウスを放して 2つのステージを リ ンク します。

[ジョブジョブジョブジョブ ]ウィンドウは、今、次のような表示になっています。

4-6 Ascential DataStage サーバージ ョブチュート リ アル

Page 95: Datastage JPY Tutorial

ステージ名の変更ステージ名の変更ステージ名の変更ステージ名の変更

ジ ョブのフローを理解しやすいよ うにステージやリ ンクの名前を変更して、 複雑なジ ョブを理解しやすくできます。

このエクササイズではダイアグラム オブジェク トの名前変更をしますが、 その他のエクササイズではデフォルトのオブジェク ト名を使います。

ステージやリ ンクの名前変更は非常に容易で、 ステージやリ ンクをクリ ッ ク して新しい名前を入力するか、 現在の名前を編集するだけです。テキス ト を編集後、 ダイアグラムのどこか別の場所をク リ ッ クすれば変更が有効になり ます。

1. 左端にある順ファイル ステージ (Sequential_File_0) をク リ ッ ク して次のよ うに入力します。

ITEMS_TXT

名前には ITEMS.TXT は使いません。 名前に使えるのは日本語英数字と下線 ( アンダースコア ) だけです。 [ ジ ョブジ ョブジ ョブジ ョブ ] ウ ィンドウの空の領域をク リ ッ クする と変更が有効になり ます。

2. 入力ステージと ト ランスフォーマ ステージ間のリ ンクの名前を Input に変更します。

3. ト ランスフォーマ ステージの名前を DIVBY100 に変更します。

4. ト ランスフォーマ ステージと出力ステージとの間のリ ンクの名前を Output に変更します。

5. 出力ステージの名前を ITEMS_2_TXTに変更します。

データ変換 4-7

Page 96: Datastage JPY Tutorial

ジ ョブの外観は以下のとおりです。

注意 :注意 :注意 :注意 : ジョブタイトルにアスタリスク(*)が付いている場合は、ジョブが最後に保存された後で変更が加えられていることを示します。

ジ ョ ブ ステージの設定ジ ョ ブ ステージの設定ジ ョ ブ ステージの設定ジ ョ ブ ステージの設定

これでジ ョブの基本的な構造設計が終了しました。 次に、 ステージを特定のファイルへ接続し、 適切なメ タデータをロード し、 データ処理方法を定義して各ステージを設定します。

ソース順ファイル ステージソース順ファイル ステージソース順ファイル ステージソース順ファイル ステージ

左端のステージから作業を開始します。 このステージは ITEMS.TXT からのデータ抽出を処理します。

1. ITEMS_TXT 順ファイル ステージをダブルク リ ッ ク します。 [順ファ順ファ順ファ順ファイル ステージイル ステージイル ステージイル ステージ ] ダイアログボッ クスが表示されます。

2. [出力出力出力出力 ] タブをク リ ッ ク します。 デフォルトで [全般全般全般全般 ] タブがアクティブになり ます。 データを抽出するファイルの場所とファイル名を [ ファイル名ファイル名ファイル名ファイル名 ] フ ィールドに指定します (表示もできます)。 サンプルデータをロード した (( 2-15ページ 「サンプル データのインス

4-8 Ascential DataStage サーバージ ョブチュート リ アル

Page 97: Datastage JPY Tutorial

トール」 を参照) Tutorialディレク ト リの ITEMS.TXT ファイルを使っています。

3. ソースファイル (ITEMS.TXT)が、 固定幅フォーマッ ト を持つよ う指定します。

a. [フォーマッ トフォーマッ トフォーマッ トフォーマッ ト ] タブをクリ ックして [フォーマットフォーマットフォーマットフォーマット ] タブを表示します。

b. [固定幅列固定幅列固定幅列固定幅列 ] チェッ クボッ クスを選択します。

4. こ こで、 DataStage リポジ ト リから ITEMS.TXT のテーブル定義をロード します。

a. [列列列列 ] タブをクリ ックして [列列列列 ] タブを表示します。

b. [ロード ...ロード ...ロード ...ロード ...] ボタンをク リ ッ ク します。 [テーブル定義テーブル定義テーブル定義テーブル定義 ] ダイアログボッ クスが表示されます。

c. Sequential ブランチの下に、 プロジェク ト と同じ名前のフォルダがあり ます。 このフォルダを展開して ITEMS (受注明細 ) テーブル定義を選択します。 [OKOKOKOK] をク リ ッ クします。 グリ ッ ド の [列列列列 ] タブにテーブル定義が表示されます。

5. [OKOKOKOK] をク リ ッ ク して [順ファイル ステージ順ファイル ステージ順ファイル ステージ順ファイル ステージ ] ダイアログボッ クスを閉じます。

これでジ ョブの入力ステージ定義が完了しました。 DataStage デザイナではこのよ うに簡単にジ ョブの構造を構築し、 特定のファイルをこのジ ョブへ結合するこ とが可能です。

ターゲッ ト順ファイル ステージターゲッ ト順ファイル ステージターゲッ ト順ファイル ステージターゲッ ト順ファイル ステージ

次にジ ョブの出力ステージを定義します。 ターゲッ ト ファ イルを定義する手順はソースファ イルを定義する手順と非常によ く似ています。

1. ITEMS_2_TXT 順ファイル ステージをダブルク リ ッ ク します。 [順ファ順ファ順ファ順ファイル ステージイル ステージイル ステージイル ステージ ] ダイアログボッ クスが表示されます。

このステージのダイアログボッ クスには [出力出力出力出力 ] タブではなく [入入入入力力力力 ] タブがあ り ます。 このステージはジ ョブの最終ステージであるためほかのステージへの出力はなく、 前のステージからの入力を受けるだけとなり ます。

2. [入力入力入力入力 ] タブをク リ ッ ク します。 デフォルトで [全般全般全般全般 ] タブがアクティブになり ます。 データを書き込むファイルの場所とファイル名を [ ファイル名ファイル名ファイル名ファイル名 ] フ ィールドに指定します。 サンプルデータをロード

データ変換 4-9

Page 98: Datastage JPY Tutorial

した ( 2-15ページ 「サンプル データのインス トール」 を参照)Tutorialディレク ト リの ITEMS_2.TXT ファイルを使っています。

3. ターゲッ ト ファイルのフォーマッ ト を指定します。 [ フォーマッ トフォーマッ トフォーマッ トフォーマッ ト ] タブをク リ ッ ク します。 出力はカンマ区切り ファ イルへの書き込みです。 したがってデフォルト設定は変更しないでください。

4. 入力ステージの場合と同様に、 リポジ ト リからテーブル定義をロード して ITEMS_2.TXT のデータを定義します。 この変換の例では基本的にはフ ィールド フォーマッ トに対する大きな変更はしません。 したがって入力ステージで使っているものと同じ列定義をロード してください。

a. [列列列列 ] タブをクリ ックします。

b. [ロード ...ロード ...ロード ...ロード ...] をク リ ッ ク し、 [テーブル定義テーブル定義テーブル定義テーブル定義 ] ウィ ンド ウの Sequential ブランチから ITEMS (受注明細 ) を選択し、 [OKOKOKOK] をクリ ッ ク します。

次のステップ用にウ ィンド ウを開けたままにしておきます。

5. このエクササイズの変換をする と ITEMS_2.TXT 内の 2 つの列に小数点が付加されます。 したがって、 ITEMS_2.TXT 内のデータ と照合がとれるよ うにするにはこれらの列の定義を編集する必要があ り ます。

a. 金額列の [SQL タイプSQL タイプSQL タイプSQL タイプ ] セルをクリ ックし、 ド ロップダウンリ スト から [DecimalDecimalDecimalDecimal] を選びます。

b. 金額列の [長さ長さ長さ長さ ] セルをク リ ッ ク し、 8 を入力します。

c. 金額列の [スケールスケールスケールスケール ] セルをク リ ッ ク し、 2 を入力します。

d. 売価列についてもステップ a~ cを繰り 返します。

4-10 Ascential DataStage サーバージ ョブチュート リ アル

Page 99: Datastage JPY Tutorial

画面は今、次のような表示になっています。

6. 次のエクササイズでこの編集テーブル定義が必要になり ますので、新規テーブル定義と して保存してください。

a. [保存 ...保存 ...保存 ...保存 ...] をクリ ックすると 、 [テーブル定義を保存テーブル定義を保存テーブル定義を保存テーブル定義を保存 ] ダイアログボックスが表示されます。

b. [テーブル /ファイル名テーブル /ファイル名テーブル /ファイル名テーブル /ファイル名 ] フィ ールド に ITEMS2 と 入力します。 ほかのフィ ールド についてもデフォルト 値のままと してく ださい。

c. [OKOKOKOK] をク リ ッ ク し、 新規テーブル定義を保存します。

7. [OKOKOKOK] をク リ ッ ク し、 [順ファイル ステージ順ファイル ステージ順ファイル ステージ順ファイル ステージ ] ダイアログボッ クスを閉じます。 これで、 ジ ョブの出力ステージの作成が完了します。

ト ランスフォーマ ステージト ランスフォーマ ステージト ランスフォーマ ステージト ランスフォーマ ステージ

ジ ョブの入力ステージと出力ステージ定義の終了後、 ト ランスフォーマ ステージを定義します。 これは、 ターゲッ ト ファ イルへデータを出力する前の、 データに対する変換方法を指定するステージです。

1. DIVBY100 ト ランスフォーマ ステージをダブルク リ ッ ク します。 ト ランスフォーマ エディ タが起動します。

2. 次に入力列と出力列を リ ンクして、 データに対して実行する変換を指定します。 入力リ ンクの各列を出力リ ンクの対応する列へマップ

データ変換 4-11

Page 100: Datastage JPY Tutorial

します。 また ITEMS_2.TXT へデータをロードする前に、 2 つの列のデータを 100 で除算します。

[CtrlCtrlCtrlCtrl] + ク リ ッ ク+ ク リ ッ ク+ ク リ ッ ク+ ク リ ッ クで入力入力入力入力リ ンクの 6 つの列を選択して、 出力出力出力出力リ ンクにある空の [出力仕様出力仕様出力仕様出力仕様 ] セルへド ラ ッグします。 こ こでマウスボタンを解放して列を [出力仕様出力仕様出力仕様出力仕様 ] セルへ追加します。

注意 :注意 :注意 :注意 : 右クリックで [すべてを選択すべてを選択すべてを選択すべてを選択 ]を選択することで、すべての列を一括して選択できます。

各出力リ ンク列のデータの出力仕様は、 リ ンク線で対応が示される入力リ ンク列に対応します。

一番上のペインは今、次のような表示になっています。

3. 式エディ タを使って、 金額列と売価列のデータを 100 で除算するよう指定します。

金額出力リ ンク列の [出力仕様出力仕様出力仕様出力仕様 ] セルをダブルク リ ッ ク します (式 Input.金額 が含まれています )。 式エディ タが開き、 小さいウ ィンドウに出力仕様が表示されます。

4. 出力仕様の最後に /100/100/100/100 を追加します。 出力仕様は以下のとおりです。

Input.金額 /100

これによって入力リ ンクの金額列から抽出されたデータを、 出力リ ンクの金額列へ転送する前に 100 で除算するよ う指定されます。

5. [エディ タエディ タエディ タエディ タ ] ウ ィンドウの外側をク リ ッ クするか、 [Return ] キーを押して式エディ タを閉じます。

6. 売価の出力仕様について、 手順 3 から手順 5 を繰り返します。

7. [OKOKOKOK] をク リ ッ ク して ト ランスフォーマ ステージ設定を保存し、 ト ランスフォーマ エディ タを閉じます。

これでトランスフォーマステージは完成です。

4-12 Ascential DataStage サーバージ ョブチュート リ アル

Page 101: Datastage JPY Tutorial

ジ ョ ブ説明ジ ョ ブ説明ジ ョ ブ説明ジ ョ ブ説明

ジ ョブに説明やコ メン ト を追加できます。 自作のジ ョブの機能を忘れてしまったと きや、 自作のジ ョブをほかの人が初めて目にする と きに、ジ ョブの説明がある と便利です。 プログラムのコード内に記述するコ メン ト と同様に、 説明がある とジ ョブがわかりやすくな り ます。

エクササイズで扱うジョブはシンプルなので、エクササイズでは、基本的な説明を幾つか追加するだけです。説明には次の 2種類があります。

・ ジョブ概要説明(注釈)ジョブ概要説明(注釈)ジョブ概要説明(注釈)ジョブ概要説明(注釈)・ 説明(注釈)説明(注釈)説明(注釈)説明(注釈)

ジ ョブのコンポーネン ト を追加するのと同様の方法で説明を追加できます。

ジ ョ ブ概要説明 (注釈)ジ ョ ブ概要説明 (注釈)ジ ョ ブ概要説明 (注釈)ジ ョ ブ概要説明 (注釈)

1. ツールパレット(全般 グループ)の [注釈注釈注釈注釈 ]アイコンをクリックします。

2. キャンバスの左上付近をクリックし、説明を配置します。

注意 :注意 :注意 :注意 : ほかの DataStageジョブコンポーネントと同様に、説明をクリックし、ドラッグすることで配置することもできます。

データ変換 4-13

Page 102: Datastage JPY Tutorial

3. 説明をダブルクリックし、[注釈プロパティ注釈プロパティ注釈プロパティ注釈プロパティ ]ダイアログボックスを開きます。

4. [注釈文注釈文注釈文注釈文 ]セクションに、「サーバーチュートリアル - Exercise2」と入力します(括弧は除く)。

5. [フォントフォントフォントフォント ]をクリックし、[フォントプロパティフォントプロパティフォントプロパティフォントプロパティ ]ダイアログボックスを開きます。

6. MSP ゴシッ クゴシッ クゴシッ クゴシッ ク , 10pt, 太字太字太字太字を選択します。

7. [OK]をクリックします。

8. [背景背景背景背景 ]セクションで、[色色色色 ]をクリックし、[色の設定色の設定色の設定色の設定 ]ダイアログボックスを開きます。

9. 好みの色を選択します。ここでは、薄黄色を選択します(デフォルト)。

10. [OK]をクリックします。

11. [境界境界境界境界 ]で [表示表示表示表示 ]を選択します。

12. [OK]をクリックし、[注釈プロパティ注釈プロパティ注釈プロパティ注釈プロパティ ]ダイアログボックスを閉じます。

ここでした変更によってジョブ説明に影響が及ぶおそれがあるこ

4-14 Ascential DataStage サーバージ ョブチュート リ アル

Page 103: Datastage JPY Tutorial

とを知らせるメッセージが表示されます。

13. [はいはいはいはい ]をクリックします。

場合によっては、ジョブのデザインの妨げにならないように、テキストボックスの大きさを変更する必要があります。

ジョブは今、次のような表示になっています。

注意 :注意 :注意 :注意 : ジョブ 1 つにつきジョブ概要説明は 1 つしか設定できません。変更は、[ジョブプロパティジョブプロパティジョブプロパティジョブプロパティ ]に反映されます。

説明説明説明説明

「概要説明」はジョブごとに 1 つしか設定できませんが、もう一方の「説明」は好きな数だけ設定できます。「説明」は、「ジョブ概要説明」とまったく同じ方法で作成します。4-13ページ 「ジ ョブ概要説明 (注釈)」 を参照してください。

データ変換 4-15

Page 104: Datastage JPY Tutorial

ボックス、罫線、色、網かけを使って、ステージのグループ分けをすると、ジョブがわかりやすくなります。ステージで何が処理されるかを示す説明を配置することもできます。DataStageジョブは、多数のステージから構成される非常に複雑なジョブとなる場合もあります。ジョブを作成した人は、ジョブのデザインを知っているかもしれませんが、ほかの人はデザインを簡単には理解できない恐れもあります。

このエクササイズでは、 ジ ョブ説明と して簡単なテキス ト を追加するだけです。 しかし、 チュート リ アルを終わってから、 自分でいろいろ試してみるこ とができます。

ジ ョブのデザインが完了し、 コンパイルの準備が整いました。

ジ ョ ブのコンパイルジ ョ ブのコンパイルジ ョ ブのコンパイルジ ョ ブのコンパイル

ジ ョブをコンパイルするには次の手順に従ってください。

1. メニューの [ ファ イルファ イルファ イルファ イル ] から [ コンパイルコンパイルコンパイルコンパイル ] を選択するか、 ツールバーの [ コンパイルコンパイルコンパイルコンパイル ] アイコンをク リ ッ ク します。 ジ ョブが変更されているこ とをユーザーへ通知し、 保存するかど うかを確認します。

2. [はいはいはいはい ] をク リ ッ ク します。 [ ジ ョブのコンパイルジ ョブのコンパイルジ ョブのコンパイルジ ョブのコンパイル ] ウ ィンド ウが開き、 コンパイルの進捗状況が表示されます。

3. コンパイル完了後、 [ ジ ョブのコンパイルジ ョブのコンパイルジ ョブのコンパイルジ ョブのコンパイル ] ウ ィンドウを閉じます。

ジ ョ ブの検証と実行ジ ョ ブの検証と実行ジ ョ ブの検証と実行ジ ョ ブの検証と実行

ジ ョブの検証と実行の手順は以下のとおりです。

1. デザイナで [ ツールツールツールツール ] から [ディレク タを実行ディレク タを実行ディレク タを実行ディレク タを実行 ] を選択して DataStage ディレクタを起動します。 この場合自動的に同じプロジェク トへ接続され、 [プロジェク トへ接続プロジェク トへ接続プロジェク トへ接続プロジェク トへ接続 ] ダイアログボッ クスは表示されません。

2. DataStage ディレクタ ウ ィンド ウの左側パネル内のジ ョブ カテゴ リ ツ リーを展開し、 Exercise2 を保存したジ ョブ カテゴ リ ( この例では MyExercises) をダブルク リ ッ ク します。 Exercise2 ジ ョブが右側のパネルに表示されます。

注意 :注意 :注意 :注意 : [説明説明説明説明 ]列には、「ジョブ説明」で入力したテキストが表示されます。何百ものジョブがあるときは、ジョブの把握にジョブ説明が役立ちます。

4-16 Ascential DataStage サーバージ ョブチュート リ アル

Page 105: Datastage JPY Tutorial

3. Exercise2 をク リ ッ ク し、 [ ジ ョブジ ョブジ ョブジ ョブ ] → [検証検証検証検証 ] を選択します。 [ ジ ョブ実行オプシ ョ ン ] ダイアログボッ クスが開き、 必要なパラ メータを指定できます。 このジ ョブではパラ メータは定義していないので [検検検検証証証証 ] をク リ ッ ク して処理を続行します。

ステータスが 「検証検証検証検証 OKOKOKOK」 に変わり ます。

4. [ ジ ョブジ ョブジ ョブジ ョブ ] → [ ただちに実行 ...ただちに実行 ...ただちに実行 ...ただちに実行 ...] を選択してジ ョブを実行します。 [ジ ョブ実行オプシ ョ ンジ ョブ実行オプシ ョ ンジ ョブ実行オプシ ョ ンジ ョブ実行オプシ ョ ン ] ダイアログボッ クスが表示され、 必要なジ ョブ実行制限を設定します。 [実行実行実行実行 ] をク リ ッ ク してジ ョブを実行します。

こ こで [ ビュービュービュービュー ] から [ ログログログログ ] を選択して、 プロセスのログファイルへの記録を表示できます。 ジ ョブが早く実行されている と、 すでに終了しているかも知れません。

[ ビュービュービュービュー ] から [ ステータスステータスステータスステータス ] を選択して [ ジ ョブ ステータスジ ョブ ステータスジ ョブ ステータスジ ョブ ステータス ] ビューへ戻り ます。

ジ ョブ ステータス ビューのステータスが 「完了」 に変わり ます。これでデータ変換は完了です。

5. テキス ト エディ タで ITEMS_2.TXT ファ イルを開き、 新しいデータを参照します。 ファ イルの内容は以下のとおりです。

シンプルな ト ランスフォーマ ステージによって、 4 列目と 6 列目のデータに小数点が付加されています。 ITEMS_2.TXT もカンマ区切り ファ イルですが、 ソース ファ イル (ITEMS.TXT) は固定幅ファイルでした。

データ変換 4-17

Page 106: Datastage JPY Tutorial

以降のエクササイズではこの学習内容に基づいて、 やや複雑な変換を作成します。

このエクササイズはジ ョブを作成する最初の機会であったため、 説明を詳し く してきましたが、 以降のエクササイズではデザイナとディ レク タへの理解を前提に簡潔に説明します。

次に ODBC ステージまたは UniVerse ステージを使って、 順ファ イルではなくテーブルへデータをロード します。

4-18 Ascential DataStage サーバージ ョブチュート リ アル

Page 107: Datastage JPY Tutorial

Exercise3: リ レーショ ナル データベースへのデータ Exercise3: リ レーショ ナル データベースへのデータ Exercise3: リ レーショ ナル データベースへのデータ Exercise3: リ レーショ ナル データベースへのデータ ロードロードロードロード

このエクササイズでは、 Exercise2 で作成した順ファイルからデータを抽出 ・変換し、 ODBC または UniVerse ターゲッ トへロード します。 これはExercise2 よ り一般的な処理です。 こ こでは ODBC ステージまたは UniVerse ステージの説明に重点を置くため、 ト ランスフォーマ ステージは単に入力ステージと出力ステージを リ ンクするステージと し、 データ変換は実行しません。

注意 :注意 :注意 :注意 : チュート リアル サンプル データのインス トール時にサンプル ODBC テーブルではなくサンプル UniVerse テーブルを作成している場合 ( 第 2章を参照 )、 ODBC ステージではなく UniVerse ステージを使ってください。

このエクササイズでは、 以前のエクササイズで実行した手順に関する説明は省略します。 DataStage デザイナやディレク タのインターフェースへの理解を前提にし、 「アイテムをダブルク リ ッ ク してプロパティを表示します」 や 「[OKOKOKOK] をク リ ッ ク します」 などの記述はしません。 ただし、 新しいタスクについては詳し く説明します。

1. デザイナを開き新規サーバージ ョブを作成し、 ジ ョブ カテゴ リ MyExercises 内に Exercise3 と して保存します。

左から順ファイル ステージ (ファ イル グループ)、 ト ランスフォーマ ステージ (プロセス グループ)、ODBC ( または UniVerse)

データ変換 4-19

Page 108: Datastage JPY Tutorial

ステージ (データベース グループ) を配置し、 各ステージを下図のよ うに リ ンクします。

2. [順ファイル ステージ順ファイル ステージ順ファイル ステージ順ファイル ステージ ] ダイアログボッ クスで順ファイル ステージを編集します。 ソース ファイルを指定し メ タデータをロード します。

a. Exercise2 で作成した出力ファイルをこのエクササイズの入力ファイルと して使います。 [出力出力出力出力 ] ページの [全般全般全般全般 ] タブで、下記の例のよう に Tutorialディ レクト リ の ITEMS_2.TXTファイルを指定します。

c:\Ascential\DataStage\Tutorial\ITEMS_2.TXT

b. このファイルはカンマ区切り ファイルであるため、 [フォーマッ トフォーマッ トフォーマッ トフォーマッ ト]タブの設定はデフォルト 設定のまま変更しないでく ださい。

3. ステージ ITEMS_2_TXT から Exercise 2 に保存したテーブル定義をロード します。

a. [列列列列 ] タブで [ロード ...ロード ...ロード ...ロード ...] をクリ ックします。

b.[テーブル定義テーブル定義テーブル定義テーブル定義 ] ダイアログボッ クスで [SavedSavedSavedSaved]ツリ ーから[TUTORIALTUTORIALTUTORIALTUTORIAL] を展開し、 テーブル定義 ITEMS2 を選択します。

c. [OKOKOKOK] をク リ ッ ク し、 列定義をロード します。

d. [OKOKOKOK] をク リ ッ ク し、 [順ファイル ステージ順ファイル ステージ順ファイル ステージ順ファイル ステージ ] ウ ィンド ウを閉じます。

これで順ファイル ステージが完成しました。

4-20 Ascential DataStage サーバージ ョブチュート リ アル

Page 109: Datastage JPY Tutorial

4. 次に ODBC ステージをセッ ト アップします。 ターゲッ ト テーブルを指定し、 テーブル更新アクシ ョ ンを指定してメ タデータをロード します。 ODBC ステージをダブルク リ ッ ク して [ODBC ステージODBC ステージODBC ステージODBC ステージ ] ダイアログボッ クスを開きます。

DSEngine と UniVerseの場合 : UniVerse ステージを使っている場合、 ダイアログボッ クスには、 アカウン ト名およびディレク ト リ パスを指定する [詳細詳細詳細詳細 ] タブが含まれています。

5. データ ソース名を選択して、 ユーザー名とパスワードを入力します。

注意 :注意 :注意 :注意 : UniVerse ステージでソースとして localuv を使っている場合、ユーザー名とパスワードは不要です。これらのフィールドと [ 詳細詳細詳細詳細 ] タブはこの時点で不活性化されています。

6. [SQLGetInfoSQLGetInfoSQLGetInfoSQLGetInfo]ボタンをク リ ッ ク し、 データソースへの適当な引用文字と修飾用区切り文字を設定してください。

UniVerse の場合 : 引用文字と修飾用区切 り 文字は不活性であ り、SQLGetInfoSQLGetInfoSQLGetInfoSQLGetInfo ボタンも現れません。

データ変換 4-21

Page 110: Datastage JPY Tutorial

7. 前のエクササイズと同様に、 データターゲッ ト と更新アクシ ョ ンを指定します。 この例では受注明細テーブルがターゲッ トです。

a. [入力入力入力入力 ]タブをクリ ックします。 デフォルト で [全般全般全般全般 ]タブが表示されます。

b. [テーブル名テーブル名テーブル名テーブル名 ]ド ロップダウンリ スト ボッ クスから受注明細( ITEMS) テーブルを選択します。

UniVerseの場合 : UniVerse ステージの場合 [ テーブル名テーブル名テーブル名テーブル名 ] ドロ ップダウン リ ス トボッ クスのテーブルには、 プレフ ィ クス としてアカウン ト名が付加します。 例 : dstage.受注明細

UniVerseはテーブル定義に関係なく必ず二重引用文字を使います。 確認のメ ッセージが表示されます。 [OKOKOKOK] をク リ ッ ク します。

c. [テーブルを消去してから行を挿入テーブルを消去してから行を挿入テーブルを消去してから行を挿入テーブルを消去してから行を挿入 ]を [更新アクショ ン更新アクショ ン更新アクショ ン更新アクショ ン ] リ ストから選びます( 後のエクササイズで、 同じデータで同じジョ ブを実行します)。 この選択肢には、 スト アド プロシージャの呼び出しやカスタム SQLの記述も含まれます( UniVerseステージの場合はスト アド プロシージャオプショ ンは利用できません)。 このタブには [ターゲッ ト データベースでテーブルをターゲッ ト データベースでテーブルをターゲッ ト データベースでテーブルをターゲッ ト データベースでテーブルを CREATECREATECREATECREATE]チェックボックスがあり 、 これを使って書き込みをする前にジョ ブが新規テーブルを作成するかどう かを指定できます。

8. DataStage リ ポジ ト リから、 ITEM テーブルのテーブル定義をロードします。

こ こまでこのチュート リアルで順ファイルだけの定義をロード してきました。 そして、 すべての利用可能な列定義は自動的にロード されました。 ODBCのテーブル定義をロードする (またはUniVerseのテーブル定義をロードする) 時、 どの列定義をロードしたいかを選択できます。

4-22 Ascential DataStage サーバージ ョブチュート リ アル

Page 111: Datastage JPY Tutorial

a. [列列列列 ]タブで [ロード ...ロード ...ロード ...ロード ...]をクリ ックして、受注明細テーブルのODBC定義( または UniVerse定義) をロードするため受注明細テーブルをダブルクリ ックしてく ださい。

[列を選択列を選択列を選択列を選択 ]のダイアログボッ クスが現れます。

選択列リストはテーブル定義での全列を含んでいます。

b. [OKOKOKOK]ボタンをク リ ッ ク し、 列定義をすべてロード しダイアログボッ クスを閉じます。

9. このジ ョブで DataStageが使う SQL文を見る と きは、 [SQLの表示SQLの表示SQLの表示SQLの表示 ]タブをク リ ッ ク します。

10. DSLink4の入力に関するトランザクション設定を参照するには、[トトトトランザクション処理ランザクション処理ランザクション処理ランザクション処理 ]タブをクリックします。トランザクショングループの詳細については、『DataStageデザイナ ガイド』を参照してください。

[OKOKOKOK]ボタンをク リ ッ ク して、 ODBC (または UniVerse) ステージは完成です。

11. ト ランスフォーマステージをダブルク リ ッ クする と、 ト ランスフォーマエディ タが開きます。

前のエクササイズと同様に、 入出力リ ンクの列と関連する メ タデータのセルはすでに埋められています。 順ファイルステージ、ODBC ステージを定義したエクササイズでこれらの情報を設定しています。 指定するべき唯一の情報は “出力仕様” 列だけです。

データ変換 4-23

Page 112: Datastage JPY Tutorial

このエクササイズではデータ変換処理はしません。 ト ランスフォーマステージは 2つのリ ンクを結合するためだけに、 機能します。 入力リ ンク と出力リ ンクの列の順序は異なり ます。 また、ト ランスフォーマステージはある リ ンクの列から別のリ ンクの列へマッピングできます。

入力リ ンクの列を自動的に出力リ ンクの列にマッピングします。

a. ト ランスフォーマエディ タ上の列自動マッチボタンをクリ ックしてく ださい。 [列自動マッチ列自動マッチ列自動マッチ列自動マッチ ]ダイアログボックスが現れます。

b. [名前マッチ名前マッチ名前マッチ名前マッチ ]、 [全列マッチ全列マッチ全列マッチ全列マッチ ]オプショ ンを選択してく ださい。

c. [OKOKOKOK]ボタンをク リ ッ ク してく ださい。 ト ランスフォーマエディターは以下のよう に表示します。

出力仕様は、出力リンク上の列へ追加されています。元になる入力列を判別するために、リレーションラインがそれらをつなげています( リ レーシ ョ ンラ インが表示されていないと きは、 ト ランスフォーマエディ タツールバーの [すべてまたは指定のリ レーすべてまたは指定のリ レーすべてまたは指定のリ レーすべてまたは指定のリ レーシ ョ ンを表示シ ョ ンを表示シ ョ ンを表示シ ョ ンを表示 ] ボタンをク リ ッ ク します。

4-24 Ascential DataStage サーバージ ョブチュート リ アル

Page 113: Datastage JPY Tutorial

d. [OKOKOKOK]をク リ ッ ク して設定を保存し、 ト ランスフォーマエディ タを終了してく ださい。

ト ランスフォーマステージはこれで完了です。

12. ジ ョブを保存してコンパイルします。

13. DataStage ディレクタを開き、 新しいジ ョブを検証します。

14. ジ ョブを実行します。 受注明細テーブルに順ファイルのデータがロード されます。

15. こ こでデータ ブラウザを使って受注明細テーブルへロード したレコードを参照してみます。

a. DataStage デザイナへ戻り 、 ジョ ブ Exercise3 を開き、 ODBC (または UniVerse) ステージをダブルクリ ックします。

b. [入力入力入力入力 ] タブをク リ ッ ク し、 [データの参照 ...データの参照 ...データの参照 ...データの参照 ...] をク リ ッ クします。

データ ブラウザにテーブルの内容が表示されます (順番は必ずしも下記に示す通りではあ り ません )。

エクササイズの実行中に抽出しているデータやターゲッ トへロード したデータを参照する場合は、 該当するステージ ダイアログボッ クスを開き [データの参照 ...データの参照 ...データの参照 ...データの参照 ...] をク リ ッ クすれば参照できます。 データ ブラウザの詳細については 『DataStage デザイナ ガイド』 を参照してください。

データ変換 4-25

Page 114: Datastage JPY Tutorial

16. 順ファイルからすべてのレコードがロード されたこ とを検証する場合、 SQL 環境を起動して次の文を発行してください。

SELECT COUNT(*) FROM 受注明細受注明細受注明細受注明細 ;

このクエ リーでは結果が 64 行になり ます (SQL 環境の起動方法については 2-21ページ 「SQL スク リプ トの実行」 を確認してください )。

Microsoft SQL Server 6.5 ユーザー : 上述のクエリーの発行時に構文エラー メ ッセージが表示される場合があ り ます。 その場合、 文を編集して最後のセミ コロンを削除し、 も う一度クエリーを実行して ください。

これで、 テキス ト ファ イルから リ レーシ ョナル データベースへデータをロードするジ ョブの作成が完了しました。 適切なツールを用いれば容易な処理が可能です。

4-26 Ascential DataStage サーバージ ョブチュート リ アル

Page 115: Datastage JPY Tutorial

Exercise4:独自ジョ ブの作成Exercise4:独自ジョ ブの作成Exercise4:独自ジョ ブの作成Exercise4:独自ジョ ブの作成こ こまで各ツールがど う容易に使えるかを学習しました。 論理的な説明と と もに、 DataStage インターフェースに習熟する機会を得られたと思います。

これまで学習したこ とだけで、 以下のよ うなジ ョブを独自に作成することが可能です。 Exercise3 の学習内容をどれだけ記憶しているでし ょ うか?

1. PRICES.TXT ファイルからデータを抽出し、 データベースの価格テーブルへロードするジ ョブを作成します。

2. ト ランスフォーマ ステージの機能は Exercise3 と同じ、 すなわちソース列をターゲッ ト列へマップする機能だけと します。 実質的なデータ変換は実行しません。

3. ト ラブルに遭ったと きは、 Exercise 3 を参照して ください。 このジ ョブの処理は、 [ テーブル定義テーブル定義テーブル定義テーブル定義 ] ダイアログボッ クスの [SequentialSequentialSequentialSequential]ブランチ PRICES.TXTの列定義をロードするこ とを除いて、 ほとんど同じです。 列定義は編集する必要はあ り ません。

データ変換 4-27

Page 116: Datastage JPY Tutorial

Exercise5: 時間ディ メ ンショ ンのロードExercise5: 時間ディ メ ンショ ンのロードExercise5: 時間ディ メ ンショ ンのロードExercise5: 時間ディ メ ンショ ンのロードこのエクササイズでは、 データマートの時間 ディ メンシ ョ ンをロード します。 こ こでも入力には順ファイルを使って、 リ レーシ ョナル データベースをターゲッ ト と します。 こ こまで UniVerse データを使っている場合、 こ こでも UniVerse データを使ってください。 またエクササイズ中 ODBC ステージが指定されている部分では、 ODBC ステージではなく UniVerse ステージを使ってください。

順ファ イル TIME.TXT にはご く少量のデータしか含まれていません。yyyy-mm-dd フォーマッ トの日付データが 1 列あるだけです。 日付を取得する順ファイル ステージ、 日付の新しい出力仕様 (月、 四半期、 年 ) を作成する ト ランスフォーマ ステージ、結果を受け取る ODBC ( または UniVerse) ステージをそれぞれ作成します。 結果は時間テーブルに格納されます。 このテーブルには各日付および対応する月、 四半期、 年を持つ 4 つの列があ り ます。

注意 :注意 :注意 :注意 : UniVerse を使っている と きは、 TIME_ という テーブル名になり ます。 TIMEは UniVerse の予約語であるためです。

Exercise7 では時間ディ メンシ ョ ンを使って、 Exercise6 で作成した FACTS テーブルと時間ディ メンシ ョ ンとを結合し、 四半期売上サマ リのソース データを作成します。

時間ディ メンシ ョ ンのロード手順は以下のとおりです。

1. DataStage デザイナを開き、 新しいジ ョブを作成します。 ジ ョブを Exercise5 と して保存します。

左から順番に、 順ファイル ステージ、 ト ランスフォーマ ステージ、 ODBC ( または UniVerse) ステージを配置し、 各ステージを リンク します。

2. 順ファイル ステージを編集します。 [出力出力出力出力 ] ページの [全般全般全般全般 ] ページで、 例えば下記のよ うに、 Tutorialディレク ト リの TIME.TXT ファイルを指定します。

c:¥Ascential¥DataStage¥Tutorial¥TIME.TXT

[ フォーマッ トフォーマッ トフォーマッ トフォーマッ ト ] タブのデフォルト設定を適用します。

3. 次に TIME.TXT のテーブル定義をロード します。 ただし、 このメ タデータはチュート リアル インス トール プログラム実行時にはリポジト リにインス トールされていません。 TIME.TXT ファイルは、 ほかの順ファイルのよ うに業務系システムのデータを模倣していません。受注明細や価格などのデータは業務系システムから定期的にロード

4-28 Ascential DataStage サーバージ ョブチュート リ アル

Page 117: Datastage JPY Tutorial

しますが、 時間ディ メンシ ョ ンは一度しか作成しません。 したがって、 このエクササイズのための 「使い捨て」 データソース と考えてください。

a. [出力出力出力出力 ] ページの [列列列列 ] タブをクリ ックします。 TIME.TXT に含まれる列の定義を作成します。

b. 空白の行をク リ ッ ク し、 列編集モードに切り替えます。

c. 列定義を以下のとおり 設定または入力します。

[キーキーキーキー]はチェックボックスで設定して、[SQL タイプタイプタイプタイプ ]、[NULL値をNULL値をNULL値をNULL値を許可許可許可許可 ]、[データ要素データ要素データ要素データ要素 ]の各セルは、ドロップダウンリストボックスで選択します。データ要素タイプ DATE.TAG は日付の文字列表現であるため、 SQL タイプ Char と適合します。 [ スケール ]、[NULL 文字列NULL 文字列NULL 文字列NULL 文字列 ]、 [埋め文字埋め文字埋め文字埋め文字 ] の各列は空のままにしてください。 [列列列列 ] タブの各セルは下図のよ うになり ます。

4. [OKOKOKOK] をク リ ッ ク して設定を保存します。 これで順ファイル ステージは完了です。

5. ODBC ( または UniVerse) ステージをダブルク リ ッ ク し、 ターゲッ ト テーブル時間を定義します。 [ODBC ステージODBC ステージODBC ステージODBC ステージ ] ダイアログボッ クス

列列列列 設定設定設定設定

列名 日付

キー なし (チェッ クなし)

SQL タイプ Char

長さ 10

NULL 値を許可 いいえ

表示 10

データ要素 DATE.TAG

終端符を含む いいえ

不完全な列 エラー

データ変換 4-29

Page 118: Datastage JPY Tutorial

が開きます (UniVerse を使っている と きは、 テーブル名は TIME_ です )。

6. データ ソース名を選択し、 ユーザー名とパスワードを入力します (ソースと して localuv を使っている UniVerse ステージの場合、 ユーザー名とパスワードは不要です )。

7. SQLGetInfoSQLGetInfoSQLGetInfoSQLGetInfo ボタンをク リ ッ ク し、 データソースへ適切な引用文字と修飾用区切り文字を設定してください (このボタンは UniVerse スUniVerse スUniVerse スUniVerse ステージテージテージテージダイアログボッ クスでは現れません)。

8. ターゲッ ト テーブルと更新アクシ ョ ンを指定します。

a. [入力入力入力入力 ] タブをクリ ックして、 テーブル名一覧から時間テーブルを選択してく ださい。

UniVerseはテーブル定義に関係なく必ず二重引用文字を使います。 確認のメ ッセージが表示されます。 [OK] をク リ ッ ク します。

b. 開始時にテーブルが空の状態で、 ロード を 1 度実行するだけなので、 [更新アクショ ン ] ド ロップダウンリ スト ボッ クスから [消去せずに行を挿入 ] を選択してく ださい。

9. データベース時間テーブルの ODBC 定義をロード します。

[列列列列 ] タブをク リ ッ ク して、 [ ロード ...ロード ...ロード ...ロード ...] をク リ ッ ク します。UniVerse を使っている と きは、 TIME_ テーブルの UniVerse定義をロード します。

[列を選択列を選択列を選択列を選択 ] ダイアログボッ クスが表示されます。 すへての列定義をロードする と きは、 [OKOKOKOK] をク リ ッ ク します。

注意 :注意 :注意 :注意 : Informix または ORACLE 環境で作業をしている場合、チュートリアルに付属のメタデータを編集する必要があります。日付列の設定を以下のとおり変更してください。

Informix: 長さ 13、 スケール 0、 表示 13ORACLE: 長さ 19、 スケール 0、 表示 19

10. 設定を適用します。

これで ODBC ( または UniVerse) ステージは完了です。

11. ト ランスフォーマ エディ タを使って ト ランスフォーマ ステージを編集します。

こ こでも [出力仕様出力仕様出力仕様出力仕様 ] フ ィールドを除くすべての情報はすでに用意されています。

4-30 Ascential DataStage サーバージ ョブチュート リ アル

Page 119: Datastage JPY Tutorial

12. 出力リ ンクの日付列にソース ファ イルと同じフォーマッ トの日付を持たせる場合、 入力列の日付列を出力リ ンクの日付列の [出力仕様出力仕様出力仕様出力仕様 ] セルへド ラ ッグします。 2 つの列を リ ンクする線が表示されます。

13. 次に出力リ ンクの月列を定義します。 これも入力リ ンクの日付列から派生するため、 出力リ ンクの月列の [出力仕様出力仕様出力仕様出力仕様 ] セルへ日付をドラ ッグします。

14. 日付から月を取得するには、 月列の [出力仕様出力仕様出力仕様出力仕様 ] セルに式を作成する必要があり ます。

a. 月列の [出力仕様出力仕様出力仕様出力仕様 ] セルをダブルクリ ックして式エディ タを起動します。

b. [式エディ タ式エディ タ式エディ タ式エディ タ ] ウィ ンド ウの [参照参照参照参照 ] ボタン [............] をク リ ッ ク します。[式エディ タ式エディ タ式エディ タ式エディ タ ] ド ロップダウンリ スト が表示されます。

c. [関数 ...関数 ...関数 ...関数 ...]を選択します。 関数のタイプを示すツリ ーが表示されます。 [文字列文字列文字列文字列 ]ブランチを選択し、 関数のリ スト から [RightRightRightRight]を選択します。

注意 :注意 :注意 :注意 : 関数リ ス トはインク リ メンタルサーチをし、 Rで始まる関数を検索するには、 R と入力して関数リ ス ト をスクロールダウンし、 Rで始まるすべての関数を参照します。 文字を追加入力する と、 リ ス トは絞り込み検索を続行します。

[RightRightRightRight] を選択時、 下記のとおり %Arg1% を反転表示して式エディ タに表示されます。

d. TAG.TO.MONTHTAG.TO.MONTHTAG.TO.MONTHTAG.TO.MONTH を入力します。 自動的に %Arg1% と置き換えられます。

TAG.TO.MONTH は DataStage ビルト イン ト ランスフォームのひとつです ( このエクササイズでは TAG.TO.QUARTER と TAG.TO.YEAR も使います )。 これは、 yyyy-mm-dd フォーマッ トの日付文字列 (TIME.TXT の日付フォーマッ ト ) を yyyy-mm フォーマッ トに変換します。

データ変換 4-31

Page 120: Datastage JPY Tutorial

e. 次に、 出力ファイルで 2 文字の文字列と して表される月を作成するよう 式を拡張します。 式を以下のとおり 編集してく ださい。

Right(TAG.TO.MONTH(DSLink3.日付 ),2)

注意 :注意 :注意 :注意 : このガイドでは、各関数の引数や構文についての詳細な説明はしません。各エクササイズでは式の例だけを記載します。関数の詳細については 『DataStage サーバージョブ開発者ガイド』 を参照してください。

f. [式エディ タ式エディ タ式エディ タ式エディ タ ] ウィ ンド ウの外側をク リ ッ クして式を確定し、 ウィンド ウを閉じます。 式が [出力仕様出力仕様出力仕様出力仕様 ] セルに追加されます。 式に構文エラーがある場合、 セルが赤色で表示されます。

15. 式エディ タを使って、 四半期列と年列の出力仕様の式を作成します (下図参照 )。

作成後 [OKOKOKOK] をク リ ッ ク してこのステージの設定を確定し、 ト ランスフォーマ エディ タを終了します。

16. ジ ョブを保存してコンパイルします。

17. DataStage ディレクタを起動します。 作成したジ ョブが [ ジ ョブ スジ ョブ スジ ョブ スジ ョブ ステータステータステータステータス ] ウ ィンド ウにステータス 「コンパイル済」 と と もに表示されます。

18. ジ ョブを検証して実行します。

これで時間ディ メンシ ョ ンがロード され、 データマート を作成する作業の 1つが完了しました。 時間ディ メンシ ョ ンの内容を参照しビルト イン ト ランスフォームの効果を確認するには、 DataStage デザイナへ戻 り、

列名列名列名列名 出力仕様出力仕様出力仕様出力仕様

四半期 TAG.TO.QUARTER(DSLink3.日付)

年 TAG.TO.YEAR(DSLink3.日付 )

4-32 Ascential DataStage サーバージ ョブチュート リ アル

Page 121: Datastage JPY Tutorial

ジ ョブ Exercise5 の [ODBC ( または UniVerse) ステージODBC ( または UniVerse) ステージODBC ( または UniVerse) ステージODBC ( または UniVerse) ステージ ] ダイアログボックスからデータ ブラウザを起動して ください。

注意 :注意 :注意 :注意 : データターゲッ トに Oracle を使っている と、 ディ レクターで実行している と きに Exercise5が異常終了するのは、 適正でない時刻形式の ODBC ド ライバを使っているこ とが考えられます。 DataStageに付属している Oracle用の ODBC ド ライバを使う こ とをお勧めします (詳し くは、 DataStage リ リース ノートにある DataStage ODBC ド ライバを参照してください)。

データ変換 4-33

Page 122: Datastage JPY Tutorial

まとめまとめまとめまとめこの章では、 順ファイル ステージ、 ト ランスフォーマ ステージ、 および ODBC/UniVerse ステージを使って、 順ファ イルやデータベース テーブルへ順ファイルのデータを転送するシンプルな変換の作成について学習しました。

DataStage デザイナやディ レクタを使ってジ ョブの作成、 保存、 コンパイル、 検証、 実行をし、 その過程で 3 つのサンプル データマート テーブル 受注明細、 価格、 時間 をロード しました。

DataStage が単一の入力列を 1 つのステージに存在する複数の出力列へマップする方法と、 各ステージ ダイアログボッ クスの相違についても学習しました。

次章では、 よ り高度なテクニッ クを使います。 一度に複数のソース とターゲッ ト を使って、 これらのターゲッ トに対する出力先の指定方法を学習します。 Exercise7 ではアグ リゲータ ステージを使ってデータをグループ化し、 売上サマリ を作成します。

4-34 Ascential DataStage サーバージ ョブチュート リ アル

Page 123: Datastage JPY Tutorial

5複数ソースの処理

この章では次の事柄について学習します。

・ 単一ジョブ内での複数のデータ ソースとターゲットの処理・ アグリゲータ ステージを使って、SQL を使わないでデータを集計する

Exercise6 では、 収益テーブルのロード という重要なタスクを実行します。 収益テーブルの行はディ メンシ ョ ン テーブルのプライマ リ キーを要求するため、 複数ソースを使うエクササイズと しては最適です。

複数ターゲッ トの使用例では、 収益テーブルのロードに制約条件を設け、 特定の行以外を別のテーブルへ転送します。

Exercise7 では複数ソース と と もにアグ リゲータ ステージを使います。

複数ソースの処理 5-1

Page 124: Datastage JPY Tutorial

Exercise6: 複数ソースと複数ターゲットの使用Exercise6: 複数ソースと複数ターゲットの使用Exercise6: 複数ソースと複数ターゲットの使用Exercise6: 複数ソースと複数ターゲットの使用このエクササイズでは、 複数テーブルからのデータで構成される 1 つの入力ステージと、それぞれが 1 つの ODBC ターゲッ ト を持つ 2 つの出力ステージを作成します。 また、 こ こまで UniVerse データを使っている場合、 ODBC ステージではなく UniVerse ステージを使ってください。

ト ランスフォーマ ステージも作成しますが、 このステージはデータ スト リームの出力先を、 あるターゲッ ト または別のターゲッ トへ指定するシンプルなロジッ クで構成されます。 データの大半は収益テーブルへ転送されます。 このテーブルは Exercise7 でデータ ソース と して使います。ト ランスフォーマ ステージのロジッ クは、 収益テーブルへロード されるデータが満たさなければならない基準を定義します。 この基準を満たさないデータはリジェク ト テーブルへ転送されます。

複数のソース と複数のターゲッ ト を使う手順は以下のとおりです。

1. DataStageデザイナを開き、サーバージョブを新規作成し、Exercise6として保存します。

2. [ ジ ョブジ ョブジ ョブジ ョブ ] ウ ィンド ウで 4 つのステージを配置し 3 つのリ ンクを設定します (下図参照 )。 UniVerse データを使っている場合、 ODBC ステージではなく UniVerse ステージを使ってください。

5-2 Ascential DataStage サーバージ ョブチュート リ アル

Page 125: Datastage JPY Tutorial

3. 入力の ODBC ステージを編集して、 データ ソース名、 ユーザー名、パスワードを指定します。 [SQLSQLSQLSQLGetGetGetGetInfoInfoInfoInfo] をク リ ッ ク して引用文字とスキーマ区切り文字を設定します。

4. 受注明細、 受注ヘッダ、 顧客の各テーブルからのデータ抽出を指定します。

a. [出力出力出力出力 ] ページで [使用可能なテーブル使用可能なテーブル使用可能なテーブル使用可能なテーブル ] リ ス トから受注明細テーブルを選択します。 [追加追加追加追加 ] をク リ ッ ク して [ テーブル名テーブル名テーブル名テーブル名 ] フ ィールドのリ ス トへテーブル名を追加します

b. 同様に受注ヘッダ テーブルと顧客テーブルも追加します。

5. 各テーブルの列定義をロード します。 最初に受注明細テーブルです。各テーブルからは一部の列データだけを抽出します。

a. [ 列列列列 ] タブをクリックし、[ロード ...ロード ...ロード ...ロード ...] をクリックして受注明細テーブルの列定義をロードします。[ 列を選択列を選択列を選択列を選択 ] ダイアログボックスが表示されたら手順 b に進みます。

b. 明細番号列および売価列用の定義はロード しないので、 [選択列選択列選択列選択列] リ ス トから これらの列を選択し、 [<<<<]ボタンをク リ ッ ク します。これで [選択列選択列選択列選択列 ] リ ス トから明細番号および売価が削除されます。

c. [OKOKOKOK] をク リ ッ ク して受注明細テーブルの、 残りの被選択列定義をロード します。

6. 次に受注ヘッダ テーブルの列定義をロード します。 [列を選択列を選択列を選択列を選択 ] ダイアログボッ クスが表示されたら、 [選択列選択列選択列選択列 ] リ ス トから以下の列を削除して ください。

・ 手数料ランク・ 総売上

選択した列定義をロード しよ う とする と、 下記のよ うなメ ッセージが表示されます。 これは、 受注明細テーブルも受注ヘッダ テーブルも受注番号という名前の列があるためです。

[はいはいはいはい ] をク リ ッ ク して、 受注明細の受注番号定義を受注ヘッダの受注番号定義に置き換えます。

複数ソースの処理 5-3

Page 126: Datastage JPY Tutorial

7. 第 3 のテーブル顧客から定義を追加します。

顧客テーブルの列で保持する必要があるのは担当者 ID 列だけです。この列は各顧客を担当する従業員の記録で、 従業員テーブルの従業員 ID に相当します。 [列を選択列を選択列を選択列を選択 ] ダイアログボッ クスで、 [選択列選択列選択列選択列 ] リ ス トからほかの列をすべて削除し、 [OKOKOKOK] をク リ ッ ク します。

ト ランスフォーマ ステージを設定する と、 データソースと して定義した列が、 データの出力先となる収益テーブルと リジェク ト テーブルの列と一致します。

8. これですべての列定義を用意できました。 次に下図の順序を参照して列定義を配置し、 どの値をソース データのキーとするかを DataStage に指示します。 列定義は、マウスを右クリックし、上下にドラッグして好みの位置へ移動できます。この順序はターゲッ ト テーブルでの列の順序と同じもので、 このよ うに配置すれば ト ランスフォーマ ステージの編集時にソース列と ターゲッ ト列のマップが容易になり ます。 画面は今、次のような表示になっています。

注意 :注意 :注意 :注意 : Informixまたは Oracleの環境では、チュートリアルで用意したメタデータを編集する必要がある場合もあります。必

5-4 Ascential DataStage サーバージ ョブチュート リ アル

Page 127: Datastage JPY Tutorial

要に応じて、ORDERDATE列と SHIPDATE列の設定を次のように変更してください。

Informixの場合: Length 13, Scale 0, Display 13Oracleの場合: Length 19, Scale 0, Display 19

9. これで 3 つのデータ ソース定義が完了しました。 次にソース テーブルを結合して単一のデータ ス ト リームを表現します。 WHERE 句を使ってテーブル結合を実行します。

[選択選択選択選択 ] タブをク リ ッ ク します。

[WHERE 句WHERE 句WHERE 句WHERE 句 ] フ ィールドに以下のとおり入力します (実際のフ ィールド上では改行は不要です )。

受注ヘッダ .受注番号 = 受注明細 .受注番号 AND 受注ヘッダ .受注番号 = 受注明細 .受注番号 AND 受注ヘッダ .受注番号 = 受注明細 .受注番号 AND 受注ヘッダ .受注番号 = 受注明細 .受注番号 AND 顧客 .顧客 ID = 受注ヘッダ .顧客 ID顧客 .顧客 ID = 受注ヘッダ .顧客 ID顧客 .顧客 ID = 受注ヘッダ .顧客 ID顧客 .顧客 ID = 受注ヘッダ .顧客 ID

注意 :注意 :注意 :注意 : UniVerse や一部の RDMS 製品では、 これらの名前をアカウント名で修飾する必要があ り ます。

例 : dstage.受注ヘッダ .受注番号 = dstage.受注明細 .受注番号

WHERE 句では大文字と小文字が区別されます。 修飾アカウン ト名以外はすべて大文字で入力してください。 アカウン ト名については、DataStage デザイナのタイ トルバーに表示されている通りに入力して ください。

10. 次に [SQL の表示SQL の表示SQL の表示SQL の表示 ] タブをク リ ッ ク して、 入力によって DataStage が作成した SQL 文を参照します。 この文にはすべてのキー値に対する参照が含まれています。

設定を確定します。 これで入力ステージは完了です。

11. 右上の ODBC ステージを編集して、 収益テーブルへ出力します。

[更新アクシ ョ ン更新アクシ ョ ン更新アクシ ョ ン更新アクシ ョ ン ] フ ィールドを [消去せずに行を挿入消去せずに行を挿入消去せずに行を挿入消去せずに行を挿入 ] に設定します。 データマートで行をク リアするのは、 旧データのアーカイブ移行時のパージだけです。

列定義をロード して設定を確定します。

注意 :注意 :注意 :注意 : Informix または ORACLE 環境で作業をしている場合、 チュート リ アルに付属のメ タデータを編集する必要があ り ます。 受注日列と 出荷予定日 列の設定を以下のとおり変更して ください。

Informix: 長さ 13、 スケール 0、 表示 13ORACLE: 長さ 19、 スケール 0、 表示 19

複数ソースの処理 5-5

Page 128: Datastage JPY Tutorial

12. 右下の ODBCステージを編集し、 リ ジェク トテーブルへの出力を用意します。ODBCステージの設定は、右上の ODBCステージと同じ設定にします。

これで出力ステージは完了です。

13. ト ランスフォーマ ステージへ、 リ ジェク ト テーブルと収益テーブルへそれぞれ転送するレコードを判定するロジッ クを追加します。

ト ランスフォーマ ステージを ダブルク リ ッ ク して ト ランスフォーマ エディ タを起動します。 出力リ ンク領域には、 出力リ ンク DSLink5 と DSLink6 の列セッ トが別々に表示されます (両方の列を見るにはエディ タのサイズを変更してください)。

こ こには、 これから定義する出力仕様を除くすべての列定義が表示されます。 2 つの例外を除き、 すべての出力仕様が直接マッピングされます。 例外は以下のとおりです。

・ 担当者 ID は従業員 ID へマッピング・ 金額は総売上へマッピング

a. 担当者 ID列および金額列以外の、DSLink4 上の列すべてを選択します。

b. ト ランスフォーマ エディ タ ツールバー上の [列自動マッチ列自動マッチ列自動マッチ列自動マッチ ] アイコンをク リ ッ ク します。 [列自動マッチ列自動マッチ列自動マッチ列自動マッチ ] ダイアログボッ クスが現れます。

c. [出力リ ンク出力リ ンク出力リ ンク出力リ ンク ] フ ィールド内の DSLink5 を選択します。

d. [名前マッチ名前マッチ名前マッチ名前マッチ ] および [選択列マッチ選択列マッチ選択列マッチ選択列マッチ ] オプシ ョ ンを選択した後 [OKOKOKOK] をク リ ッ ク します。DSLink4 上の選択された列が DSLink5 にマッピングされます。

e. DSlink4 上の列がまだ選択されている状態で [列自動マッチ列自動マッチ列自動マッチ列自動マッチ ] アイコンを再びク リ ッ ク し、 [列自動マッチ列自動マッチ列自動マッチ列自動マッチ ] ダイアログボッ クスの [出力リ ンク出力リ ンク出力リ ンク出力リ ンク ] フ ィールド内の DSLink6 を選択後、 手順 d を繰り返します。 DSLink4 上の選択された列が DSLink6 にマッピングされます。

f. 担当者列 ID を従業員 ID列に、 金額列を総売上列にマッピングします。 マッピングは、 DSLink4から DSLink5 と DSLink6のター

5-6 Ascential DataStage サーバージ ョブチュート リ アル

Page 129: Datastage JPY Tutorial

ゲッ ト列へド ラ ッグするこ とで行います。 画面は今、 次のよ うな表示になっています。

14. 次に 収益リ ンクの出力条件式を定義します。 こ こまでエクササイズを説明通り進めている場合、 このリ ンクは DSLink5 であるはずです。出力条件によって、 収益リ ンクはアイテムの合計売上が 10 ドル以上のレコードだけを受け入れます。 売上が 10 ドル未満のレコードはリジェク ト されます (手順 14 でリジェク ト テーブルをこれら リジェクト された行のターゲッ ト と して定義します )。

複数ソースの処理 5-7

Page 130: Datastage JPY Tutorial

ト ランスフォーマ エディ タのツールバーにある [出力条件出力条件出力条件出力条件 ] アイコンをク リ ッ ク します。 [ ト ランスフォーマ ステージ出力条件ト ランスフォーマ ステージ出力条件ト ランスフォーマ ステージ出力条件ト ランスフォーマ ステージ出力条件 ] ダイアログボッ クスが表示されます。

[出力条件出力条件出力条件出力条件 ] 領域で、 DSLink5 行の [出力条件出力条件出力条件出力条件 ] フ ィールド (収益テーブルへの出力に関連する リ ンク ) をダブルク リ ッ ク してシンプルな式を作成します。 [式エディ タ ] ウ ィンドウが開きます。

[参照参照参照参照 ] ボタン (...) をク リ ッ ク してメニューから [入力列 ...入力列 ...入力列 ...入力列 ...] を選択します。

ド ロ ップダウン リ ス トから 金額列名を選択します。 列名が [式エ式エ式エ式エディ タディ タディ タディ タ ] ウ ィンドウに表示されます。

5-8 Ascential DataStage サーバージ ョブチュート リ アル

Page 131: Datastage JPY Tutorial

下図のとおり 「10 以上」 という条件を式に追加します。

[式エディ タ式エディ タ式エディ タ式エディ タ ] ウ ィンド ウの外側をク リ ッ ク してウ ィンドウを閉じます。 これで 10 以上の値を持つデータだけを収益テーブルへ出力するよ う指定できました。

15. 次に DSLink5 に対して定義した条件を満たさない行について、 出力リ ンク と して DSlink6 を使う よ うに DataStage に指示します。

[ ト ランスフォーマ ステージ出力条件ト ランスフォーマ ステージ出力条件ト ランスフォーマ ステージ出力条件ト ランスフォーマ ステージ出力条件 ] ダイアログボッ クスで、DSLink6 行の [ リ ジェク ト行リ ジェク ト行リ ジェク ト行リ ジェク ト行 ] チェッ クボッ クスをク リ ッ ク します。このリ ンクはリジェク ト テーブルへの出力と関連します。 したがって、売上が 10 ドル未満であるため DSLink5 でリジェク ト された行は、DSlink6 を経由して リジェク ト テーブルへ転送されます。

複数ソースの処理 5-9

Page 132: Datastage JPY Tutorial

次のような制約条件が出来上がります。

16. 設定を確認し、トランスフォーマステージを閉じます。

17. 設定を確定し、 ジ ョブを保存してコンパイルします。

18. ディレクタを起動し、 ジ ョブを検証して実行します。

19. ディレクタで [ ジ ョブ ログジ ョブ ログジ ョブ ログジ ョブ ログ ] ウ ィンド ウを参照します。 ログには、実行中に 4 行がリジェク ト されたこ とを示すエン ト リが記録されています。

これらの行はリジェク ト テーブルへ転送されています。 リジェク トされた行を受け入れる リ ンクを指定した場合、 このリ ンクを経由して転送されたレコード数を示すエン ト リが必ずログに記録されます。

ジ ョブが正常に実行されたかど うか確認したい場合、 データ ブラウザを使って リジェク ト テーブルと収益テーブルのデータを参照します。 デザイナで出力ステージをダブルク リ ッ ク して、 [入力入力入力入力 ] ページから [データデータデータデータの参照 ...の参照 ...の参照 ...の参照 ...] をク リ ッ ク します。 この場合はリジェク ト テーブルに 4 レコード、 その他のレコードは収益テーブルにあ り ます ( レコード数 60 件)。 データ ブラウザの詳細については 『DataStage デザイナ ガイ ド』 を参照して ください。

5-10 Ascential DataStage サーバージ ョブチュート リ アル

Page 133: Datastage JPY Tutorial

Exercise7: データ集計Exercise7: データ集計Exercise7: データ集計Exercise7: データ集計会社の顧客ごとの総売上高の四半期のまとめを生成したかったとします。この情報を収益テーブルから直接取得することもできますが、集計前の情報でテーブルを構築しておいた方がより簡単です。

このよ うなサマリ テーブルは、 サンプル データマート四半期売上テーブルの設計に含まれています。

Exercise7 では、必要なデータ集計を実行し四半期売上テーブルへ結果をロードするジョブを作成します。このエクササイズではアグリゲータ ステージを使います。アグリゲータ ステージは、データのグループ化や集計を簡易化する特別な種類のステージで、多数のグループ関数を使って SQL コードを作成する必要はありません。

収益テーブルと時間テーブルからデータを取得します。 収益テーブルからは顧客 ID と顧客に対する各売上の値 (総売上 ) を取得します。 収益テーブルのデータは、 Exercise6 で受注明細、 受注ヘッダ、 顧客の各テーブルからロード したものです。 Exercise5 でロード した時間テーブルからは、 各売上が発生した四半期 (四半期列 ) を取得します。 各顧客について、 1 つの四半期に複数の売上が存在します。 このエクササイズでは、四半期別の各顧客に対する売上合計の値を四半期売上へロード します。

データ集計手順は以下のとおりです。

1. デザイナで新しいジ ョブを作成して、 Exercise7 と して保存します。

複数ソースの処理 5-11

Page 134: Datastage JPY Tutorial

2. 下図のとおり ステージを追加して リ ンクします。

3. 以下の列だけを使って 収益テーブルと時間テーブルを入力とするよう、 入力 ODBC ステージを設定します。

・ 四半期 ( 時間テーブル )・ 顧客 ID および 総売上 (収益テーブル )

四半期列の [キーキーキーキー ]チェックボックスを選択します。

以下の WHERE 句を追加してテーブルを結合します。

時間 .日付 =収益 .受注日時間 .日付 =収益 .受注日時間 .日付 =収益 .受注日時間 .日付 =収益 .受注日

注意 :注意 :注意 :注意 : 前述した通り、 これらの名前にはアカウン ト名が必要です (例えば dstage.時間 .日付 = dstage.収益 .受注日 )。 WHERE 句ではアカウン ト名を除くすべての構成要素が大文字です。アカウン ト名は DataStage デザイナのタイ トルバーに表示されている通りに入力して ください。 UniVerse 環境で作業している場合には TIME_ テーブルも指定してください。

4. 出力 ODBC ステージを設定します。

a. 四半期売上テーブルを入力に使います。

b. [更新アクシ ョ ン更新アクシ ョ ン更新アクシ ョ ン更新アクシ ョ ン ] リ ス トから [消去せずに行を挿入消去せずに行を挿入消去せずに行を挿入消去せずに行を挿入 ] を選択します。

5-12 Ascential DataStage サーバージ ョブチュート リ アル

Page 135: Datastage JPY Tutorial

c. すべての列定義をロード して設定を確定します。

5. アグ リゲータ ステージを開きます。 [ アグ リゲータ ステージアグ リゲータ ステージアグ リゲータ ステージアグ リゲータ ステージ ] ダイアログボッ クスにアグ リゲータ ステージ プロパティが表示されます。 [ ステージステージステージステージ ] ページはデフォルトで選択されています。

[ ステージステージステージステージ ] ページの最下部で、 ステージ前処理 /後処理を定義できます。 これらのサブルーチンを使う と、 多数の有効な機能を実行できます。 例えばステージ前処理では、 特定ファイルの存在を確認後にプロセスを続行させるこ とができます。 また、 ステージ後処理では、 ジ ョブの実行完了後に電子メールを送信するなどの処理が可能です。

[入力入力入力入力 ] ページを参照します。 このページはその他のステージ ダイアログボッ クスのページと類似しています。 ただし、 [列列列列 ] タブに 2 つの列 [ ソートソートソートソート ] および [ ソート順序ソート順序ソート順序ソート順序 ] が追加表示されています。 これらの列を使って、 入力データを昇順や降順に並べ替えるこ とができます。 こ こでは空欄のままにしてください。

[出力出力出力出力 ] タブをク リ ッ ク します。 この [出力出力出力出力 ] ページもほかのステージのページとほぼ同じです。 次に [列列列列 ] タブをク リ ッ ク してください。 指定した行の [出力仕様出力仕様出力仕様出力仕様 ]列をダブルクリックすると、違いが明らかになります。

複数ソースの処理 5-13

Page 136: Datastage JPY Tutorial

6. 個別の売り上げを追加するときは、[出力出力出力出力 ] ページの総売上行の [出出出出力仕様力仕様力仕様力仕様 ]セルをダブルクリックします。[出力仕様出力仕様出力仕様出力仕様」 ダイアログボックスが表示されます。

[出力仕様 ] ダイアログボッ クスには [ アグ リゲート関数アグ リゲート関数アグ リゲート関数アグ リゲート関数 ] ド ロ ップダウン リ ス トボッ クスがあり、 データ集計に使う多様な関数をここから選択できます。

[ ソース列ソース列ソース列ソース列 ] リ ス トから DSLink3.総売上を選択し、 [ アグ リゲート関アグ リゲート関アグ リゲート関アグ リゲート関数数数数 ] のデフォルト設定 Sum を適用します。 [OKOKOKOK] をク リ ッ ク して [出出出出力仕様力仕様力仕様力仕様 ] ダイアログボッ クスを閉じます。

7. 売上の値の合計を、 四半期ごと、 および顧客ごとにグループ化します。

四半期列と顧客 ID 行について、 [出力仕様出力仕様出力仕様出力仕様 ] セルをダブルク リ ッ ク して [ ソース列ソース列ソース列ソース列 ] フ ィールドを対応する入力列に設定し、 [ この列でグこの列でグこの列でグこの列でグループ化ループ化ループ化ループ化 ] チェッ クボッ クスを選択します。 [ この列でグループ化この列でグループ化この列でグループ化この列でグループ化 ] チェッ クボッ クスを選択する と [ アグ リゲート関数アグ リゲート関数アグ リゲート関数アグ リゲート関数 ] リ ス トが淡色表示になり ます。

設定を確定します。

8. ジ ョブを保存してコンパイルします。

9. DataStage ディレクタでジ ョブを検証して実行します。

作成された四半期売上には 13 の四半期サマリ行があ り ます。 例えば、ソース データには 1986 年第 2 四半期に顧客 102 に対して 56 ドルと 224 ドルの 2 つの売上があ り ますが、 四半期売上では顧客 102 に対するこの四半期の売上が合計され 280 ドルと して記録されています。

5-14 Ascential DataStage サーバージ ョブチュート リ アル

Page 137: Datastage JPY Tutorial

まとめまとめまとめまとめこの章では、 複数のデータ ソース / ターゲッ ト を使う複雑な変換の作成方法について学習しました。 また、 行の出力条件を使ってデータ行の出力先を指定する方法と、 収益テーブルのロードを実行しました。

アグ リゲータ ステージを使ってデータを集計、 グループ化する方法についても学習しました。 アグ リゲータ ステージは、 サマ リ テーブルの作成プロセスをよ り簡易化、 効率化する、 データ ウェアハウス設定に非常に有効なステージです。

次は、 チュート リ アルに用意されているテーブル定義以外のメ タデータを作成する方法について見ていきます。

複数ソースの処理 5-15

Page 138: Datastage JPY Tutorial

5-16 Ascential DataStage サーバージ ョブチュート リ アル

Page 139: Datastage JPY Tutorial

6独自メタデータの使い方

DataStage ジ ョブのソース ステージと ターゲッ ト ステージの設定で、 このガイ ドではこれまで定義済みメ タデータをロード していました。 このメ タデータは、 チュート リ アル インス トール プログラムの実行時にインス トールされたものです。 この章では、 順ファイルやリ レーシ ョナル データベース テーブルに対する独自のメ タデータの作成手順について説明します。

DataStage では 2 通 りの方法でメ タデータの作成が可能です。

・ ガイ ド付きアプローチ・ マニュアル アプローチ

Exercise8 ではガイ ド付きアプローチついて説明します。 テーブル従業員別価格から メ タデータを作成し、 DataStage リ ポジ ト リへ直接メ タデータをインポート します。ODBC か UniVerse データソースまたはターゲット を使っている場合、 DataStage リ ポジ ト リへのテーブル定義のインポートは容易かつ迅速な実行が可能です。 データベースへ接続して リポジ ト リへの従業員別価格の追加を指定します。 DataStage はテーブルのデータベース定義を読み出して、 リポジ ト リへそのまま挿入します。

ODBC データの場合と異なり、 順ファイルには格納しているデータに関する情報があり ません。 したがって、 DataStage がファイルの各列を表現する際に使うデータ型を決定する場合、 「最良の推測」 に頼らざるを得ません。 ただし、 ユーザーが意図していたデータ型と DataStage が選択したデータ型とが異なる場合でもマウスをク リ ッ クするだけで簡単に修正が可能です。

Exercise9 では DataStage マネージャにすべての情報を入力して、 カンマ区切り順ファ イル .TXT のメ タデータを手動で作成します。

デザイナまたはマネージャでファイルとテーブルの定義をインポートしたり、ファイルとテーブルの定義を手動で作成することもできます。デ

独自メタデータの使い方 6-1

Page 140: Datastage JPY Tutorial

ザイナはすでに習熟しているので、これは、Exercise8 と 9を行う前にマネージャに慣れておくのに良い機会となります。

注意 :注意 :注意 :注意 : MYPRICES.TXT や従業員別価格は 第 2章で説明したデータマート スキーマの一部ではあり ません。 これらは Exercise4 で使った PRICES.TXT や価格テーブルと同じものですが、 メ タデータ作成の手順を実行するためだけに用意されたものです。

DataStage マネージャDataStage マネージャDataStage マネージャDataStage マネージャDataStage マネージャを使って以下の処理を実行します。

・ リポジ ト リ内容の参照と編集・ リポジトリ内の項目間の関係についての報告・ テーブル定義のインポート・ テーブル定義の手動での作成・ データ要素の作成と割り当て・ カスタム ト ランスフォームとステージの作成

マネージャの機能の詳細については、『DataStageマネージャ ガイド』を参照してください。

マネージャの起動マネージャの起動マネージャの起動マネージャの起動[ スタートスタートスタートスタート ] から [ プログラムプログラムプログラムプログラム ]→ [Ascential Ascential Ascential Ascential DataStage]→ [DataStage ママママネージャネージャネージャネージャ ] を選択してマネージャを起動します。 [プロジェク トへ接続プロジェク トへ接続プロジェク トへ接続プロジェク トへ接続 ] ダイアログボッ クスが表示されます。

このダイアログボッ クスは、 DataStage プログラム フォルダからデザイナやディレクタ ク ライアン ト コンポーネン ト を起動する場合にも表示されます。 どの場合もログイン詳細を入力してプロジェク トへ接続しなけれ

6-2 Ascential DataStage サーバージ ョブチュート リ アル

Page 141: Datastage JPY Tutorial

ばなり ません。 プロジェク トへの接続手順の詳細については 3-4ページを参照して ください。

プロジェク トへ接続する と [ マネージャマネージャマネージャマネージャ ] ウ ィンドウが表示されます。

[ マネージャ ] ウィンドウ[ マネージャ ] ウィンドウ[ マネージャ ] ウィンドウ[ マネージャ ] ウィンドウ

[ マネージャマネージャマネージャマネージャ ] ウ ィンド ウには 2 つのパネルがあり ます。 左側のパネルにはプロジェク ト ツ リーが表示され、 右側のパネルが表示領域です。 プルダウン メニューやシ ョート カッ ト メニューの機能を含むこのウ ィンドウの詳細については、 『DataStage マネージャ ガイ ド』 を参照してください。

ツールバーツールバーツールバーツールバー

マネージャ ツールバーの各アイコンは以下のとおりです。

新規データ要素新規マシンプロファイル新規ルーチン新規テーブル定義新規トランスフォーム

コピー

削除

プロパティ

1つ上のレベル

ホスト表示

ジョブ表示拡張

大きいアイコン

小さいアイコン

リスト表示

詳細

レポート分析

使用状況分析

ヘルプ

独自メタデータの使い方 6-3

Page 142: Datastage JPY Tutorial

注意 :注意 :注意 :注意 : ツールバーのアイコン上にカーソルを置く とツールバーのツールチップを表示できます。

プロジェク ト ツリープロジェク ト ツリープロジェク ト ツリープロジェク ト ツリー

プロジェク ト ツ リーは [DataStage マネージャDataStage マネージャDataStage マネージャDataStage マネージャ ] ウ ィンドウの左側パネルにあり、 プロジェク ト内容の要約が表示されています。

ツ リーは以下の ブランチに分かれています。

・ データ要素データ要素データ要素データ要素 - ビルト イン データ要素とユーザーが追加定義するデータ要素についてのブランチがあり ます。

・ IMS データベース (DBDs)IMS データベース (DBDs)IMS データベース (DBDs)IMS データベース (DBDs) -各 IMSデータベースオブジェク トが、IMSデータベースの物理構成を説明します (メ インフレームジ ョブで使用)。

・ IMS 表示設定 (PSBs/PCBs)IMS 表示設定 (PSBs/PCBs)IMS 表示設定 (PSBs/PCBs)IMS 表示設定 (PSBs/PCBs)-各 IMS viewsetオブジェク トが、 IMSデータベースのアプリ ケーシ ョ ンの表示を説明します (メ インフレームジ ョブで使用)。

・ ジ ョブジ ョブジ ョブジ ョブ -このブランチの下にプロジェク トの各ジ ョブごとに 1 つのリーフがあり ます。

・ マシンプロファイルマシンプロファイルマシンプロファイルマシンプロファイル-メ インフレームマシンプロフ ィルは、 このブランチに格納されます。

・ ルーチンルーチンルーチンルーチン- ビルト イン ルーチンとユーザーが追加定義するルーチンについてのブランチがあり ます。

・ 共用コンテナ共用コンテナ共用コンテナ共用コンテナ-共用コンテナは、ここに格納されます。

・ ステージ タイプステージ タイプステージ タイプステージ タイプ-作成またはインポート したプラグインはこ こに格納されます。

・ テーブル定義テーブル定義テーブル定義テーブル定義 - テーブル定義はデータソースを基準に格納されます。 テーブル定義やファイル定義をインポートする と、 データ

6-4 Ascential DataStage サーバージ ョブチュート リ アル

Page 143: Datastage JPY Tutorial

ソース タイプ (ODBC、 UniVerse、 ハッシュ、 順ファイル、 ス ト アド プロシージャ ) の下にブランチが作成されます。 これは、 この章のエクササイズ実行中に確認できます。 テーブル定義やファイル定義を手動で入力する場合はテーブル定義 メ イン ブランチの下の任意の場所に新しいブランチを作成できます。

・ ト ランスフォームト ランスフォームト ランスフォームト ランスフォーム- ビルト イン ト ランスフォームのカテゴ リ と、作成したカスタム ト ランスフォームの各グループのブランチがあり ます。

注意 :注意 :注意 :注意 : ツールバーで [ホストビューホストビューホストビューホストビュー ]を選択すると、現在アタッチしているプロジェクトのカテゴリだけでなく、サーバのプロジェクトすべてを参照できます。[拡張ジョブビュー拡張ジョブビュー拡張ジョブビュー拡張ジョブビュー ]を選択すると、ジョブに含まれるすべてのコンポーネントや補助的な情報を表示できます。詳細については、『DataStageマネージャ ガイド』を参照してください。

表示領域表示領域表示領域表示領域

[マネージャマネージャマネージャマネージャ ]ウィンドウの右側のペインにある表示領域は [プロジェクプロジェクプロジェクプロジェクトビュートビュートビュートビュー ]として知られ、プロジェクトツリーで選択したブランチの内容を表示します。表示領域でのアイテムの表示方法には次の 4 通りの方法があ り ます。

・ 大さいアイコン大さいアイコン大さいアイコン大さいアイコン ― アイテムを大きいアイコンで横並びに整列表示します。

・ 小さいアイコン小さいアイコン小さいアイコン小さいアイコン ― アイテムを小さいアイコンで表示します。

・ リ ス トリ ス トリ ス トリ ス ト ― アイテムを表示領域の上から一覧表示します。

・ 詳細詳細詳細詳細 ― アイテムをテーブルに表示します。 各アイテムについて [名前名前名前名前 ]、 [説明説明説明説明 ]、 [更新日時更新日時更新日時更新日時 ] の各列が表示されます。

Exercise8: リ レーショ ナル データベース テーブルかExercise8: リ レーショ ナル データベース テーブルかExercise8: リ レーショ ナル データベース テーブルかExercise8: リ レーショ ナル データベース テーブルからのメ タデータ作成らのメ タデータ作成らのメ タデータ作成らのメ タデータ作成

このエクササイズでは、 サンプル テーブル従業員別価格から リポジ ト リへテーブル定義 ( メ タデータ ) をインポート します。 これは、 2-20ページ 「サンプル データベース テーブルの作成」 で説明した手順に従ってチュート リアル ファ イルをインス トールして SQL スク リプ ト を実行した時に作成されています。

従業員別価格からのテーブル定義のインポート手順は以下のとおりです。

独自メタデータの使い方 6-5

Page 144: Datastage JPY Tutorial

1. DataStage マネージャで [ インポートインポートインポートインポート ] から [ テーブル定義テーブル定義テーブル定義テーブル定義 ]→[ODBC テーブル定義 ...ODBC テーブル定義 ...ODBC テーブル定義 ...ODBC テーブル定義 ...] を選択します。 [ メ タデータのインポートメ タデータのインポートメ タデータのインポートメ タデータのインポート(ODBC)(ODBC)(ODBC)(ODBC)] ダイアログボッ クスが表示されます。

UniVerse や DSEngineの場合 : [ インポートインポートインポートインポート ] から [ テーブル定義テーブル定義テーブル定義テーブル定義 ] [UniVerse テーブル定義 ...UniVerse テーブル定義 ...UniVerse テーブル定義 ...UniVerse テーブル定義 ...] を選択します。 [ メ タデータのインポート メ タデータのインポート メ タデータのインポート メ タデータのインポート (UniVerse テーブル )(UniVerse テーブル )(UniVerse テーブル )(UniVerse テーブル )] ダイアログボッ クスが表示されます。

2. [DSNDSNDSNDSN] ド ロ ップダウン リ ス トボッ クスからテーブルの作成に使うデータベースに対応する ODBC データ ソース名 (DSN) を選択します (第 2章参照 )。

UniVerseの場合 : [DSNDSNDSNDSN] ド ロ ップダウン リ ス トボッ クスから、 localuv を選択します。 その他のフ ィールドは使えなくなり ます。

3. [ユーザー名ユーザー名ユーザー名ユーザー名 ] フ ィールドにデータベース ユーザーアカウン ト名を入力し、 [パスワードパスワードパスワードパスワード ] フ ィールドにアカウン ト パスワードを入力します。 [OKOKOKOK] をク リ ッ ク します。 DataStage がデータベース アカウン トにある全テーブルの一覧を読み出します。

UniVerseの場合 : [OKOKOKOK] をク リ ッ ク します。DataStage がデータベース アカウン トにある全テーブルの一覧を読み出します。

4. テーブル従業員別価格を選択して [OKOKOKOK] をク リ ッ ク します。DataStage がデータベースから メ タデータを読み出して、 リポジ ト リ内に自動的にテーブル定義を作成します。

5. こ こで、 今リ ポジ ト リ内に作成した従業員別価格定義を確認してみます。

プロジェク ト ツ リーの [ テーブル定義テーブル定義テーブル定義テーブル定義 ] から [ODBCODBCODBCODBC] ブランチ (または [ テーブル定義テーブル定義テーブル定義テーブル定義 ] から [UniVerseUniVerseUniVerseUniVerse] ブランチ) を展開します。 ツ リーは下図のよ うになり ます。

6-6 Ascential DataStage サーバージ ョブチュート リ アル

Page 145: Datastage JPY Tutorial

この例で使っている ODBC 接続は dsodbcです。 したがって DataStage は ODBC の下に rkm という名前のブランチを挿入しています。 このよ うな分類が行われるこ とでテーブル定義の発生元の追跡が容易になり ます。

UniVerseの場合: DSEngineの UniVerseテーブルにアクセスするための接続は、localuvと呼びます。このため、DataStageは、UniVerseの下に、その名前のブランチを挿入します。テーブル名には、 データベース アカウン ト名 (この例では dstage) がプレフィ クス と して付加されます。 このよ うな分類が行われるこ とでメ タデータの発生元の追跡が容易になり ます。

6. 従業員別価格テーブルをダブルクリックし、プロパティシートを表示します。プロパティシートには、最大 5つのタブがあります。6つのタブとは、[全般全般全般全般 ]、[列列列列 ]、[フォーマットフォーマットフォーマットフォーマット ]、[NLS](NLSが有効なときだけ表示されます)、[リレーションリレーションリレーションリレーション ]、および [ パラレルパラレルパラレルパラレル ]です。

7. [列列列列 ] タブをク リ ッ ク します。 列定義が表示されます。

[データ要素データ要素データ要素データ要素 ] 列は空白です。 データ要素はユーザーが入力しなければなり ません。 ユーザーが列に割り当てたデータ要素の入力によって、 その列に対して実行可能な ト ランスフォームが決定します。 付録 A の価格テーブルの定義を参考と して参照し、 データ要素を追加してください ( これは従業員別価格と同じです )

これでテーブル従業員別価格のメ タデータ定義が完了しました。

独自メタデータの使い方 6-7

Page 146: Datastage JPY Tutorial

Exercise9: 手動によるテーブル定義の作成Exercise9: 手動によるテーブル定義の作成Exercise9: 手動によるテーブル定義の作成Exercise9: 手動によるテーブル定義の作成MYPRICES.TXT 順ファイルのテーブル定義作成手順は以下のとおりです。

1. [ マネージャマネージャマネージャマネージャ ] ウ ィンド ウから [ テーブル定義テーブル定義テーブル定義テーブル定義 ] 下の Sequential ブランチを選択して次のどれかの操作を実行してください。

・ [ ファ イルファ イルファ イルファ イル ] から [新規テーブル定義新規テーブル定義新規テーブル定義新規テーブル定義 ...] を選択。・ ショートカット メニューから [ 新規テーブル定義 ...新規テーブル定義 ...新規テーブル定義 ...新規テーブル定義 ...] を選択。・ ツールバーの [新規新規新規新規 ] アイコンをク リ ッ ク。

注意 :注意 :注意 :注意 : [テーブル定義テーブル定義テーブル定義テーブル定義 ] ブランチまたは該当するサブブランチ(この場合、[Sequential])を強調表示し、右クリックで [新規新規新規新規 ]を選択することで、テーブル定義を新規作成することもできます。

注意 :注意 :注意 :注意 : DataStageには、右クリックでショートカットメニューを利用できる個所が数多くあります。

[ テーブル定義テーブル定義テーブル定義テーブル定義 ] ダイアログボッ クスが表示されます。

このダイアログボッ クスは以下のタブで構成されています。

・ 全般全般全般全般 ― デフォルトで表示されます。データ ソース タイプと名前、任意項目を記述するパラメータがあります。メインフレーム ジョブに関するフィールドは、このエクササイズには適用されません。

6-8 Ascential DataStage サーバージ ョブチュート リ アル

Page 147: Datastage JPY Tutorial

・ 列列列列 ― テーブル定義の列定義。

・ フォーマッ トフォーマッ トフォーマッ トフォーマッ ト ― 順ファイルのファイル フォーマッ ト パラ メータ。これらのフ ィールドは、 順ファ イルからのテーブル定義インポートで自動的に設定されます。

・ NLSNLSNLSNLS ― テーブル定義の現在の文字セッ ト マップを表示します (NLS を使う設定で DataStage がインス トールされている場合だけ表示 )。

・ リレーションリレーションリレーションリレーション ― このダイアログの上部には、選択したテーブルの、ほかのテーブルに対する外的な関係が表示されます。このダイアログの下部には、ほかのテーブルの、選択したテーブルに対する関係が表示されます。

・ パラレルパラレルパラレルパラレル ― テーブル定義の詳細なフォーマッ ト情報を提供し、パラレルジ ョブでテーブル定義を使う と きに使われます。

2. [全般全般全般全般 ] タブで [データソース タイプデータソース タイプデータソース タイプデータソース タイプ ] フ ィールドに Sequential を入力します。 こ こで入力した名前によって、 テーブル定義テーブル定義テーブル定義テーブル定義 ブランチの下に定義をど う格納するかが決定します。

3. [データソース名データソース名データソース名データソース名 ] フ ィールドに Tutorial を入力します。 これはテーブル定義識別子の 2 番目の部分で、 データソース 入力 ブランチの下に作成されるブランチの名前になり ます。 データ定義の発生元を追跡する手段とな り ます。

4. [ テーブル / ファイル名テーブル / ファイル名テーブル / ファイル名テーブル / ファイル名 ] フ ィールドに MYPRICES.TXT を入力してください。 これはテーブル定義識別子の最後の部分で、 データソース ブランチの下に作成される リーフの名前になり ます。

5. [説明 (略記 )説明 (略記 )説明 (略記 )説明 (略記 )] フ ィールドにデータの簡単な説明を入力します。 このフ ィールドは任意項目です。 こ こで入力したテキス トは [DataStage マネージャ ] ウ ィンドウに表示されます。

6. [説明 (全て )説明 (全て )説明 (全て )説明 (全て )] フ ィールドにデータの詳細な説明を入力します。 このフ ィールド も任意項目です。 実際のプロジェク トではこのフ ィールドは、 後でジ ョブを使う開発者にとって有効な情報となり ます。

[テーブル定義テーブル定義テーブル定義テーブル定義 ]ダイアログボックスはまだ閉じないでください。

列定義の入力列定義の入力列定義の入力列定義の入力

列定義を入力する場合、A-3ページ 付録 A の MYPRICES.TXT の定義を参考と して使うか、 または 6-11ページのサンプル スク リーンを参照してください。 列プロパティは表示されている通りに入力してください。

独自メタデータの使い方 6-9

Page 148: Datastage JPY Tutorial

列定義の入力手順は以下のとおりです。

1. [列列列列 ] タブをク リ ッ ク します。 [列列列列 ] タブが [ テーブル定義テーブル定義テーブル定義テーブル定義 ] ダイアログボッ クスの最前面に表示されます。

2. 空白の行の [列名列名列名列名 ] セルをク リ ッ ク し、 標準売価標準売価標準売価標準売価を入力します。 これは、 最初に追加する列の名前です。

注意 :注意 :注意 :注意 : 空行には、割り当てられた番号がありません。

3. [キーキーキーキー ]セルをチェックしないでください。列がキー列でなくなります。

4. [SQL タイプSQL タイプSQL タイプSQL タイプ ] セルをク リ ッ ク し、 ド ロ ップダウン リ ス トから [DecimalDecimalDecimalDecimal] SQL データ型を選択します。

5. [長さ長さ長さ長さ ] セルをク リ ッ ク し 4444 を入力してデータ精度の値を指定します。

6. [ スケールスケールスケールスケール ] セルをク リ ッ ク し 2 2 2 2 を入力してデータ スケール ファ クタを指定します。

7. [NULL 値を許可NULL 値を許可NULL 値を許可NULL 値を許可 ] セルをク リ ッ ク し ド ロ ップダウン リ ス トから [はいはいはいはい] を選択して、 列への NULL 値入力を許可するこ とを指定します。

8. [表示表示表示表示 ] セルをク リ ッ ク し 4 4 4 4 を入力し列データの表示に必要な最大文字数を指定します。

9. [データ要素データ要素データ要素データ要素 ] セルをク リ ッ ク し、 ド ロ ップダウン リ ス トから [NumberNumberNumberNumber] を選択して列が保持するデータのタイプを指定します。 このリ ス トには、 DataStage に付属するビルト イン データ要素およびユーザーが定義した追加データ要素がすべて表示されます。

10. 付録 A ではサンプル テキス ト を提供していませんが、 [説明説明説明説明 ] セルに列を説明するテキス ト を入力するこ と もできます。 このセルはドロ ップダウン テキス ト入力ボッ クスに展開して、 セルの表示幅を超える文字数を入力できます。 また、 列の表示幅を大き く して完全なテキス ト説明を参照するこ と も可能です。 テキス ト を複数の段落に分割するには、 各段落末で [Ctrl+EnterCtrl+EnterCtrl+EnterCtrl+Enter] を入力して ください。

11. グリッドの最終行を編集し、残りの列定義の追加を続けてください。新しい列定義は、常にグリッドの末尾に追加されますが、右クリックとドラッグで、グリッド内の行の順序を変更できます。

6-10 Ascential DataStage サーバージ ョブチュート リ アル

Page 149: Datastage JPY Tutorial

すべての定義が完了する と、 テーブル定義は下図のよ うになり ます。

12. 列定義を入力後、 ファ イルが固定幅か、 区切り記号付きであるかを指定します。 この手順は次のセクシ ョ ンで説明しますので、 [ テーブテーブテーブテーブル定義ル定義ル定義ル定義 ] ダイアログを開いたままにしてください。

ファイル フォーマッ トの設定ファイル フォーマッ トの設定ファイル フォーマッ トの設定ファイル フォーマッ トの設定

ファ イル フォーマッ ト を定義するには以下のよ うにします。

1. [ テーブル定義テーブル定義テーブル定義テーブル定義 ] ダイアログボッ クスの [ フォーマッ トフォーマッ トフォーマッ トフォーマッ ト ] タブをクリ ッ ク します。

[ フォーマッ トフォーマッ トフォーマッ トフォーマッ ト ] タブの左側に 3 つのチェッ クボッ クスがあ り ます。デフォルトで 3 つのチェッ クボッ クスはどれも選択されていない状態です。 このファ イルは固定幅ファ イルではないので、 最初の行に列名は含まれません。 ファ イル内の最後の復帰改行文字を無視するつも りはないので、 チェッ クボッ クスは選択されていない状態のままと してください。

右側にファイル区切り文字、 NULL 文字列、 および充てん文字の指定領域があり ます。 このファ イルでもデフォルトの区切り文字を使います。 したがって設定は変更しません。 このエクササイズでは NULL 文字列および充てん文字を指定する必要はないので、 これらのフ ィールドは空きのままにしておいてください ([ テーブル定義テーブル定義テーブル定義テーブル定義 ] ダ

独自メタデータの使い方 6-11

Page 150: Datastage JPY Tutorial

イアログボッ クスの詳細については 『DataStageデザイナ ガイ ド』 を参照してください )。

2. [OKOKOKOK] をク リ ッ ク します。

DataStage マネージャがリポジ ト リへ新しい定義を追加します。 これで DataStage マネージャ表示領域での MYPRICES.TXT の参照が可能になり ました。 表示が見つからない場合、 MYPRICES.TXT 定義が表示されるまで、 プロジェク ト ツ リーの テーブル定義テーブル定義テーブル定義テーブル定義 ブランチを展開してください。

後で定義を編集する必要がある場合は、 DataStage マネージャの表示領域で MYPRICES.TXT を選択してツールバーの [ プロパティプロパティプロパティプロパティ ] アイコンをク リ ッ ク してください。 [ テーブル定義テーブル定義テーブル定義テーブル定義 ] ダイアログボッ クスが再表示されます。

注意 :注意 :注意 :注意 : この方法で、リポジトリの任意のアイテムのプロパティ表示と編集が可能です。

Exercise10: ジョ ブでのメ タデータの使用Exercise10: ジョ ブでのメ タデータの使用Exercise10: ジョ ブでのメ タデータの使用Exercise10: ジョ ブでのメ タデータの使用作成したメ タデータが実際に機能するかど うか確認するには、 Exercise4 で作成したよ うなジ ョブを作成し実行してみます。

・ 順ファイル ステージを使って MYPRICES.TXT からデータを抽出します。

・ ト ランスフォーマ ステージを経由して、 実質的な変換は実行しないで、 入力列を出力列へ直接マッピングしてデータを転送します。

6-12 Ascential DataStage サーバージ ョブチュート リ アル

Page 151: Datastage JPY Tutorial

・ ODBC/UniVerse ステージを使って従業員別価格へデータをロードします。

基本的なジ ョブ デザインはジ ョブ Exercise4 のフォームにあるので、 このジ ョブを出発点と して使います。

1. DataStage デザイナで ジ ョブ Exercise4 を開き、 [ ファ イルファ イルファ イルファ イル ] から [ジ ョブに名前を付けて保存ジ ョブに名前を付けて保存ジ ョブに名前を付けて保存ジ ョブに名前を付けて保存 ... ] を選択して ジ ョブを Exercise10 と して保存します。

2. 順ファイル ステージを編集します。 出力ファイル名を MYPRICES.TXT に変更し、 [列列列列 ] タブで MYPRICES.TXT のメ タデータをロード します。 プロンプ トが表示されたら PRICES.TXT のメ タデータを上書きします。

3. ODBC あるいは UniVerse ステージを編集します。 入力テーブル名をMYPRICESに変更し、 [消去せずに行を挿入消去せずに行を挿入消去せずに行を挿入消去せずに行を挿入 ]の [更新アクシ ョ ン更新アクシ ョ ン更新アクシ ョ ン更新アクシ ョ ン ]を選択します。 [列列列列 ] タブで従業員別価格のメ タデータをロード します。 プロンプ トが表示されたら価格テーブルのメ タデータを上書きします。

4. ト ランスフォーマ ステージを編集します。 入力列と出力列を リ ンクします。 順序は異なり ますので、 自動列照合を使ってください (この機能の詳細手順については 4-24ページを参照してください )。

5. ジ ョブを保存、 コンパイル、 実行して従業員別価格を配置します。

6. データブラウザで出力内容を表示します。

まとめまとめまとめまとめこの章では、 リポジ ト リのメ タデータ ( テーブル定義と列定義 ) を作成する基本操作を学習しました。 カンマ区切り順ファ イルに対する メ タデータを手動で作成し、 ガイ ド付きアプローチを使って ODBC/UniVerse ソースから メ タデータをインポート しました。

次章ではジ ョブ デザイン デバッガを使ったジ ョブの実行と、 列データの変更確認方法について学習します。

独自メタデータの使い方 6-13

Page 152: Datastage JPY Tutorial

6-14 Ascential DataStage サーバージ ョブチュート リ アル

Page 153: Datastage JPY Tutorial

7ジ ョブのデバッグ

DataStage デバッガではジ ョブのテス トやデバッグが可能です。 デバッガを使って、 ジ ョブのリ ンクにブレイクポイン ト を設定します。 デバッグ モードでジ ョブを実行した場合、 ブレイ クポイン トに達する とジ ョブが停止し、 リ ンクの次のアクシ ョ ンへ進むか、 データの次の行の処理へ進むこ とが可能です。

Exercise11: ジョ ブ デザイン デバッガの使用Exercise11: ジョ ブ デザイン デバッガの使用Exercise11: ジョ ブ デザイン デバッガの使用Exercise11: ジョ ブ デザイン デバッガの使用Exercise11 では次の処理をします。

・ シンプルなジョブを作成し、このジョブに対してデバッガを実行

・ デバッガを実行し、新しいジョブの設計をチェック

・ 変換前と後の変数のステータスを比較

ジ ョ ブの作成ジ ョ ブの作成ジ ョ ブの作成ジ ョ ブの作成

Exercise3 では、 順ファイル ITEMS_2.TXT のデータを受注明細テーブルへロード しました。 こ こでは受注明細テーブルのデータを新しい順ファイル ITEMS_11.TXT へロードするジ ョブを作成します。

ジ ョブの作成手順は以下のとおりです。

1. デザイナで新しいジ ョブを作成し、 Exercise11 と して保存します。

ジ ョブのデバッグ 7-1

Page 154: Datastage JPY Tutorial

2. 左から順に、ODBC ( または UniVerse) ステージ、トランスフォーマ ステージ、順ファイル ステージを追加します。各ステージをリンクしてください。

3. [ODBCステージステージステージステージ ]ダイアログボックスで ODBCステージを編集します。

a. [データソース名データソース名データソース名データソース名 ]リストでデータソースを選択します。

b. [出力出力出力出力 ]ページの [全般全般全般全般 ] タブで、 [使用可能なテーブル使用可能なテーブル使用可能なテーブル使用可能なテーブル ] リ ス トから受注明細テーブルを選択してから、 [追加追加追加追加 ] をク リ ッ ク して[ テーブル名テーブル名テーブル名テーブル名 ] フ ィールドに追加します。

c. [出力出力出力出力 ]ページの [列列列列 ] タブで、 受注明細テーブルの定義をロード します。

4. [順ファ イル ステージ順ファ イル ステージ順ファ イル ステージ順ファ イル ステージ ] ダイアログボッ クスを使って順ファイル ステージを編集します。 [入力入力入力入力 ]ページの [全般全般全般全般 ] タブで、 例えば下記のよ うに、 Tutorialディレク ト リの ITEMS_11.TXT ファ イルを指定します。

c:¥Ascential¥DataStage¥Tutorial¥ITEMS_11.TXT

ファ イルがカンマ区切り ファ イルの場合、 [ フォーマッ トフォーマッ トフォーマッ トフォーマッ ト ] タブのデフォルト設定を確定します。

[列列列列 ] タブで [ ロード ...ロード ...ロード ...ロード ...] をク リ ッ ク して [Saved][ITEMS_2_TXT] からITEMS_2 テーブル定義をロード します。 この定義は Exercise2 で保存したもので、 受注明細テーブルからロード し ょ う と しているデータ

7-2 Ascential DataStage サーバージ ョブチュート リ アル

Page 155: Datastage JPY Tutorial

と合致します (Exercise 2 では ITEMS_2.TXT 内のデータに小数点を追加し、 そのデータを Exercise 3 の受注明細テーブルにロード したこ とに留意してください)。

5. ト ランスフォーマ エディ タを使って ト ランスフォーマ ステージを編集します。 入力 /出力リ ンクの各列の名前は同じですが、 順序が異なり ます。 各入力列を同じ名前の出力列 (あるいは自動マッチ機能を使用) へマップし、 [OKOKOKOK] をク リ ッ ク してステージ設定を保存し トランスフォーマ エディ タを終了します。

6. これで、 デバッガの機能を実行するためのジ ョブのセッ ト アップが完了しました。 ジ ョブを保存してコンパイルして ください

注意 :注意 :注意 :注意 : デバッグの実行にはジョブのコンパイルが必要です。

デバッガの実行デバッガの実行デバッガの実行デバッガの実行

作成したジ ョブに対するデバッガの実行方法について説明します。 ジ ョブ設計のテス ト とデバッグを容易にする手段とな り ます。 デバッガの詳細については 『DataStage サーバージ ョブ開発者ガイ ド』 を参照してください。

1. デバッガ ツールバーが表示されていない場合、[ ビュービュービュービュー ] から [ デデデデバッグ バーバッグ バーバッグ バーバッグ バー ] を選択して表示します。ツールチップを表示するには、ツールバーのアイコン上にカーソルを置いてください。

これらの機能には [ ファ イルファ イルファ イルファ イル ]→ [デバッグデバッグデバッグデバッグ ] から選択してアクセスするこ と もできます。

2. リ ンク DSlink3 を選択後、 ツールバーの [ ブレイクポイン トの切り替ブレイクポイン トの切り替ブレイクポイン トの切り替ブレイクポイン トの切り替ええええ ] アイコンをク リ ッ ク してブレイ クポイン ト を設定します。ODBC ステージへ接続する リ ンク上に大きな黒い点が表示されます。

ジョブ停止

ブレイクポイント ブレイクポイント次のリンク デバッグウィンドウ表示 /

ジョブ ブレイクポイントのパラメータ

デバッグの開始 /終了

の編集

切り替え

を消去

次の行ディレクタのログを表示

非表示

ジ ョブのデバッグ 7-3

Page 156: Datastage JPY Tutorial

これはリ ンク上にブレイ クポイン トが設定されているこ とを表します。

3. リンクを選択したまま、デバッガ ツールバーの [ ブレイクポイントブレイクポイントブレイクポイントブレイクポイントの編集の編集の編集の編集 ] アイコンをクリックします。[ ブレイクポイントの編集ブレイクポイントの編集ブレイクポイントの編集ブレイクポイントの編集 ] ダイアログボックスが表示されます。

このダイアログボッ クスを使ってブレイクの発生個所を指定します。

4. [ キャンセルキャンセルキャンセルキャンセル ] をク リ ッ ク して [N 行ごとN 行ごとN 行ごとN 行ごと ] に対するデフォルト設定 1 を適用します。 これによってジ ョブはリ ンク上で 1 行を処理するごとに停止します (式を選択した場合、 指定のリ ンクに対してその式が TRUE と評価された場合にだけブレイク します )。

7-4 Ascential DataStage サーバージ ョブチュート リ アル

Page 157: Datastage JPY Tutorial

5. デバッガ ツールバーの [ デバッグ ウィンドウの表示 /非表示デバッグ ウィンドウの表示 /非表示デバッグ ウィンドウの表示 /非表示デバッグ ウィンドウの表示 /非表示 ] アイコンをクリックし、[デバッグデバッグデバッグデバッグ ] ウィンドウを表示します。このウィンドウはジョブとデバッガの現在のステータスを表示します。

[デバッグデバッグデバッグデバッグ ] ウ ィンド ウを開いたまま次の手順へ進みます。

6. デバッガ ツールバーの [デバッグの開始 /継続デバッグの開始 /継続デバッグの開始 /継続デバッグの開始 /継続 ] アイコンをク リ ック します。

7. [ ジ ョブ実行オプシ ョ ンジ ョブ実行オプシ ョ ンジ ョブ実行オプシ ョ ンジ ョブ実行オプシ ョ ン ] ダイアログボッ クスが表示されます。 このダイアログボッ クスで [OKOKOKOK] をク リ ッ ク してジ ョブを実行します。

ジョブの実行中は [ デバッグデバッグデバッグデバッグ ] ウィンドウのステータスが変化します。ブレイクポイントに達するとジョブ ステータスは「実行中」のままで、デバッガ ステータスが「ジョブを実行中」から「ブレイクポイントで停止」に変化します。表示されている現在のブレイクは Exercise11.DSLink3」です。

[デバッグデバッグデバッグデバッグ ] ウィンドウの上部パネルには、トランスフォーマ ステージ (Exercise11.DSTransformer1) とリンク (DSLink3) の変数名と値が表示されます。下部パネルにはウォッチ リストが表示されま

ジ ョブのデバッグ 7-5

Page 158: Datastage JPY Tutorial

す。ここではまだウォッチ対象を定義していないためパネルは空白です。

8. ウォッチ リストに Exercise11.DSLink3.DSLinkRowCount を追加するには、上部パネルの変数リストから Exercise11.Exercise11.Exercise11.Exercise11.DSLink3.DSLinkRowCount を選択して [ ウォッチの追加ウォッチの追加ウォッチの追加ウォッチの追加] をクリックします。列幅が小さ過ぎて名前の全体が表示されないときは、列幅を変更してください。

9. [デバッグデバッグデバッグデバッグ ] ウ ィンドウの上部パネルから各入力列を選択し (受注番号、 明細番号など )、 [ ウォッチの追加ウォッチの追加ウォッチの追加ウォッチの追加 ] をク リ ッ ク してウォッチ リス トへ追加します。 入力列名をダブルク リ ッ クする と、 ウォ ッチリス トに追加できます。

10. これ以降は、 データ処理を実行しながらジ ョブを進める手順について説明します。

デバッガ ツールバーの [ 次の行へ次の行へ次の行へ次の行へ ] アイコンをクリックし、リンク Exercise11.DSLink3で処理する次の行へデバッガを進めます。

[デバッグデバッグデバッグデバッグ ] ウィンドウでは、最初の [ 次の行へ次の行へ次の行へ次の行へ ] のクリック時にデバッガ ステータスが「実行中」に変わり、その後「次の行で停止」に変わります。ウォッチ リストには ODBC ステージの入力データの次行のデータ値が表示されます。例えば現在の Exercise11.DSLinkRowCount の値は 2 です。

11. デバッガ ツールバーの [ 次のリンクへ次のリンクへ次のリンクへ次のリンクへ ] アイコンをクリックして、ジョブ デザインの次のリンクへ進みます。デバッガは次のリンク

7-6 Ascential DataStage サーバージ ョブチュート リ アル

Page 159: Datastage JPY Tutorial

Exercise11.DSLink4で停止し、[デバッグデバッグデバッグデバッグ ] ウィンドウのステータス情報も変化します。上部パネルには Exercise11.DSLink3 と Exercise11.DSLink4の両方の変数が一覧表示されます。

12. Exercise11.Exercise11.Exercise11.Exercise11.DSLink4.DSLinkRowCount と Exercise11.DSLink4 の各入力列を選択し、ウォッチ リストへ追加します。

このエクササイズでは実質的なデータの変換を実行していないため、Exercise11.DSLink3 と Exercise11.DSLink4 の各列の値は同じですが (変数の場所を変更しただけ )、この操作はトランスフォーマ ステージの前後の列データを参照して、適用した変換の効果の確認に非常に有効です。

13. [次の行へ次の行へ次の行へ次の行へ ] アイコンをク リ ッ ク します。 DSLink3 のブレイ クへ戻ります。 この場合、 ウォ ッチ リ ス ト ではすべての DSLink4 変数がコンテキス ト外と して一覧表示されます。 これは、 DSLink3 のコンテキス ト内には DSLink4 変数についての情報がないためです。

14. [デバッグデバッグデバッグデバッグ ] ウ ィンド ウを閉じます。

15. リ ンクを選択してデバッガ ツールバーの [ ブレイ クポイン トの切りブレイ クポイン トの切りブレイ クポイン トの切りブレイ クポイン トの切り替え替え替え替え ] アイコンをク リ ッ ク し、 DSLink3 のブレイクポイン ト を削除します。 [デバッグの開始 /継続デバッグの開始 /継続デバッグの開始 /継続デバッグの開始 /継続 ] アイコンをク リ ッ クする と、 ジ ョブの実行は完了します。

16. [デバッグデバッグデバッグデバッグ ] ウ ィンド ウが表示されます。ジ ョブの実行が完了する と [デバッグデバッグデバッグデバッグ ] ウ ィンド ウには現在のブレイ クが 「なし」 と表示され、

ジ ョブのデバッグ 7-7

Page 160: Datastage JPY Tutorial

ウォ ッチ リ ス ト ではすべての変数が 「コンテキス ト外」 とな り ます。 ウ ィンド ウを閉じてください。

17. 最後に Exercise 11 のデータ ブラウザを使ってファイル ITEMS_11.TXT のデータを参照します。

デザイナで順ファイル ステージをダブルク リ ッ ク し、 [入力入力入力入力 ] ページを選択して [データの参照 ...データの参照 ...データの参照 ...データの参照 ...] をク リ ッ ク します。

データ ブラウザには、 ITEMS_11.TXT へ書き込んだデータが表示されます。 データ ブラウザの詳細については 『DataStageデザイナ ガイ ド』 を参照してください。

まとめまとめまとめまとめこの章では、 データベース テーブルから順ファイルへデータを転送するシンプルなジ ョブを作成しました。 そして、 このジ ョブに対するジ ョブ デザイン デバッガの実行方法を学習し、 ブレイ クポイン ト を設定して次の行や次のリ ンクへ処理を進めた時にデータに対して発生した変化の確認方法を実践しました。 ジ ョブの実行完了後、 データ ブラウザを使って順ファイルのデータを確認するこ と も可能でした。

7-8 Ascential DataStage サーバージ ョブチュート リ アル

Page 161: Datastage JPY Tutorial

8複数値ファイルでの作業

この章のエクササイズでは、 非第 1 正規形 (NF2) データを持つ UniVerse データベースを処理する機能について説明し、 以下の処理をします。

・ サンプル複数値ファイル (NF2 フォーマッ トのファ イル ) を作成し、このファ イルの定義を DataStage リポジ ト リへインポート します (Exercise12)。

・ 複数値ファイルからデータを抽出し、 データマートの価格テーブルへロード します (Exercise13)。

各エクササイズは UniData や UniVerseユーザー用に作成されています。UniData を使っている場合、 ターゲッ ト と して ODBC と一緒にリ レーシ ョナルデータベースを使う必要があ り ます。 これに当てはまらないユーザーのと きは、 この章は読み飛ばして第 9章に進んでください。

注意 :注意 :注意 :注意 : DSEngineの UniVerse機能を使っている場合は、UniVerseアカウント名が DataStageプロジェクト名となります。

Exercise12: 複数値ファ イル定義のインポートExercise12: 複数値ファ イル定義のインポートExercise12: 複数値ファ イル定義のインポートExercise12: 複数値ファ イル定義のインポートこの エクササイズでは、複数値 UniData ハッシュ ファ イルまたは複数値 ハッシュ ファイルから メ タデータを作成します。 UniData ステージで使う こ とが焦点ですが、 UniVerseハッシュファイルを使う と きの手順に非常に似ているので、 異なる点についてはこの例で説明します。

Exercise12 を実行するには、 UniData または UniVerse を使っているこ とが前提です。

複数値ソース ファイル サンプルの作成複数値ソース ファイル サンプルの作成複数値ソース ファイル サンプルの作成複数値ソース ファイル サンプルの作成

次の手順は、 メ タデータの抽出元とする複数値ソース ファイルの作成と配置についての説明です。

複数値ファイルでの作業 8-1

Page 162: Datastage JPY Tutorial

1. UniVerse環境で作業している と きは、 DataStage プロジェク トディ レク ト リが BP という名称のディレク ト リ を含んでいるこ とを確認して ください (UniData環境では、 このディ レク ト リはすでに正しい位置に格納されています)。 も し BPがないと きは、 次の手順で作成してください。

a. Telnet セッションを開始し、localhost へ接続してログインします。Account name or path プロンプトで、DataStage プロジェクトへの完全修飾パス名を入力し [ReturnReturnReturnReturn] キーを押します。

b. UniVerseプロンプトへ以下のとおり入力します。

>CREATE.FILE BP 1

Telnet セッションはこの後の手順でも使うので、開いたままにします。

2. 第 2章で、 チュート リ アル CD から setup.exe または install.sh を実行してサンプル チュート リ アル ファイルをコピーしました。 チュートリアル ディレク ト リへコピーした ファイルのうち 2つは LOADFILE.B と MVPRICES.TXT でした。 エクスプローラ、 ファイル マネージャ、 または NT コマンド プロンプト (DOS ボッ クス ) を使って、 チュート リアル ディレク ト リから これら 2 つのファイルをファイルの作成に使うアカウン トの BP ディレク ト リへコピーします(UniVerse の場合は先に作成した BP ディレク ト リ を使います )。

3. Telnet セッシ ョ ンが開始されていない場合、 セッシ ョ ンを開始してログインします。

4. UniData プロンプ ト (:) または UniVerse プロンプト (>)で、LOADFILE.B をコンパイルします。

:BASIC BP LOADFILE.B

5. LOADFILE.B を実行してソース ファ イルを作成して配置します。

:RUN BP LOADFILE.B

6. ファ イル名を入力するプロンプ トが表示されます。 これはソースデータを含むテキス ト ファイルの名前です。 BP/MVPRICES.TXT を入力します。

アカウントに MVPRICES という名前のハッシュ ファイルが作成されます。

7. 以下のコマンドを入力して MVPRICES の内容を確認します。

:LIST MVPRICES

8-2 Ascential DataStage サーバージ ョブチュート リ アル

Page 163: Datastage JPY Tutorial

8. Telnet セッシ ョ ンを終了します。

メ タデータの作成メ タデータの作成メ タデータの作成メ タデータの作成

次の手順に従って、 前のセクシ ョ ンで作成したハッシュ ファ イル MVPRICES から メ タデータを作成してください。 このメ タデータはExercise13 で使います。

1. DataStageマネージャで [ インポートインポートインポートインポート ] から [ テーブル定義テーブル定義テーブル定義テーブル定義 ]→[UniData ファ イル定義 ...UniData ファ イル定義 ...UniData ファ イル定義 ...UniData ファ イル定義 ...] を選択します。 [ メ タデータのインポートメ タデータのインポートメ タデータのインポートメ タデータのインポート(UniData ファイル )(UniData ファイル )(UniData ファイル )(UniData ファイル )] ダイアログボッ クスが表示されます。

DSEngine または UniVerseの場合 : [ インポートインポートインポートインポート ] から [ テーブル定義テーブル定義テーブル定義テーブル定義]→ [UniVerse ファイル定義 ...UniVerse ファイル定義 ...UniVerse ファイル定義 ...UniVerse ファイル定義 ...] を選択します。 [ メ タデータのインメ タデータのインメ タデータのインメ タデータのインポート (UniVerse ファ イル )ポート (UniVerse ファ イル )ポート (UniVerse ファ イル )ポート (UniVerse ファ イル )] ダイアログボッ クスが表示されます。

2. サーバーのノード名と、 サーバーに接続するために使うユーザーアカウン ト名とパスワードを入力します。

[データベースデータベースデータベースデータベース ] リ ス トボッ クスをチェッ ク して ください。DataStageはサーバー上で有効なデータベースの一覧を表示します。MVPRICES ファ イルがあるデータベースを選んでから、 [OKOKOKOK] をクリ ッ ク します。

DSEngine または UniVerseの場合 : [ アカウン トアカウン トアカウン トアカウン ト ] リ ス トから、 ハッシュ ファイル MVPRICES を含むアカウン ト を選択します。

3. マネージャは指定された UniData データベースまたはDSEngine/UniVerse アカウン ト を検索し、 [ メ タデータのインポートメ タデータのインポートメ タデータのインポートメ タデータのインポート ] ダイアログボッ クスに利用可能なファイルを一覧表示します。 ファイル MVPRICES を選択してください。

4. [詳細詳細詳細詳細 ] をク リ ッ ク して MVPRICES の列見出しを確認し、 複数値ファイルであるこ とを確認します。 [詳細詳細詳細詳細 ] メ ッセージボッ クスが表示されます。 "(M)"はフ ィールドに複数値データが含まれているこ とを示します。

5. [詳細詳細詳細詳細 ] メ ッセージボッ クスを閉じ、 MVPRICES を選択した状態のまま [OKOKOKOK] をク リ ッ ク します。

複数値ファイルでの作業 8-3

Page 164: Datastage JPY Tutorial

DataStage がデータベースからメタデータを読み出してリポジトリにファイル定義を作成し、[ マネージャマネージャマネージャマネージャ] ウィンドウのテーブル定義へ Hashed エントリを追加します (存在しなければ )。

UniVerseの場合 : マネージャウ ィンド ウのテーブル定義の一覧には、[UniData] よ り も [Hashed]が追加されます。

これで DataStage リポジ ト リへの複数値ファイル メ タデータの作成が完了しました。 次のエクササイズでは、 このファイルからデータを抽出してデータマートへロード します。

Exercise13: 複数値ファ イルからのデータ抽出Exercise13: 複数値ファ イルからのデータ抽出Exercise13: 複数値ファ イルからのデータ抽出Exercise13: 複数値ファ イルからのデータ抽出この エクササイズでは、 UniData ステージまたは DSEngine/UniVerse ユーザーのハッシュ ファ イル ステージについて説明します。 Exercise12 で作成したサンプル ファ イルからデータを抽出して、 シンプルな ト ランスフォーマ ステージを経由してデータを転送し、 ODBC または UniVerse ターゲッ ト ( このエクササイズでは価格テーブル ) へ 1NF 形式で データをロード します。 ハッシュ ファイル ステージ ダイアログ ボッ クスの内容と、 正規化されたデータ と非正規化データの外観を確認します。

1. デザイナを起動して新しいジ ョブを作成し Exercise13 と して保存します。

左から順番に、 UniData または ハッシュ ファ イル ステージ、 ト ランスフォーマ ステージ、 ODBC または UniVerse ステージを配置します。

8-4 Ascential DataStage サーバージ ョブチュート リ アル

Page 165: Datastage JPY Tutorial

各ステージをリンクしてジョブ チェーンを作成します (下図参照 )。

2. [UniData ステージUniData ステージUniData ステージUniData ステージ ] ダイアログボッ クスを使って UniData ステージ を編集します。 [ サーバサーバサーバサーバ ] リ ス ト からサーバーノード名を、 [データデータデータデータベースベースベースベース ] リ ス トからデータベースを選んで、 UniData ファ イルの位置を確定して、 ユーザー名とパスワードを入力します。

UniVerse ユーザーの場合 : [ハッシュ ファ イル ステージハッシュ ファ イル ステージハッシュ ファ イル ステージハッシュ ファ イル ステージ ] ダイアログボッ クスを使ってハッシュ ファイル ステージを編集します。 [ アカアカアカアカウン ト名ウン ト名ウン ト名ウン ト名 ] リ ス トからハッシュ ファ イルを作成したアカウン ト を選択します。

3. [出力出力出力出力 ] タブをク リ ッ ク し、 [全般全般全般全般 ] タブの [ ファイル名ファイル名ファイル名ファイル名 ] リ ス トから MVPRICES ファ イルを選択します。

[ 列列列列 ] タブで [ ロード ...ロード ...ロード ...ロード ...] をクリックして MVPRICES ファイルの ハッシュ ファイル定義をロードします。これは、Exercise 12 で作成したファイル定義です。[列を選択列を選択列を選択列を選択 ] ダイアログボックスが表示されたら [OKOKOKOK] をクリックして列をすべてロードします。

複数値ファイルでの作業 8-5

Page 166: Datastage JPY Tutorial

このサンプル スクリーンでは [ 列列列列 ] タブを右方向にスクロールして、フィールド タイプとアソシエーションを表示しています。

4. [データの参照 ...データの参照 ...データの参照 ...データの参照 ...] をク リ ッ クする と非正規化フォームのデータを参照できます。 データ ブラウザが開きます。

または、フォーマット済非正規化ビューの参照も可能です。

8-6 Ascential DataStage サーバージ ョブチュート リ アル

Page 167: Datastage JPY Tutorial

a. [ 表示 ...表示 ...表示 ...表示 ...] をクリックします。[列表示列表示列表示列表示 ] ダイアログボックスが表示されます。

b. [ 正規化基準正規化基準正規化基準正規化基準 ] ドロップダウンリストボックスから [ 非正規化 (非正規化 (非正規化 (非正規化 (フォーマット済 )フォーマット済 )フォーマット済 )フォーマット済 ) ] を選択し、[OKOKOKOK] をクリックします。データ ブラウザには複数値行が複数行に分割して表示されます。

5. 次にデータを正規化するアソシエーシ ョ ンを選択します。

データ ブラウザを閉じて [ 正規化基準正規化基準正規化基準正規化基準 ] リストから PRICES を選択します。PRICES を正規化基準とするデータのフォーマットを参照するには [ データの参照 ...データの参照 ...データの参照 ...データの参照 ...] をクリックします。

データ ブラウザを閉じて [OKOKOKOK] をクリックし、[UniData ステージUniData ステージUniData ステージUniData ステージ ]または [ ハッシュ ファイル ステージハッシュ ファイル ステージハッシュ ファイル ステージハッシュ ファイル ステージ ] ダイアログボックスを終了します。

複数値ファイルでの作業 8-7

Page 168: Datastage JPY Tutorial

6. [ODBC ステージODBC ステージODBC ステージODBC ステージ ] ダイアログボッ クス または [UniVerse ステージUniVerse ステージUniVerse ステージUniVerse ステージ ] ダイアログボッ クスを使って ODBC または UniVerse ステージを編集します。

データソース名を選択してユーザー名とパスワードを入力します。[SQLGet Info] ボタンをクリックしてデータソースの適切な引用文字およびスキーマ区切り文字を設定します

UniVerseの場合 : ソースとして localuv を使う UniVerse ステージについてはユーザー名とパスワードは必要ありません。引用文字およびスキーマ区切り文字フィールドはディスエーブルされ、[SQLGet Info] ボタンは存在しません。

7. [入力入力入力入力 ] ページをク リ ッ ク します。

[ 全般全般全般全般 ] タブの [ テーブル名テーブル名テーブル名テーブル名 ] リストから価格テーブルを選択します。ステージの引用文字とリポジトリのテーブル定義で定義された引用文字が一致しないことを知らせるメッセージが表示されます。テーブル定義で指定した設定に変更するオプションが提供されます。[いいえいいえいいえいいえ ]をクリックします。

UniVerseの場合 : テーブルにはプレフィクスとしてアカウント名が付加します。例 : dstage. 価格。UniVerse はテーブル定義に関係なく必ず二重引用文字を使います。確認するメッセージが表示されます。[OKOKOKOK] をクリックします。

[更新アクション更新アクション更新アクション更新アクション] リストから [テーブルを消去してから行を挿入] を選択します。これで Exercise4 を完了している場合に配置されている価格テーブルを再利用できます。

8. [列列列列 ] タブで [ ロード ...ロード ...ロード ...ロード ...] をク リ ッ ク して価格テーブルの ODBC 定義をロード します (UniVerse データを利用している場合は UniVerse 定義 )。 [OKOKOKOK] をク リ ッ クする と、 [列選択列選択列選択列選択 ] ダイアログボッ クスが表示されます。 [OKOKOKOK] をク リ ッ ク してテーブル定義内の列をすべてロードしてください。

9. このジ ョブに対して DataStage が使う SQL 文を参照するには、 [SQL SQL SQL SQL の表示の表示の表示の表示 ] タブをク リ ッ ク してください

[OKOKOKOK] をクリックします。これで ODBC または UniVerse ステージが完了しました。

10. ト ランスフォーマ エディ タを使って ト ランスフォーマ ステージを編集します。

後は出力リンクの列出力仕様を定義するだけです。Exercise4 と同様に、このエクササイズでも実質的なデータ変換はしません。ソース

8-8 Ascential DataStage サーバージ ョブチュート リ アル

Page 169: Datastage JPY Tutorial

からターゲットへ直接マッピングされるように各出力仕様を作成してください。

a. [ ト ランスフォーマエディ タト ランスフォーマエディ タト ランスフォーマエディ タト ランスフォーマエディ タ ] ツールバーの [ 列データマッチ列データマッチ列データマッチ列データマッチ ]ボタンをク リ ッ ク します。 [ 列データマッチ列データマッチ列データマッチ列データマッチ ] ダイアログボッ クスが表示されます。

b. [ 名前マッチ名前マッチ名前マッチ名前マッチ ] と [ すべての列をマッチすべての列をマッチすべての列をマッチすべての列をマッチ ] オプシ ョ ンを選んで[OKOKOKOK] ボタンをク リ ッ ク します。 各入力列は自動的に該当する出力列にマッピングされます。

[OKOKOKOK] をクリックしてトランスフォーマ設定を確定し、トランスフォーマ エディタを終了します。

これでトランスフォーマ ステージが完了しました。

11. ジ ョブを保存してコンパイルします。

12. ディレクタを起動し、 新しいジ ョブを検証します。

13. ジ ョブを実行します。 価格テーブルには複数値ファイルのデータがロード されます。

テーブルを検証するには、デザイナのジョブ Exercise13 へ戻り、[ODBC ( または UniVerse ) ステージ ] ダイアログボックスを開き、[入力 ] ページの [データの参照 ...] をクリックします。データ ブラウザに手順 5 の表示と同じレイアウトでデータが表示されます。ただし列の順序は異なります。

これで、 UniVerse ファイルの複数値データを持つレコードを取得するジ ョブを作成して、 1NF フォームでデータマートへロードする作業が完了しました。

まとめまとめまとめまとめこの章では、 NF2 形式のデータを持つ複数値ハッシュ ファイル サンプルを作成し、 このファイルから メ タデータを作成しました。 作成したメータデータは、 ハッシュ ファイルからデータを抽出して 1NF ( first normal form) 形式のリ レーシ ョナル データベース テーブルへロードするジ ョブで使いました。 このジ ョブにはこのガイ ドでは初めて UniData ステージまたは ハッシュ ファ イル ステージが含まれていました。

複数値ファイルでの作業 8-9

Page 170: Datastage JPY Tutorial

8-10 Ascential DataStage サーバージ ョブチュート リ アル

Page 171: Datastage JPY Tutorial

9コンテナ

複数のステージとリンクをグループ化して 1 つのコンテナにできます。コンテナは、コンテナステージコンテナステージコンテナステージコンテナステージで表します。DataStage のコンテナには次の 2種類があります。

・ ローカルコンテナローカルコンテナローカルコンテナローカルコンテナ 特定のジョブの一部で、その他のジョブからは使えません。ローカルコンテナは単独では存在できず、所属ジョブの中でしか編集できません。ローカルコンテナは、ジョブダイアグラムの下部にあるタブで選択できます。このタブをクリックすると、任意のローカルコンテナの内容を表示できます。ローカルコンテナは、リポジトリには表示されません。

・ 共用コンテナ共用コンテナ共用コンテナ共用コンテナ 使い方はローカルコンテナと同じですが、ジョブから独立した位置に格納されます。つまり、共用コンテナは、ほかのジョブに使える「自己完結型」オブジェクトです。共用コンテナは、単独で編集でき、リポジトリに表示されます。共用コンテナには 2種類あ り ます。

---- サーバー共用コンテナ。 サーバージ ョブで使用します (パラレルジ ョブでも使用できます)。

---- パラレル共用コンテナ。 パラレルジ ョブで使用します。

コンテナは、いつでも「分解」できます。これは、 コンテナにあるステージと リ ンクがジ ョブの一部になるこ とを意味します。 ローカルコンテナは元の場所に分解できますが、 共用コンテナはまずローカルコンテナに変換してから分解する必要があ り ます。

コンテナについては、 『DataStageデザイナ ガイ ド』 を参照して ください。

コンテナ 9-1

Page 172: Datastage JPY Tutorial

ローカルコンテナローカルコンテナローカルコンテナローカルコンテナDataStageのローカルコンテナを使う主な目的は、 ダイアグラムウ ィンド ウで理解しやすくなるよ うに、 複雑なデザインの見かけをシンプルにするこ とです。 DataStage ジ ョブにた く さんのステージと リ ンクがあると きは、 手順の詳しい順序を記述するための追加コンテナを簡単に作成できます。 コンテナは、 入力または出力ステージによって、 ほかのステージまたはコンテナにリ ンク されています。

作業中でもコンテナ中のステージと リ ンクが存在する場所からでもローカルコンテナを作成できます。 ローカルコンテナは作成したジ ョブから唯一アクセスできます。

Exercise 14: ローカルコンテナの構築Exercise 14: ローカルコンテナの構築Exercise 14: ローカルコンテナの構築Exercise 14: ローカルコンテナの構築このエクササイズでは、 以前のエクササイズにステージを追加して、 それらをローカルコンテナに変換します。 ジ ョブの論理は気にしな くてもかまいません。 このエクササイズの目的は、 ローカルコンテナが簡単にできるこ とを実際に体験するこ とです。

このエクササイズでは、 以前のエクササイズで学んだ手順についても記載していて、 見たこ とがない手順はあ り ません。

次の手順を実行します。

1. Exercise1 を開きます。

2. Exercise1 を Exercise14 と して保存します。

3. 次のステージを追加します。

・ 2つのト ランスフォーマステージ・ 1 つの ODBC ステージ・ 1 つのシーケンシャルステージ

9-2 Ascential DataStage サーバージ ョブチュート リ アル

Page 173: Datastage JPY Tutorial

4. ステージを互いにリ ンク させて、 次のよ うにステージと リ ンクに名前を追加します。

5. ODBC ステージを編集します

・ ODBC ステージを開きます。 [ ステージステージステージステージ ]ページで [DSNDSNDSNDSN名名名名 ] を選んで、 [ ユーザー名ユーザー名ユーザー名ユーザー名 ] と [バスワードバスワードバスワードバスワード ] を入力します。 そして[SQLGet Info] を獲得します。

・ [入力入力入力入力 ]ページをク リ ッ ク します。 テーブル名の一覧から [受注明受注明受注明受注明細細細細 ] テーブルを選んで、 [更新アクシ ョ ン更新アクシ ョ ン更新アクシ ョ ン更新アクシ ョ ン ] リ ス ト から [ テーブルテーブルテーブルテーブルを消去してから行を挿入を消去してから行を挿入を消去してから行を挿入を消去してから行を挿入 ] を選びます (以前のエクササイズで、このテーブルに同じデータを書き込んでいます)。

・ [受注明細受注明細受注明細受注明細 ] テーブルのテーブル定義をロード します。

6. ODBC ステージを閉じるために、 [OKOKOKOK] ボタンをク リ ッ ク します。

7. シーケンシャルステージ Sequential_File_3 Sequential_File_3 Sequential_File_3 Sequential_File_3 を編集します。

・ シーケンシャルステージを開きます。 [入力入力入力入力 ]ページに移 り、 受注受注受注受注明細明細明細明細の列定義をロード します。

・ 数量の表示表示表示表示の値を 10に変更します。

8. シーケンシャルステージを閉じるために、 [OKOKOKOK] ボタンをク リ ッ ク します。

9. ト ランスフォーマステージ SEQTOSEQSEQTOSEQSEQTOSEQSEQTOSEQ を編集します。

コンテナ 9-3

Page 174: Datastage JPY Tutorial

・ ト ランスフォーマステージを開きます。 [入力入力入力入力 ] リ ンクからすべての列を選んで、 [ContainerContainerContainerContainer] リ ンクにド ラ ッグします。

10. ト ランスフォーマステージを閉じるために、 [OKOKOKOK] ボタンをク リ ッ クします。

11. ト ランスフォーマステージ Transformer_2Transformer_2Transformer_2Transformer_2 を編集します。 変換は不要で、 ダイレク トマッピングだけを実行します。

・ ト ランスフォーマステージを開いて、 [ContainerContainerContainerContainer] から [CODBCODBCODBCODB-CLinkCLinkCLinkCLink]へ列をマッピングするために、 [列自動マッチ列自動マッチ列自動マッチ列自動マッチ ] を使います。

・ [入力入力入力入力 ] リ ンクからすべての列を選んで、 [CTransLinkCTransLinkCTransLinkCTransLink] リ ンクへドラ ッグします。

画面は次のよ うにな り ます。

12. ト ランスフォーマステージを閉じるために、 [OKOKOKOK] ボタンをク リ ッ クします。

13. ト ランスフォーマステージ Transformer_3Transformer_3Transformer_3Transformer_3 を編集します。 変換は不要で、 ダイレク トマッピングだけを実行します。

・ ト ランスフォーマステージを開いて、 [CTransLinkCTransLinkCTransLinkCTransLink]から[CSeqLinkCSeqLinkCSeqLinkCSeqLink]へ列をマッピングするために、 [列自動マッチ列自動マッチ列自動マッチ列自動マッチ ] を使います。

9-4 Ascential DataStage サーバージ ョブチュート リ アル

Page 175: Datastage JPY Tutorial

画面は次のよ うにな り ます。

14. ト ランスフォーマステージを閉じるために、 [OKOKOKOK] ボタンをク リ ッ クします。

完了したジ ョブは次のよ うにな り ます。

15. ジ ョブを保存して、 コンパイルします。

16. ディレク タを開いて、 ジ ョブを検証して実行します。 問題なしでエラーがなく実行できるこ とを証明します。

少しのステージと リ ンク しかないジ ョブにもかかわらず、 すぐに混雑するこ とがわかるでし ょ う。 ジ ョブが発展した り ステージを追加した りすれば、 よ り明白になり ます。 コンテナを使う と、 これだけの単純作業でジ ョブデザインの複雑さが減って、 内容を追 うのが簡単になるこ とがわかり ます。

コンテナ 9-5

Page 176: Datastage JPY Tutorial

コンテナの構築コンテナの構築コンテナの構築コンテナの構築

すべてのステージを 1つにしたので、 ローカルコンテナを構築する準備ができました。

ローカルコンテナを構築する手順を次に示します。

1. 左マウスボタンを押さえたまま、 コンテナに含めたいステージの上をド ラ ッグします。

この場合、 Transformer_2, Transformer_3, Sequential_File_3, ODBC_1 を含めます。

2. [編集編集編集編集 ]→ [ コンテナを作成コンテナを作成コンテナを作成コンテナを作成 ]→ [ ローカルローカルローカルローカル ] を選びます。

9-6 Ascential DataStage サーバージ ョブチュート リ アル

Page 177: Datastage JPY Tutorial

了解のメ ッセージを確認します。

3. [ はいはいはいはい ] をク リ ッ ク します。

選択したステージは、 ローカルコンテナに変換され、 コンテナの内容を表示する [ コンテナコンテナコンテナコンテナ ] タブが使えます。

上記のとおり、 コンテナの内容は DataStage のジ ョブと同じよ うに詳し く表示されます。 唯一の違いは、 コンテナ名と メ インジ ョブがコンテナに属している場所を示す [入力入力入力入力 ] リ ンクアイコンが、 下方のタブに表示されているこ とです。

コンテナ 9-7

Page 178: Datastage JPY Tutorial

注意 :注意 :注意 :注意 : ジ ョブの途中でコンテナを構築したと きは (このエクササイズのよ うに最後まで到達していない)、 入力と出力リ ンクが見えます。

4. [Exercise14Exercise14Exercise14Exercise14] タブをク リ ッ ク して、 メ インのダイアグラムに戻り ます。

これでジ ョブがよ り単純で、 込み入っていないよ うに見えるこ とがわかり ます。 ローカルコンテナに変換したステージは、 ローカルコンテナステージアイコンに置き換わり ました。

5. ジ ョブを保存して、 コンパイルします。

6. デザイナを開いて、 検証した後、 ジ ョブを実行します。

7. 新しい出力ステージの双方のデータを表示します。

ローカルコンテナの取り外しローカルコンテナの取り外しローカルコンテナの取り外しローカルコンテナの取り外し

ローカルコンテナを構築前のステージのグループに変換して、 それまであったよ うにジ ョブのリ ンクを戻せます。 このコンテナを最初にどこでどのグループから作成したかを意識する必要はあ り ません。

1. Exercise14 で作成したローカルコンテナを取り外すには、 次のどれかを実行します。

9-8 Ascential DataStage サーバージ ョブチュート リ アル

Page 179: Datastage JPY Tutorial

・ ジ ョブダイアグラムジ ョブダイアグラムジ ョブダイアグラムジ ョブダイアグラムウ ィンド ウでコンテナステージを選び、シ ョート カッ ト メニューから [取り外し取り外し取り外し取り外し ] を選びます。

・ ジ ョブダイアグラムジ ョブダイアグラムジ ョブダイアグラムジ ョブダイアグラムウ ィンド ウでコンテナステージを選び、 メ イン メニューから [編集編集編集編集 ]→ [ コンテナの取り外しコンテナの取り外しコンテナの取り外しコンテナの取り外し ] を選びます。

この操作を確認する DataStage の画面が表示されます。

2. [ はいはいはいはい ] をク リ ッ ク します。

存在するステージと リ ンクを受け入れるために、 コンテナの構成要素がジ ョブダイアグラムジ ョブダイアグラムジ ョブダイアグラムジ ョブダイアグラムウ ィンド ウに表示されます。

コンテナ 9-9

Page 180: Datastage JPY Tutorial

注意 :注意 :注意 :注意 : ローカルコンテナの分解は再帰的に実行されません。 つまり、 分解したコンテナがほかのコンテナを含んでいても、 レベルは変化しますがそれらは分解されません。

これで Exercise 14: ローカルコンテナは完了です。 次のセクシ ョ ンでは、共用コンテナを扱います。 共用コンテナはローカルコンテナに非常に似ていますが、 幾つかの重要な違いがあ り ます。

サーバー共用コンテナサーバー共用コンテナサーバー共用コンテナサーバー共用コンテナサーバー共用コンテナも、 デザインを単純化する手助けになり ます。ローカルコンテナとの違いは、 ほかのジ ョブで再利用できるこ とです。プロジェク ト を通して有用な共通ジ ョブコンポーネン トの作成にサーバー共用コンテナを使えます。 また、 ステージの配列が複製された場所のジ ョブ内でも使えます。

共用コンテナは、 ステージと リ ンクのグループを形成して、 DataStageのジ ョブのよ うに リポジ ト リに保存されます。 ジ ョブに共用コンテナを挿入する と、 DataStageはそのコンテナのインスタンスをデザインに配置します。 共用コンテナのインスタンスを含むジ ョブをコンパイルすると、 コンテナのコードはコンパイル後のジ ョブに含まれます。 共用コンテナのインスタンスで、 ジ ョブ内で使われている DataStageのデバッガを使えます。

ジ ョブに共用コンテナのインスタンスを追加する と きは、 コンテナ内に入力またはコンテナから出力する リ ンクのメ タデータをマッピングする必要があ り ます。 共用コンテナの内容を変更したと きは、 変更を反映するためにコンテナを使うそれらのジ ョブを再コンパイル必要があ り ます。

次のよ うにして、 共用コンテナを作成できます。

・ 新規コンテナジ ョブを作成して、 DataStage ジ ョブのステージと リンクを追加します。 共用コンテナでは、 コンテナへの入力リ ンクと出力リ ンクを定義する必要があ り ます。 これらの リ ンクは、 コンテナで使うジ ョブ内と関係させて リ ンク されていなければなりません。

・ 共用コンテナ中の既存のステージと リ ンクを配置します。

・ ローカルコンテナに変換します。

サーバー共用コンテナの詳細については、 『DataStageデザイナ ガイ ド』を参照して ください。

9-10 Ascential DataStage サーバージ ョブチュート リ アル

Page 181: Datastage JPY Tutorial

Exercise 15 では、 ジ ョブの中にある既存のステージを変換してサーバー共用コンテナを作成する方法を説明します。

共用コンテナは多くの点でローカルコンテナに似ていますが (例えば、両方と も既存のステージから作成)、 留意して欲しい重要な違いがあ ります。

・ 共用コンテナは、 各ジ ョブから独立して格納されます。

・ ほかのジ ョブと同様に、 独立して共用コンテナを編集できます。

・ ほかのジ ョブから再利用できます。

・ 共用コンテナに挿入して編集したメ タデータは、 それぞれの入力および出力ステージ上のメ タデータ と一致させる必要があ り ます。

・ 共用コンテナを取り外すと きは、 最初にローカルコンテナに変換する必要があ り ます。

・ コンテナの取り外しは、 再帰的に実行されません。 つま り、 分解したコンテナがほかの共用コンテナを含んでいても、 それらネスト されたコンテナは分散して取り外さなければなり ません。

Exercise 15: サーバー共用コンテナの構築Exercise 15: サーバー共用コンテナの構築Exercise 15: サーバー共用コンテナの構築Exercise 15: サーバー共用コンテナの構築Exercise 15 では、 DataStage ジ ョブにある既存のステージからサーバー共用コンテナを作成する方法を示します。 このエクササイズでは、Exercise14 で作成したローカルコンテナと同じ方法で共用コンテナを作成するので、 簡単に手順を実行できるでし ょ う。

1 つの ト ランスフォーマステージを含む、 非常に単純なコンテナを作成します。 実は、 Exercise2で作成した ト ランスフォーマステージ (「divide by 100」 オペレーシ ョ ンを実行) を使います。 もし忘れていれば、 思い出すために Exercise2 をも う一度見ておいてください。

共用コンテナでは単一のステージだけを使いますが、 なぜコンテナが要るのでし ょ うか ? もちろん、 あなたはト ランスフォーマステージは使えて共用コンテナは使えないからですが、 共用コンテナの主な目的はほかのジ ョブでも使う こ とです (Exercise16 で実施済み)。 このエクササイズで使う ト ランスフォーマステージは、 単純な操作の組み合わせで動作しますが、 それはよ り複雑な ト ランスフォームでも動作するこ とを意味します。 つま り、 共用コンテナを使う こ とは、 面倒な作業を 1回だけすればよ く、 そのコンテナを同じジ ョブで複数回使えるこ とを意味します。ます。

コンテナ 9-11

Page 182: Datastage JPY Tutorial

注意 :注意 :注意 :注意 : このエクササイズでは、 ベース と して Exercise2 を使うので、Exercise2 を完了しているこ とを前提にしています。

このエクササイズの目的は、 共用コンテナを作成してほかのジ ョブで使う方法を説明するこ とです。 共用コンテナのよ り詳しい内容については、 『DataStageデザイナ ガイ ド』 を参照して ください。

サーバー共用コンテナを作成する手順を次に示します。

1. Exercise 2 を開きます。

2. ト ランスフォーマ (DIVBY100) ステージを選んでク リ ッ ク します。

3. メ イン メニューから [編集編集編集編集 ]→ [ コンテナを作成コンテナを作成コンテナを作成コンテナを作成 ]→ [共用共用共用共用 ] を選びます。

確認ダイアログが表示されます。

9-12 Ascential DataStage サーバージ ョブチュート リ アル

Page 183: Datastage JPY Tutorial

4. [ はいはいはいはい ] をク リ ッ ク します。

[新規コンテナの作成新規コンテナの作成新規コンテナの作成新規コンテナの作成 ] ダイアログボッ クスが表示されます。

5. [ コンテナ名コンテナ名コンテナ名コンテナ名 ] フ ィールドに 「DivBy100」 と入力します。

注意 :注意 :注意 :注意 : コンテナ名は文字で始めて、 英数字だけを使えます。

6. [ カテゴ リカテゴ リカテゴ リカテゴ リ ]領域には、 「Tutorial」 と入力するか [既存のカテゴ リ既存のカテゴ リ既存のカテゴ リ既存のカテゴ リ ]一覧から Tutorial を選びます。

7. [OKOKOKOK] をク リ ッ ク します。

選択したステージは共用コンテナに変換され、 ステージアイコンとリ ンクが共用コンテナステージアイコンに置き換わり ます。

共用コンテナの場合、 ダイアグラムの下部にコンテナ名を表示するタブがないこ とに留意してください。 代わりに、 今作成した共用コンテナはリポジ ト リの一部になっていて、 ほかのジ ョブと共用できます。

コンテナ 9-13

Page 184: Datastage JPY Tutorial

リ ポジ ト リ ウ ィ ンド ウの [共用コンテナ共用コンテナ共用コンテナ共用コンテナ ]→ [TutorialTutorialTutorialTutorial]ディレク ト リの下に共用コンテナがあるこ とを確認できます。

8. ジ ョブを保存して、 コンパイルします。

共用コンテナの内容を参照共用コンテナの内容を参照共用コンテナの内容を参照共用コンテナの内容を参照

共用コンテナの内容を参照するには、 リポジ ト リ ウ ィ ンド ウのコンテナアイコンをダブルク リ ッ ク します。

注意 :注意 :注意 :注意 : ダイアグラム上のコンテナステージアイコンをダブルク リ ッ クする と、 コンテナではないステージエディ タが開きます。

DataStageは自動的に入力と出力のステージアイコンを追加していることに留意してください。

ほかのジ ョブ用に、 デザイナの共用コンテナを編集できます。

9-14 Ascential DataStage サーバージ ョブチュート リ アル

Page 185: Datastage JPY Tutorial

Exercise 16: ジョ ブで共用コンテナを使うExercise 16: ジョ ブで共用コンテナを使うExercise 16: ジョ ブで共用コンテナを使うExercise 16: ジョ ブで共用コンテナを使う共用コンテナの基本的な機能は、 ほかのジ ョブでも使えるこ とです。 たまに共用コンテナは再利用可能なコンテナと して見なされます。

共用コンテナは、 自分自身をコンテナにできるモジュールで、 基本的な機能を使え、 ほかのジ ョブからでも簡単に共用コンテナを使えます。ジ ョブで接続するには、 共用コンテナの入力メ タデータは、 出力メ タデータ と合致している必要があ り ます。 同様に、 ジ ョブで接続するには、 コンテナから出力される リ ンク上のメ タデータも、 ステージへの入力のメ タデータ と合致している必要があ り ます。

このエクササイズでは、 2つの順ファイルステージのジ ョブを作成して、Exercise15 で作成した共用コンテナを挿入します。

1. デザイナをオープンして、 新規ジ ョブを作成します。

2. そのジ ョブを Exercise 15Exercise 15Exercise 15Exercise 15 と して保存します。

3. 2つの順ファイルステージを追加して、 ITEMS3_TXTITEMS3_TXTITEMS3_TXTITEMS3_TXT と ITEMS4_TXTITEMS4_TXTITEMS4_TXTITEMS4_TXTに名前を変更します。

4. リ ポジ ト リ ウ ィ ンド ウに移動して、 [共用コンテナ共用コンテナ共用コンテナ共用コンテナ ]→ [TutorialTutorialTutorialTutorial]ブランチを開きます。 DivBy100DivBy100DivBy100DivBy100 コンテナを選びます。

5. ダイアグラムにコンテナをド ラ ッグして、 2つの順ファ イルステージの間に位置づけます。

コンテナ 9-15

Page 186: Datastage JPY Tutorial

6. 3つすべてのステージを リ ンク させて、 リ ンクの名前をそれぞれCinputCinputCinputCinput と COutputCOutputCOutputCOutputに変更します。 デザインは次のよ うにな り ます。

7. 順ファイルステージ (ITEMS3_TXT) を開いて、 [出力出力出力出力 ]ページでTutorialディ レク ト リにある ITEMS.TXTITEMS.TXTITEMS.TXTITEMS.TXT をファ イル名と して選びます。

8. [ フォーマッ トフォーマッ トフォーマッ トフォーマッ ト ]ページで、 [固定幅列固定幅列固定幅列固定幅列 ] を選びます。

9. [列列列列 ]ページで、 ITEMSITEMSITEMSITEMSの列定義をロード します。

10. [OKOKOKOK] をク リ ッ ク して、 エディ タを閉じます。

11. 順ファイルステージ (ITEMS4_TXT) を開いて、 [入力入力入力入力 ]ページのファイル名と して ITEMS4.TXTITEMS4.TXTITEMS4.TXTITEMS4.TXT を指定します。

12. [列列列列 ]ページで、 ITEMSITEMSITEMSITEMSの列定義をロード します。

13. このエクササイズでの変換は、 ITEMS_4.TXTにある 2つの列に小数点を追加するので、 ITEMS_4.TXTのデータを正し くするために、 これらの列の定義を編集する必要があ り ます。

a. 金額列の [SQL タイプタイプタイプタイプ ] セルをク リ ッ ク して、 ド ロ ップダウン リス トから [DecimalDecimalDecimalDecimal] を選びます。

b. 金額列の [長さ長さ長さ長さ ] セルをク リ ッ ク して、 「8」 と入力します。

c. 金額列の [ スケールスケールスケールスケール ] セルをク リ ッ ク して、 「2」 と入力します。

d. 売価列についても、 a~ cの手順を繰 り返します。

14. [OKOKOKOK] をク リ ッ ク して、 エディ タを閉じます。

9-16 Ascential DataStage サーバージ ョブチュート リ アル

Page 187: Datastage JPY Tutorial

注意 :注意 :注意 :注意 : 両方の順ファイルステージのプロパティは、 Exercise2で使っていたのと同じです。

15. 共用コンテナをダブルク リ ッ ク して、 ステージエディ タを開きます。[ プロパティプロパティプロパティプロパティ ] ダイアログボッ クスが表示されます。

16. [入力入力入力入力 ]ページをク リ ッ ク します。

[入力入力入力入力 ]ページが表示されます。

コンテナ 9-17

Page 188: Datastage JPY Tutorial

[入力入力入力入力 ]ページには、 入力メ タデータがマッピングされています。

17. [入力名入力名入力名入力名 ] ド ロ ップダウン リ ス トから、 マッピングしたい リ ンクを選びます (このエクササイズでは、 コンテナへの入力リ ンクは 1つだけしかあ り ません)。

18. [ リ ンクマッピングリ ンクマッピングリ ンクマッピングリ ンクマッピング ] ド ロ ップダウン リ ス ト をク リ ッ ク して、 [入力入力入力入力 ]を選びます。 このエクササイズでは、 リ ス トから選ぶ リ ンクは 1 つだけしかあ り ません。 リ ンク名 「Input」 は、 共用コンテナ中の入力リ ンクの名称です。

19. [検証検証検証検証 ] をク リ ッ ク します。 コンテナを入力する リ ンクのメ タデータが、 コンテナ中のリ ンク上のメ タデータ と合致しているかど うか確認するチェ ッ ク と して実行されます。 この検証は、 確認ダイアログが表示される と成功です。

注意 :注意 :注意 :注意 : 検証に失敗したと きは、 エラーメ ッセージが表示されます。このと きは、 入力ステージのメ タデータをチェッ ク して ください。

20. [OKOKOKOK] をク リ ッ ク します。

21. 15-18の手順を繰 り返し、 詳細を [OutputsOutputsOutputsOutputs] リ ンクに指定します。

22. これでジ ョブのデザインは完了です。 ジ ョブを保存してコンパイルします。

23. デザイナを開いて、 検証してジ ョブを実行します。

24. 最後に、 入力データ と出力データを表示します。

これで Exercise 16は終了です。

まとめまとめまとめまとめこの章では、 Exercise 14 でローカルコンテナと、 ジ ョブ中の既存のステージからどのよ うにしてローカルコンテナを構築するかを紹介しました。 コンテナを取り外して、 も と も とあったステージに戻す方法も紹介しました。

9-18 Ascential DataStage サーバージ ョブチュート リ アル

Page 189: Datastage JPY Tutorial

Exercise15 と 16 では、 共用コンテナの構築と使い方を紹介しました。 新規ジ ョブを作成して、 そこに共用コンテナを挿入しましたが、 同じ方法で既存のジ ョブで共用コンテナを再利用できました。 しかし、 コンテナのリ ンクについて、 送られて く る リ ンク上のメ タデータ と、 コンテナから出力する メ タデータが合致しているこ とを確認する必要があ り ます。

コンテナの詳細については、 『DataStageデザイナ ガイ ド』 を参照して ください。

コンテナ 9-19

Page 190: Datastage JPY Tutorial

9-20 Ascential DataStage サーバージ ョブチュート リ アル

Page 191: Datastage JPY Tutorial

10ジ ョブシーケンス

DataStageには、DataStage BASICによる強力な バッチジョブ作成機能があります。DataStageの前のバージョンでは、BASICプログラミングの知識が必要で、しかもテキストベースのプログラミング環境でした。DataStageバージョン 5.1からは、「ジョブシーケンス」と呼ばれるグラフィカルインタフェースでバッチジョブを作成できるようになりました。

ジ ョブシーケンスは、 ほかの DataStage ジ ョブと同様の方法で、 バッチジ ョブを作成できるよ うにします。 つま り、 すでにあるステージをダイアグラムにド ラ ッグ & ド ロ ップして、 互いにリ ンク させるこ とができます。 このフロン トエンドが、 ジ ョブの実行に要求されるのに必要なBASIC コードを生成します。

ジ ョブシーケンスでは、 コンポーネン ト ステージは互いに独立して動作して、 ステージ間のリ ンクは、 ほかの DataStage ジ ョブのデータフローではなく制御フローで提示されます。

ジ ョブシーケンスのデザインでは、 プロセスを制御するために、 デザイナはプロセスフロー、 動作と リ ンクを表示するステージ、 条件を定義する リ ンク (または ト リガー) を意識する必要があ り ます。 例えば、 ス

ジ ョブシーケンス 10-1

Page 192: Datastage JPY Tutorial

テージには成功または失敗の条件が適用され、 どの条件に遭遇したかによって異なる処理が実行されるこ とです。

Exercise 17: ジョ ブシーケンスの作成Exercise 17: ジョ ブシーケンスの作成Exercise 17: ジョ ブシーケンスの作成Exercise 17: ジョ ブシーケンスの作成Exercise 17 では、 単純なジ ョブシーケンスのデモを実施します。 3つのジ ョブを実行して、 ジ ョブの実行が完了したこ とを告げるネッ ト ワークメ ッセージを表示するジ ョブシーケンスを作成します。

このエクササイズの目的は、 ジ ョブシーケンスを紹介するこ と と、 ど う簡単にジ ョブシーケンスを使えるかを示すこ とです。 ジ ョブシーケンスの使い方の詳細については、 『DataStageデザイナ ガイ ド』 を参照して ください。

注意 :注意 :注意 :注意 : ジ ョブシーケンスの手順を開始する前に、 Exercise2、 Exercise3、Exercise4のジ ョブがコンパイルされて、 エラーがなく実行されるこ とを確認して ください。

ジ ョブシーケンスを作成する手順を次に示します。

1. デザイナから [ ファ イルファ イルファ イルファ イル ]→ [新規新規新規新規 ] を選びます。

10-2 Ascential DataStage サーバージ ョブチュート リ アル

Page 193: Datastage JPY Tutorial

[新規新規新規新規 ] ダイアログボッ クスが表示されます。

2. [新規ジ ョブシーケンス新規ジ ョブシーケンス新規ジ ョブシーケンス新規ジ ョブシーケンス ] アイコンをダブルク リ ッ ク します。

新規ジ ョブデザインウ ィンド ウが表示されます。

3. このジ ョブを Exercise17Exercise17Exercise17Exercise17 と して、 MyExercises カテゴ リに保存します。

4. [ ジ ョブアクティ ビティ ステージジ ョブアクティ ビティ ステージジ ョブアクティ ビティ ステージジ ョブアクティ ビティ ステージ ] アイコンをツールバーからキャンバスにド ラ ッグします。

5. さ らに [ ジ ョブアクティ ビティ ステージジ ョブアクティ ビティ ステージジ ョブアクティ ビティ ステージジ ョブアクティ ビティ ステージ ] アイコンを追加して、 すべてのステージを次のよ う なデザインで リ ンク させます。

6. 最後に [ コマンド実行ステージコマンド実行ステージコマンド実行ステージコマンド実行ステージ ] を追加して、 ほかのステージと リンク させます。 最終的なデザインは、 次のよ うにな り ます。

ジ ョブシーケンス 10-3

Page 194: Datastage JPY Tutorial

これで必要なすべてのステージを確保して、 それを互いにリ ンク し終ったので、 それらをどのよ うに動作させたいかを定義します。

7. 一番左の [ ジ ョブアクティ ビティ ステージジ ョブアクティ ビティ ステージジ ョブアクティ ビティ ステージジ ョブアクティ ビティ ステージ ] をダブルク リ ッ ク します。 [ プロパティプロパティプロパティプロパティ ] ダイアログボッ クスが表示されます。

10-4 Ascential DataStage サーバージ ョブチュート リ アル

Page 195: Datastage JPY Tutorial

8. [ ジ ョブジ ョブジ ョブジ ョブ ]ページをク リ ッ ク します。 このジ ョブシーケンスでステージのジ ョブが位置づけられる場所です。

9. [ ジ ョブ名ジ ョブ名ジ ョブ名ジ ョブ名 ] フ ィールドのド ロ ップダウン リ ス ト をク リ ッ ク して、Tutorialディ レク ト リから Exercise2 を選びます。

10. [ ト リ ガート リガート リガート リガー ]ページをク リ ッ ク します。 このページに、 選択したジ ョブがどのよ う な動作をするかを指定します。

11. [式タイプ式タイプ式タイプ式タイプ ] フ ィールドをク リ ッ ク して、 「成功 - [条件付き ]成功 - [条件付き ]成功 - [条件付き ]成功 - [条件付き ]」 を選びます。

注意 :注意 :注意 :注意 : 「成功 - [条件付き ]」 の選択は、 ジ ョブの動作が成功したときにだけ、 ジ ョブシーケンスが次のステージに移動するこ とを意味します。 これはジ ョブの動作が成功したかど うかに関係な くジ ョブシーケンスが次のステージに移動する 「無条件」 を選択したと き と違います。

12. [OKOKOKOK] をク リ ッ ク して、 [ プロパティプロパティプロパティプロパティ ] ダイアログボッ クスを閉じます。

13. ほかの 2つの [ ジ ョブアクティ ビティ ステージジ ョブアクティ ビティ ステージジ ョブアクティ ビティ ステージジ ョブアクティ ビティ ステージ ]についても、 手順 7~手順 12 を繰り返します。 ただし、 その場合のジ ョブはそれぞれに応じて Exercise3 と Exercise5 を選んでください。

1 つ前のジ ョブが完了する と次のジ ョブが実行するよ うに、 3つのジ ョブを定義しました。

ジ ョブシーケンス 10-5

Page 196: Datastage JPY Tutorial

最後の手順は、 すべてのジ ョブの実行が間利用したこ とを知らせるネッ ト ワーク確認メ ッセージを設定するこ とです。

14. [ コマンド実行ステージコマンド実行ステージコマンド実行ステージコマンド実行ステージ ] アイコンをダブルク リ ッ ク します。 [ プロプロプロプロパティパティパティパティ ] ダイアログボッ クスが表示されます。

15. [Exec コマンドExec コマンドExec コマンドExec コマンド ]ページをク リ ッ ク します。

[Exec コマンドExec コマンドExec コマンドExec コマンド ]ページには、 実行したい実行形式コマンドを指定します。 こ こには、 Windows ネッ ト ワーク メ ッセージをあなた自身に送信するだけのエクササイズです。

16. [ コマンドコマンドコマンドコマンド ]領域には、 「NET SEND <machine name>NET SEND <machine name>NET SEND <machine name>NET SEND <machine name>」 ( クオーテーシ ョ ンや括弧は付けない) と入力します。 <machine name>はネッ トワーク上のコンピュータ名です。 例えば、 「NET Send student1」 と入力します。

10-6 Ascential DataStage サーバージ ョブチュート リ アル

Page 197: Datastage JPY Tutorial

17. [パラ メータパラ メータパラ メータパラ メータ ]領域には、 「DataStage Tutorial - すべてのジ ョブは完了しました。」 と入力します。 これは、 ジ ョブシーケンス中の最後のジ ョブが終了したと きに送信される メ ッセージにな り ます。

18. [OKOKOKOK] をク リ ッ ク します。

19. ジ ョブを保存して、 コンパイルします。

20. ディレク ターを開いて、 Exercise17 を検証して実行します。

ジ ョブが開始したら、 ジ ョブシーケンスの各ジ ョブの処理を見るために [ ジ ョブログジ ョブログジ ョブログジ ョブログ ] ビューに切り替えます。 ジ ョブは小さいので、完了するまでにはそれほど長い時間は掛かり ません。

すべてのジ ョブの実行が完了した後で、 ネッ ト ワーク メ ッセージが画面に表示されます。

注意 :注意 :注意 :注意 : DataStage Version 5.xの利点は、 Exercise17のよ う なジ ョブシーケンスが直接コードを持つこ とです。 このジ ョブシーケンスのよ うにどのよ う なコードが内在しているかを見たいと きは、 デザイナに移動して、 [編集編集編集編集 ]→ [ ジ ョブプロパティジ ョブプロパティジ ョブプロパティジ ョブプロパティ ] を選んで、 [ ジ ョブジ ョブジ ョブジ ョブ管理管理管理管理 ] をク リ ッ ク します。

これで Exercise17は完了です。 このエクササイズでは、 単純なバッチジ ョブを作るために、 ジ ョブシーケンスをど う簡単に使えるかを実行しました。

ジ ョブシーケンス 10-7

Page 198: Datastage JPY Tutorial

まとめまとめまとめまとめこの章ではジ ョブシーケンスの利点を紹介しましたが、 さ らに利点があり ます。 例えば、 前のジ ョブが成功したと きだけに動作を開始するよ うな条件を ト リガーに設定できます。 ジ ョブが失敗したと きに、 電子メールを送信するこ と もできます。 特殊な時点で、 プログラムを実行したり、 システムコマンドを実行した りできます。

ジ ョブシーケンスについての詳細は 『DataStageデザイナ ガイ ド』 を参照して ください。

10-8 Ascential DataStage サーバージ ョブチュート リ アル

Page 199: Datastage JPY Tutorial

11国別言語サポート

この章のエクササイズでは、 DataStage での国別言語サポート (NLS) の機能について説明します。 具体的には次のエクササイズを実行します。

・ EBCDIC 文字セットのデータを ASCII 文字セットへ変換

・ 列ごとのマッピング機能を使った、列ごとに文字セットが異なるテーブルの処理

・ 2 つの異なる国別情報ルールに基づくデータのソートと、これら 2 つの結果出力の差異の検証

これらのエクササイズの実行には、 NLS がイネーブルされている DataStage を使って ください。

DataStage での国別言語サポートDataStage での国別言語サポートDataStage での国別言語サポートDataStage での国別言語サポートDataStage はビルト イン NLS で、 多様な文字セッ トでのデータ処理が可能です。 DataStage はあらゆるデータ処理や内部機能に UNICODE を採用するこ とで、 このデータ処理機能を実現しています。 UNICODE はほぼあらゆる文字のエンコードが可能な 16 ビッ ト文字セッ トで、 世界的な文字エンコード基準と して使われています。 DataStage はすべての文字セッ トの入力データをこの内部表現にマップします。 同様に、 出力データは内部表現から任意の文字セッ トにマップされます。

デフォルトの外部文字セッ トは、 各プロジェク ト ごとに定義されています。 DataStage では文字セッ ト をマップマップマップマップと呼びます。 各ジ ョブでは、 このデフォルト マップに代わる別のマップをジ ョブ全体に適用するこ とが可能です。 また、 各ステージ インスタンスやテーブル内の各列にデフォルト以外のマップを個別に適用するこ と も可能です。

ジ ョブはソース ステージやターゲッ ト ステージのすべてに同じ文字セッ ト を適用する必要はなく、 使用中のオペレーティング システムの文

国別言語サポート 11-1

Page 200: Datastage JPY Tutorial

字セッ トに制限されるこ と もあ り ません。 複数の文字セッ ト を同時に適用するこ とが可能です。

すなわち、韓国語 (KSC) の ODBC ソースからデータを読み出し、日本語 (JIS) の順ファイルへデータを書き込むこ とが可能です。 また DataStage では、 メ インフレーム データベースの文字セッ ト間で、 データの意味を喪失せずデータ移行の実行が可能です。 テーブルや列定義などのメ タデータはサポート されている任意の文字セッ トでインポートできます。これらは、 適切なツールを用いるこ とで容易な処理が可能です。

DataStage では、 日付や時刻、 通貨など各国のルールを国別情報国別情報国別情報国別情報といいます。 デフォルトの国別情報は、 インス トール時に各プロジェク ト ご とに設定します。 プロジェク トやジ ョブに対して国別情報を設定するこ とで、 アプリ ケーシ ョ ンが使われる地域に適したルールを採用できます。このルールでは次の項目が定義されています。

・ 地域の言語と文字セット・ 数値、日付、時刻、通貨などのデータ編集フォーマット・ ソートの基準となる文字とソート方法

Exercise18Exercise18Exercise18Exercise18: : : : 異なる文字セットへの変換異なる文字セットへの変換異なる文字セットへの変換異なる文字セットへの変換このエクササイズでは、 ある文字セッ トから別の文字セッ トへデータを変換する とい う、 最も簡単な NLS サポートの例を説明します。 こ こでは、 EBCDIC 文字セッ トから ASCII 文字セッ トへのデータ変換を実行します。 EBCDIC テキス ト ファ イルのデータを使って製品テーブルへアイテムを追加します。

こ こでは通常は DataStage にロード されていない文字セッ ト を使うため、まずアド ミ ニス ト レータを使ってマップをインス トールします。 これ以前のエクササイズではアド ミ ニス ト レータは使いませんでしたが、 必要な手順はすべてエクササイズ中で詳細に説明します。

EBCDIC 文字セッ ト用マップのインス トール手順は以下のとおりです。

1. [ スタート ] から [プログラム ]→ [Ascential DataStage]→ [DataStage アド ミ ニス ト レータ ] を選択して、 アド ミ ニス ト レータを起動します。 [DataStageへ 接続 ] ダイアログボッ クスで必要な項目を入力する と、 [DataStage プロジェク ト管理 ] ダイアログボッ クスが開きます。

11-2 Ascential DataStage サーバージ ョブチュート リ アル

Page 201: Datastage JPY Tutorial

2. [プロジェク ト ] タブをク リ ッ ク してこのページを前面に移動させます。

3. プロジェク ト を選択し、 [NLS...] ボタンをク リ ッ ク します。 [プロジェク ト NLS を設定 ] ダイアログボッ クスが開き、 [サーバーマップ ] ページが表示されます。 こ こで EBCDIC マップをロード します。

国別言語サポート 11-3

Page 202: Datastage JPY Tutorial

4. [ インス トール >>インス トール >>インス トール >>インス トール >>] ボタンをク リ ッ ク します。 ダイアログボッ クスが展開し、 マップ一覧が表示されます。

5. 左側の [利用可能 利用可能 利用可能 利用可能 ] マップの一覧から EBCDIC を選択して、[追加 >追加 >追加 >追加 >] ボタンをク リ ッ ク します。 EBCDIC マップが右側にある [ インスインスインスインストール済トール済トール済トール済 ] リ ス トに追加されます。 ただし、 文字セッ ト マップは実際には DataStage サーバーエンジンの起動時にロード されるため、サーバーエンジンの再起動後でなければこのマップは使えません。サーバーを停止して再起動する最も簡単な手順は、 すべての DataStage ク ラ イアン ト を閉じてコンピュータを リブートするこ とです。

6. 再起動後、 も う一度アド ミ ニス ト レータを開きプロジェク ト を再選択後 [NLS...] をク リ ッ ク し、 [プロジェク ト NLS を 設定 ] ダイアログボッ クスの [サーバーマップ ] ページを開きます。 マップの一覧に EBCDIC が表示されているこ とを確認して ください。

7. [OK] をク リ ッ ク します。 [DataStage プロジェク ト管理 ] ダイアログボッ クスへ戻 り、 [閉じる ] をク リ ッ ク してアド ミ ニス ト レータを終了します。

11-4 Ascential DataStage サーバージ ョブチュート リ アル

Page 203: Datastage JPY Tutorial

これで DataStage で EBCDIC マップを使えます。 次に デザイナを起動して新規ジ ョブを設定します。

1. デザイナを起動し、 新規ジ ョブを作成して ください。 ジ ョブを Exercise18 と して保存します。

2. 左から順番に、 順ファイル ステージ、 ト ランスフォーマ ステージ、ODBC/UniVerse ステージを追加します。

3. 順ファイル ステージを以下のとおり編集します。

a. [NLSNLSNLSNLS] タブをク リ ッ ク して [NLSNLSNLSNLS] タブを表示します。 ステージがデフォルト プロジェク ト文字セッ ト マップ (例えば ASCII 文字を処理する MS1252 など ) を使う よ うに設定されているこ とが確認できます。 この設定は変更しないでください。

b. [出力出力出力出力 ] タブをク リ ッ ク します。 [ ファ イル名ファ イル名ファ イル名ファ イル名 ] フ ィールドで、ソースファ イルを Tutorialディレク ト リの ebcdprod.txt と指定します。 このファ イルは、 製品テーブルの最新情報を含みますが、EBCDIC文字セッ トで含みます。

c. [列列列列 ] タブをク リ ッ ク します。 製品テーブルの順メ タデータはあり ませんが、 リポジ ト リの ODBC あるいは UniVerse ブランチの下にある既存の製品テーブル定義から メ タデータをロードできます。

d. [NLSNLSNLSNLS] タブの [ ステージで使用するマップ名ステージで使用するマップ名ステージで使用するマップ名ステージで使用するマップ名 ] リ ス ト からEBCDIC マップを選択します。 これによって、 DataStageに、 こ

国別言語サポート 11-5

Page 204: Datastage JPY Tutorial

のステージはデフォルトのプロジェク トマップではなく、EBCDIC マップを使う こ とを知らせます。

e. [ 出力出力出力出力 ]ページに戻り、[ データの参照データの参照データの参照データの参照 ............] ボタンをクリックします。製品テーブルに追加される 6つの新しい製品を確認します。

4. ODBC ステージを編集します。

a. [全般全般全般全般 ] タブで、 ド ロ ップダウン リ ス トから [データ ソース名データ ソース名データ ソース名データ ソース名 ]と してエクササイズで使用中の DSN を選択します。 [ ユーザーユーザーユーザーユーザー名名名名 ]および [ パスワードパスワードパスワードパスワード ] フ ィールドに入力し、 [SQLGetInfoSQLGetInfoSQLGetInfoSQLGetInfo] をク リ ッ ク して引用文字およびスキーマ区切り文字を設定します。この時、 プロジェク トのデフォルトの文字セッ トマップを使っているため、 [NLSNLSNLSNLS] タブに行く必要はあ り ません。

b. [入力入力入力入力 ] タブをク リ ッ ク して、 [全般全般全般全般 ] タブで、 [ テーブル名テーブル名テーブル名テーブル名 ] リス ト から [製品製品製品製品 ] を選択し、 [更新アクシ ョ ン更新アクシ ョ ン更新アクシ ョ ン更新アクシ ョ ン ] リ ス トから [新新新新規行を挿入または既存の行を更新 規行を挿入または既存の行を更新 規行を挿入または既存の行を更新 規行を挿入または既存の行を更新 ] を選択します。 上書きしないで、 既存の製品テーブルへ追加します。

c. [列列列列 ] タブで ODBC ( あるいは UniVerse) ブランチから製品テーブルのテーブル定義をロード します。

5. こ こで、 ト ランスフォーマ ステージを編集する必要があ り ます。 このエクササイズでは、 ト ランスフォーマ ステージは順ファイル ステージと ODBC あるいは UniVerse ステージ間の単純な リ ンク と して機能します。 ト ランスフォーマ エディ タを開き、 左パネルから右パネルへ列をま とめて リ ンク します。

11-6 Ascential DataStage サーバージ ョブチュート リ アル

Page 205: Datastage JPY Tutorial

保存する場合、 ジ ョブをコンパイルして実行します。 6 つの製品を製品テーブルに追加します。

Exercise19Exercise19Exercise19Exercise19: : : : 列ごとのマッピング列ごとのマッピング列ごとのマッピング列ごとのマッピングこのエクササイズでは列ごとのマッピングの使用について説明します。列ごとのマッピングを使用するこ とで、 同一テーブルの各列にそれぞれ異なる文字セッ ト を適用できます。 日本や一部の国のメ インフレーム データベースでは、 データが 1 バイ ト文字または 2 バイ ト文字で構成されるレコードが含まれる場合があ り ます。 また、 その両方が混合して使われる場合には切り替えのための制御コード も同時に使われます。 すなわち、 これら 3 つのタイプのデータは単一レコード上に存在する可能性があ り ます。 DataStage では、 テーブルの各列ごとに異なる文字セッ トを使ったエンコードが可能です。

通常、 入力ステージですべてのソース データを同一文字セッ トに変換するために列ごとのマッピングが使われますが、 出力ステージでの使用も可能です。

このエクササイズでは、 まず、 それぞれ文字セッ トが異なる 4 つの列を持つ順ファイルを読み出します。 次に、 4 列すべてに同じ文字セッ ト を適用した順ファイルを作成します。 このエクササイズでは以下の文字セッ ト を使います。

・ MS1252 - ラテン文字セット、ASCII

・ EBCDIC -IBM 文字セット

・ MS932 - 日本語文字セット、ASCII 準拠

・ JPN-EBCDIC-IBM83 - 1 バイト EBCDIC 文字と 2 バイト日本語文字との変換にシフト文字を使用する日本語文字セット。

最初にアド ミ ニス ト レータを起動し、 上記の文字セッ トがすべてロードされ DataStage で使える状態になっているこ とを確認して ください。 アド ミ ニス ト レータを使って新しい文字セッ ト マップを追加する手順については、 11-2ページ 「Exercise18: 異なる文字セッ トへの変換」 を参照して ください。 新しいマップを実際にロードするには、 一度 DataStage サーバーエンジンを停止して再起動する必要あ り ます。

すべての必要なマップが DataStage で使える状態になったら、 デザイナを起動して新規ジ ョブを設定して ください。

1. 新規ジ ョブを作成します。 Exercise19 と してジ ョブを保存して ください。

国別言語サポート 11-7

Page 206: Datastage JPY Tutorial

2. 左から順番に順ファイル ステージ、 ト ランスフォーマ ステージ、 順ファイル ステージを追加します。

3. ソース順ファイル ステージを以下のとおり編集します。

a. [NLSNLSNLSNLS] タブをク リ ッ ク して [NLSNLSNLSNLS] タブを表示し、 [列ごとのマッ列ごとのマッ列ごとのマッ列ごとのマッピングを許可ピングを許可ピングを許可ピングを許可 ] チェッ クボッ クスを選択します。 この時点では、ステージに対してプロジェク トのデフォルト文字セッ ト マップ (例えば MS1252) が選択されており、 順ファ イル データ ソースの区切り文字にはプロジェク トのデフォルト文字セッ ト マップを使っています。

b. [ 出力出力出力出力 ] タブをクリックします。[ ファイル名ファイル名ファイル名ファイル名 ] フィールドでソースファイルを Tutorial ディレクトリの percol.txt を入力します。

c. [ 列列列列 ] タブを開きます。このタブでテーブル定義を手動で入力します。各列に対する追加属性 NLS マップ NLS マップ NLS マップ NLS マップ が表示されています ( 右方向へのスクロールで表示します )。NLS マップNLS マップNLS マップNLS マップへ各列の文字セットマップを設定します。文字セット マップを指定しない場合、プロジェクトのデフォルト マップが適用されます。4 つの列を以下のとおり定義します。

11-8 Ascential DataStage サーバージ ョブチュート リ アル

Page 207: Datastage JPY Tutorial

d. [ データの参照データの参照データの参照データの参照 ] をクリックして入力順ファイルを確認します。非日本語対応マシンを使っている場合、最初の 2 列は読み取れますが、第 3 列と第 4 列には疑問符が表示されます。これはマシンが日本語を表示できないためで、DataStage ジョブはデータの読み出しを正常に実行できます。

4. 次に出力先順ファイル ステージを編集します。

a. [NLSNLSNLSNLS] タブをク リ ッ ク して [NLSNLSNLSNLS] タブを表示します。 このステージの文字セッ ト マップと して MS932 を選択して ください。 出力ファイルへの書き込みをする前にすべての列は日本語 MS932 に変換されるので、 こ こでは列ごとのマッピング列ごとのマッピング列ごとのマッピング列ごとのマッピングを選択しないでください。

列名列名列名列名 キーキーキーキーSQLSQLSQLSQLタイプタイプタイプタイプ

長さ長さ長さ長さ 表示表示表示表示 NLS マップNLS マップNLS マップNLS マップ

Field001 いいえ Varchar 255 20 ASCII

Field002 いいえ Varchar 255 20 EBCDIC

Field003 いいえ Varchar 255 20 MS932

Field004 いいえ Varchar 255 20 JPN-EBCDIC-IBM83

国別言語サポート 11-9

Page 208: Datastage JPY Tutorial

b. [ 入力入力入力入力 ] ページを開きます。[ファイル名ファイル名ファイル名ファイル名 ]フィールドで、ターゲットファイルを Tutorial ディレクトリの colout.txt を入力します。[列列列列 ] タブでテーブル定義を以下のとおり手動で入力します。

ここでは [NLSNLSNLSNLS] タブで [ 列ごとのマッピングを許す列ごとのマッピングを許す列ごとのマッピングを許す列ごとのマッピングを許す ] を選択していないため、この列定義には [NLS マップNLS マップNLS マップNLS マップ ] フィールドはありません。

列名列名列名列名 キーキーキーキーSQLSQLSQLSQLタイプタイプタイプタイプ

長さ長さ長さ長さ 表示表示表示表示

Field001 いいえ Varchar 255 20

Field002 いいえ Varchar 255 20

Field003 いいえ Varchar 255 20

Field004 いいえ Varchar 255 20

11-10 Ascential DataStage サーバージ ョブチュート リ アル

Page 209: Datastage JPY Tutorial

5. 次に ト ランスフォーマ ステージを編集します。 このエクササイズでは、 ト ランスフォーマ ステージは入力順ファイル ステージと出力順ファイル ステージ間の単純な リ ンク と して機能します。 ト ランスフォーマ エディ タを起動し、 左パネルから右パネルへ列を リ ンク させます。

このジ ョブを保存して、 コンパイルし実行する と、 colout.txt という ファイルが作成されます。 この中ではすべてのデータが単一の文字セッ ト MS932 で保持されています。

使っているマシンが日本語対応マシンでない場合、 Internet Explorer を使って colout.txt を参照できます。 ブラウザ上でファ イルを開き、 テキス ト ウ ィンド ウを右ク リ ッ ク してシ ョート カッ ト メニューの [言語 ] から [日本語 (自動判別 )] を選択します。 このメニューで日本語オプシ ョンが使えない場合、 Microsoft 製品更新 Web サイ トから日本語サポートをダウンロード して ください。 日本語パッ ク付きの Microsoft Global IME for Japanese をダウンロード しインス トールするこ とでこのファ イルを参照できます。

国別言語サポート 11-11

Page 210: Datastage JPY Tutorial

Exercise2Exercise2Exercise2Exercise20000: : : : 異なる国別情報に基づく ソート異なる国別情報に基づく ソート異なる国別情報に基づく ソート異なる国別情報に基づく ソートこのエクササイズでは DataStage での国別情報の使用について説明します。 国別情報は言語や国に固有のルールを設定するための手段と して使います。 日付フォーマッ トやデータのソート順序など、 さまざまな事柄に対して有効です。 また、 ジ ョブごとに異なる国別情報のルールを適用できます。

このエクササイズでは、国別情報 US-English に適用されるソート ルールと、国別情報 FR-French に適用されるソート ルールの違いを明らかにします。 ジ ョブを作成して 2 つの列の値と ソート順序を比較します。 最初に US - English ルールでジ ョブを実行し、 次に FR-French ルールを使ってジ ョブを実行します。

こ こでは MS1252 文字セッ ト マップと、 US-English と FR-French の各国別情報をロード しておく必要があ り ます。 MS1252 文字セッ トはデフォルトで大半のシステムへロード されていますが、 アド ミ ニス ト レータを使って正しい国別情報がロード されているこ とを確認しておく必要があり ます。

1. DataStage アド ミ ニス ト レータを起動します。 [DataStage 管理 ] ダイアログボッ クスが開きます。

2. [プロジェク ト ] タブをク リ ッ ク してこのページを前面に移動します。

11-12 Ascential DataStage サーバージ ョブチュート リ アル

Page 211: Datastage JPY Tutorial

3. プロジェク ト を選択して、 [NLS...] ボタンをク リ ッ ク します。 [プロジェク ト NLS を設定 ] ダイアログボッ クス が開き、 [サーバーマップ ] ページが表示されます。 [サーバー国別情報 ] タブをク リ ッ ク して [サーバー国別情報 ] ページを開きます。 このページのド ロ ップダウン リ ス トで現在 DataStage にロード されている国別情報を確認できます。

4. US-English または FR-French がロード されていない場合、 [ インスインスインスインストール >>トール >>トール >>トール >>] ボタンをク リ ッ ク します。 ダイアログボッ クスが展開し、国別情報の一覧が表示されます。 国別情報を追加ロードする手順は 11-3ページで説明したマップの追加ロードの手順とほとんど同じです。 左側にある [利用可能利用可能利用可能利用可能 ] リ ス ト から目的の国別情報を選択して [追加 >追加 >追加 >追加 >] をク リ ッ ク後に、 DataStage サーバーエンジンを一度停止して再起動し、 新しい国別情報をロード します。

必要なマップと国別情報がロード されているこ とが確認できたら、 デザイナを起動して新しいジ ョブを設定します。

1. 新しいジ ョブを作成して ください。 このジ ョブを Exercise20 と して保存します。

2. デザイナを起動し、 [編集編集編集編集 ] から [ ジ ョブ プロパティジ ョブ プロパティジ ョブ プロパティジ ョブ プロパティ ] を選択します。 [ ジ ョブ プロパティジ ョブ プロパティジ ョブ プロパティジ ョブ プロパティ ] ダイアログボッ クスが表示されます。

国別言語サポート 11-13

Page 212: Datastage JPY Tutorial

[NLSNLSNLSNLS] ページを開き、 [ マッチマッチマッチマッチ ] フ ィールドが US-English に設定されているこ とを確認して ください。

3. 左から順番に、 順ファイル ステージ、 ト ランスフォーマ ステージ、順ファイル ステージを追加します。

4. ソース [順ファイル ステージ ] を以下のとおり編集します。

a. [ 出力出力出力出力 ] タブをクリックします。[ ファイル名ファイル名ファイル名ファイル名 ] フィールドで、ソースファイルを Tutorial ディレクトリの collate.txt と指定します。

b. [列列列列 ] タブを開きます。 リポジ ト リ テーブル定義の Sequential ブランチにある COLLATE からテーブル定義をロード します。

5. 出力先 [順ファイル ステージ ] を以下のとおり編集します。

a. [ 入力入力入力入力 ] タブをクリックします。[ ファイル名ファイル名ファイル名ファイル名 ] フィールドで、ターゲットファイルを Tutorial ディレクトリの collate.outと指定します。

11-14 Ascential DataStage サーバージ ョブチュート リ アル

Page 213: Datastage JPY Tutorial

b. [ 列列列列 ] タブを開きます。COLLATE からテーブル定義をロードし、テーブル定義へ以下の列を追加します。

6. 次に ト ランスフォーマ ステージを編集します。 左側パネルから右側パネルへ Field001 列 と Field002 列を リ ンク します。 [出力仕様出力仕様出力仕様出力仕様 ] フ ィールドをダブルク リ ッ ク し [ResultResultResultResult] フ ィールドの出力仕様を定義します。 式エディ タに以下のとおり出力仕様を入力します。

if DSLinkx.Field001 < DSLinkx.Field002

then 'Field001 is earlier'

else if DSLinkx.Field001 > DSLinkx.Field002

then 'Field002 is earlier'

else 'Fields are same'

DSLinkx はソース順ファイルからのリンク名です。

このジ ョブを保存して、 コンパイルし実行する と、 collate.out とい うファ イルが生成されます。 メモ帳もし くは vi などのエディ タを使ってこのファ イルを参照して ください。 ファ イルの内容は以下のとおりです。

列名列名列名列名 キーキーキーキー SQL タイプSQL タイプSQL タイプSQL タイプ 長さ長さ長さ長さNULLNULLNULLNULL値値値値を許可を許可を許可を許可

表示表示表示表示

Result いいえ Varchar 10 No 10

国別言語サポート 11-15

Page 214: Datastage JPY Tutorial

ファ イルに別の名前を付けて保存して ください。 次に FR-French 照合ルールを使ってこのファ イルを再作成します。

1. デザイナで、 も う一度 [編集編集編集編集 ] から [ ジ ョブ プロパティジ ョブ プロパティジ ョブ プロパティジ ョブ プロパティ ] を選択します。 [ ジ ョブ プロパティジ ョブ プロパティジ ョブ プロパティジ ョブ プロパティ ] ダイアログボッ クスが表示されます。[NLSNLSNLSNLS] ページを開き [ マッチマッチマッチマッチ ] フ ィールドの国別情報を FR-French に設定します。

2. ジ ョブを保存して、 コンパイルし実行します。

新しいファ イル collate.out を開きます。 ファ イルの内容は以下のとおりです。

これら 2つのファイルを比較して違いを調べてください(矢印の個所を参照)。これらは、 US-English と FR-French のソート ルールの違いを表しています。 最初にこの例の côte と coté のよ うにアクセン ト順序が異なり ます。 次に 2 つの単語が大文字と小文字の相違だけである場合、 FR-French ルールでは小文字の単語を最初に配置し、 US-English ルールでは大文字の単語を最初に配置します。

まとめまとめまとめまとめこの章では、 EBCDIC 文字セッ トのデータを ASCII 文字セッ トに変換しました。 また、 列ごとに文字セッ トが異なるテーブルのデータを抽出し、 同一文字セッ トのテーブルへ出力するこ とで、 列ごとのマッピングの使い方を学習しました。 最後に、 国別情報の相違がデータのソート順序に対して与える影響について比較しました。

11-16 Ascential DataStage サーバージ ョブチュート リ アル

Page 215: Datastage JPY Tutorial

12その他の機能

DataStageツールセットでできることを知っておくために、この章では、DataStageの拡張機能の幾つかを簡単に説明します。

ト ランザクショ ン処理ト ランザクショ ン処理ト ランザクショ ン処理ト ランザクショ ン処理ODBCステージとUniVerseステージでは、関連のある複数の更新を 1つのトランザクションにグループ化できます。データベースに更新を適用する順序は制御できます。また、更新のコミットまたはロールバックをするタイミングも制御できます。

ステージダイアログボックスの [ ト ランザクシ ョ ン処理ト ランザクシ ョ ン処理ト ランザクシ ョ ン処理ト ランザクシ ョ ン処理 ]タブを次に示します。

その他の機能 12-1

Page 216: Datastage JPY Tutorial

トランザクショングループは、トランザクションを制御する入力リンク1 つと、特定の順序で処理されるその他のリンクで構成されます。[ ト ラト ラト ラト ランザクシ ョ ン処理ンザクシ ョ ン処理ンザクシ ョ ン処理ンザクシ ョ ン処理 ]タブにあるグリッドには、現在選択されている入力が属しているトランザクショングループの詳細が表示されます。トランザクションは、制御リンクの処理と同時に開始し、トランザクショングループ内のリンクのどれかに対してコミットまたはロールバックが実行されたときに終了します。トランザクションの詳細については、『DataStageサーバージョブ開発者ガイド』を参照してください。

ト ランスフォームト ランスフォームト ランスフォームト ランスフォームDataStageには、基本的なデータ操作要求を処理するための包括的なビルトイン変換があります。また、DataStageには、独自の変換を作成するための使いやすいツールが用意されています。

ビルト イン変換ビルト イン変換ビルト イン変換ビルト イン変換

ビルトイン変換は、マネージャで表示できます。プロジェクトツリーでは、ビルトイン変換は、返すデータのタイプによって次の 2種類に分類されます。

・ 日付型日付型日付型日付型 – 日付型変換は、おもに、「xx.TAG」形式の入力データから数値型の内部データへの変換、または、数値型の内部データから「xx.TAG」形式の文字列への変換をします。TIMESTAMP形式と内部日付形式との間での変換も、日付型変換に含まれます。

・ 文字列型文字列型文字列型文字列型 – この変換の第 1の機能は、入力文字列をさまざまな方法で操作することです。ただし、数字から文字列への変換も、文字列型変換に含まれます。

変換の機能、および変換のソースデータ要素とターゲットデータ要素の説明を表示するには、マネージャのプロジェクトツリーで任意の変換をダブルクリックします。

各ビルトイン変換の詳細については、『DataStageサーバージョブ開発者ガイド』を参照してください。

カスタム変換カスタム変換カスタム変換カスタム変換

用途に合ったビルトイン変換がないときや、特定のデータ要素を対象とする変換が必要なときは、カスタム変換を作成できます。カスタム変換は、 マネージャまたはデザイナで作成します。

12-2 Ascential DataStage サーバージ ョブチュート リ アル

Page 217: Datastage JPY Tutorial

プロジェクトツリーのメイン [トランスフォームトランスフォームトランスフォームトランスフォーム ]ブランチ下のブランチに、独自の変換を簡単に構成できます。[トランスフォームトランスフォームトランスフォームトランスフォーム ]ダイアログボックスで、ブランチと変換名を指定し、ターゲットのデータ要素を選択し、ソースの引数とデータ型を指定します。次に、式エディタで変換の動作を定義します。式エディタは、[トランスフォームトランスフォームトランスフォームトランスフォーム ]ダイアログボックスから自動的に起動します。

次の例で、[トランスフォームトランスフォームトランスフォームトランスフォーム ]ダイアログボックスと式エディタのメニューを示します。

変換を作成したら、トランスフォーマエディタの中から使えるようになります。カスタム変換の作成方法の詳細については、『DataStageサーバージョブ開発者ガイド』を参照してください。

プラグイン ステージプラグイン ステージプラグイン ステージプラグイン ステージプラグインはビルト イン ステージがサポート していない特定のタスクを実行します。 プラグインは外部データベースへアクセスするルーチンと、複雑なプログラ ミ ングを実行する一連のルーチンで構成されます。パッシブ プラ グ イ ン ステージは、 メ タデータのイ ンポー ト をサポー ト し、DataStage マネージャが外部ソースのメ タデータ定義を参照したり読み出すこ とが可能になるよ う記述されます。

プラグインの設計や開発には C 言語を熟知しているこ とが必要です。

その他の機能 12-3

Page 218: Datastage JPY Tutorial

DataStage では以下の 2 つのプラグインが自動的にインス トールされます。

・ BCPLoad・ Orabulk

これらのプラグインに関しての詳細な情報については、 『DataStageサーバージ ョブ開発者ガイ ド』 を参照してください。

DataStage インス トール手順中、 追加のプラグインをインス トールするかど うかも選択できます。 プラグインに関する説明は、 DataStage インストール CD のプラグイン ディレク ト リ Packages にあ り ます。

BCPLoad ステージBCPLoad ステージBCPLoad ステージBCPLoad ステージ

BCPLoad ステージは Ascentialが提供する パッシブ プラグイン ステージです。 このステージは、 Microsoft SQL Server (Release 6.5 または 7.0) や Sybase (System 11.5) のデータベース テーブルへデータをバルクロード します。 ファイルはバルクコピー API を使ってターゲッ ト データベースへロード されます。

BCPLoad ステージは Microsoft SQL Server へデータをバルクロードするようデフォルト設定されています。 ただし、 Sybase DBLIB/CTLIB ク ライアン ト ライブラ リ を使って、 Sybase SQL Server テーブルへデータをロードするよ うに BCPLoad ステージ プロパティを設定するこ と も可能です。

注意 :注意 :注意 :注意 : BCPLoad ステージで使う ク ライアン ト ライブラ リは DataStage には付属していないため、 DBMS ベンダーから入手してください。また BCPLoad ステージを使う前にシステムへインス トールして設定しておいてください。

このステージには入力リ ンクが 1 つあ り、 SQL Server データベース テーブルや Sybase データベース テーブルへロードする行のジ ョブシーケンスを提供します。 各入力列のメ タデータでロード方法が決定します。 このステージ タイプからの出力リ ンクはあり ません。

Orabulk ステージOrabulk ステージOrabulk ステージOrabulk ステージ

Orabulk ステージは Ascentialが提供する プラグイン ステージです。Oracle ターゲッ ト データベースのテーブルへバルク ローディングする、コン ト ロール ファイルとデータ ファイルを生成します。 これらのファイルは Oracle コマンド sqlldr を使ってターゲッ ト データベースへロードできるよ うになっています。

12-4 Ascential DataStage サーバージ ョブチュート リ アル

Page 219: Datastage JPY Tutorial

1 つの入力リ ンクが Oracle テーブルへロードする行のジ ョブシーケンスを提供し、 各入力列のメ タデータでロード方法が決定します。 オプシ ョンの出力リ ンクがすべての入力行のコピーを提供するため、 このステージとほかのステージの組み合わせは容易です。

パッケージャ ウィ ザードパッ ケージャ ウィ ザードパッ ケージャ ウィ ザードパッ ケージャ ウィ ザードジ ョブやプラグインを開発する場合、 パッケージャ ウ ィザードを使ってほかの DataStage システムへそれらを配布するこ とが可能です。 このユーティ リティは DataStage マネージャから実行します。

パッケージャ ウ ィザードを実行する場合、 作成するパッケージのタイプを選択する必要があ り ます。

・ ジョブ展開ジョブ展開ジョブ展開ジョブ展開 ― このパッケージには、(パッケージの各ジョブについての)実行可能ジョブな定義が含まれます。パッケージには、カテゴリをはじめとするジョブ自体、およびトランスフォーム、データ要素、プラグインなどの依存関係についての情報が含まれます。

・ デザイン コンポーネントデザイン コンポーネントデザイン コンポーネントデザイン コンポーネント ― このパッケージにはプラグイン定義と関連 DLL が含まれます。

パッケージ名と作成先ディレク ト リ を指定するよ う、 パッケージャ ウ ィザードがプロンプ ト表示します。 次にリ ス トが表示されるので、 こ こからパッケージに含めるジ ョブやプラグインを選択します。 ジ ョブ展開パッケージの場合、 このリ ス トボッ クスにはすべてのリ リース済ジ ョブ

その他の機能 12-5

Page 220: Datastage JPY Tutorial

が表示されます。 デザイン コンポーネン ト パッケージの場合、 リポジ トリの ステージ タイプステージ タイプステージ タイプステージ タイプ ブランチの下にあるすべてのプラグインが表示されます ( ただし DataStage に付属のビルト イン プラグインは除きます )。

ジョ ブ デザイン レポートジョ ブ デザイン レポートジョ ブ デザイン レポートジョ ブ デザイン レポートDataStage には柔軟なレポーティング ツールが用意されており、 ジ ョブ デザイン内のさまざまなレベル (例えばジ ョブ全体、 単一ステージ、 複数のステージ群など ) でのレポート生成を実現します。 これによって開発者は、 印刷されたジ ョブ デザイン記録の作成、 これらのデザインのほかの開発者との共用、 デザイナとのオフラインでの作業が可能になり ます。 DataStage でリポジ ト リ内のオブジェク ト間の関係に関するレポート生成も可能です。 12-8ページ 「使用状況分析レポート 」 を参照してください。

レポートにはジ ョブ内のコンポーネン トの構造が反映されるため、 開発者はレポート上の情報を DataStage ユーザーインターフェースに表示される情報と関連づけるこ とができます。 例えばジ ョブ リ ス トにはジ ョブ ステージやリ ンク、 さ らに各 リ ンクについて各列の定義が詳述されます。

このセクシ ョ ンではレポーティング ツールが提供する機能の概略を説明します。 レポーティング ツールの詳細および使用手順については 『DataStage マネージャ ガイ ド』 を参照して ください。

レポーティング用に DataStage が生成した情報は、 DataStage ク ライアントの リ レーシ ョナル データベースに格納されます。 この情報を使って、レポートの印刷、 レポートのファイルへの書き込み、 サードパーティ ツールによる利用が可能です。

DataStage ク ライアン トには、レポート情報を格納できる Microsoft Access データベースが付属しています。 このデータベースには多くの定義済レポート フォーマッ トが用意されており、 ユーザーはこのデータベースを拡張、 カスタマイズできます。 また、 一般的な各種 SQL データベースをターゲッ ト と して利用するこ と も可能です。 ク ライアン ト マシンにはこれらの一般的なデータベースでレポーティング スキーマを作成するためのスク リプ トがインス トールされます。 詳細については 『DataStage マネージャ ガイ ド』 を参照して ください。

マネージャからレポーティング ツールを実行します。 表示された [ レレレレポーティング ツールポーティング ツールポーティング ツールポーティング ツール ] ダイアログボッ クスを使ってレポーティング データベースを更新します。 この場合、 プロジェク ト全体の詳細を更新するか、 対象オブジェク ト を選択して更新できます。 また、 更新に影響を与える要因を調整するオプシ ョ ンもあ り ます。 例えば、 [説明説明説明説明 ] プロパティ

12-6 Ascential DataStage サーバージ ョブチュート リ アル

Page 221: Datastage JPY Tutorial

などのよ うに長い値を持つ場合のあるプロパティにリ ターン (改行 ) を挿入できます。

ドキュ メンテーシ ョ ン ツールは [ レポーティング ツール ] ダイアログボッ クスから呼び出せますが、 このツールを使って MS Access データベースでの定義済みレポートの取得が可能です。 [ ドキュ メンテーシ ョ ン ツール ] ダイアログボッ クスでは、 レポート対象とするプロジェク ト を選択しレポート要件を定義します。 [ レポートの設定 ] フォームにはレポーティング データベースの全オブジェク トのタイプが一覧表示されます。 オブジェク トは個別に、 またはカテゴ リ ごとに表示されます。 開発者はレポート をフ ィルタ リ ングして目的とするデザインの一側面を強調したり、 詳細レベルを制限できます。

レポート要件の定義後、 完成したレポート をプレビューして、 問題がなければ印刷します。

このダイアログボッ クスにはカスタム レポート機能もあ り ます。 この機能で、 DataStage に付属するレポートに加えて、 それ以外の形式のレポート も選択可能となり ます。

その他の機能 12-7

Page 222: Datastage JPY Tutorial

使用状況分析レポート使用状況分析レポート使用状況分析レポート使用状況分析レポート使用状況分析レポート ツールは、 DataStage マネージャから実行できます。 このツールを使う こ とで DataStage リ ポジ ト リ内のオブジェク ト間の関係を調べるこ とができます。 マネージャ表示領域で項目 (1 つも し くは複数) を選択し、 [ ツールツールツールツール ] → [使用状況分析使用状況分析使用状況分析使用状況分析 ] を選択します。 選択された項目に関連する項目が [DataStageの使用状況を分析DataStageの使用状況を分析DataStageの使用状況を分析DataStageの使用状況を分析 ] ウ ィンドウに表示されます

例えば下記のウ ィンド ウは、 受注明細と呼ばれるテーブル定義を使うジ ョブの一覧を示します。

[DataStageの使用状況を分析DataStageの使用状況を分析DataStageの使用状況を分析DataStageの使用状況を分析 ] ウ ィンド ウ内で選択された項目に対して使用状況分析を実行する と、 新たにレポートが生成され、 これら 2 つのレポート間を切り替えて表示できます。

[DataStageの使用状況を分析DataStageの使用状況を分析DataStageの使用状況を分析DataStageの使用状況を分析 ] ウ ィンド ウで選択された項目に対して下記を実行するこ と も可能です。

・ 項目編集: 例えばレポートからジョブ ステージまたはリンクを選択した場合は、ジョブは、DataStage デザイナから開きます。

・ 選択項目のマネージャ ビューに戻る: このビューから、例えば、項目をコンパイルしたり削除したりできます。

レポートは、 [DataStageの使用状況を分析DataStageの使用状況を分析DataStageの使用状況を分析DataStageの使用状況を分析 ] ウ ィンド ウから HTML ブラウザにエキスポートするこ と もできるし、 またいったん保存し後で現在のプロジェク ト を再びオープンする と きに再ロードするこ と もできます。

使用状況分析レポートの詳細については、 『DataStage マネージャ ガイ ド』を参照して ください。

12-8 Ascential DataStage サーバージ ョブチュート リ アル

Page 223: Datastage JPY Tutorial

13まとめ

この章では DataStage の主な機能を要約し、 このガイ ドでこれまで学習した内容を復習します。

DataStage の主な機能DataStage の主な機能DataStage の主な機能DataStage の主な機能DataStage にはデータ ウェアハウス構築に必要な設計やプロセスをサポートする以下の機能が用意されています。

・ グラフ ィカル設計ツールの利用。 シンプルなポイン ト & ク リ ッ クでプロセス要件を表現する構成図の作成が可能。

・ 多様なデータベースからのデータ抽出。

・ データ ウェアハウスの定義に必要なあらゆる メ タデータ定義の処理。 アプリ ケーシ ョ ンのデザイン中は任意の時点でテーブル定義の参照や修正が可能。

・ データ集計。 データ抽出に使う SQL SELECT 文の修正が可能。

・ データ変換。 DataStage には定義済 ト ランスフォームや関数が用意されており、 データ変換への利用が可能。 これらの機能は、 独自のト ランスフォームの定義で、 容易に拡張が可能。

・ データ ウェアハウスのロード。

エクササイズの復習エクササイズの復習エクササイズの復習エクササイズの復習DataStage ツール セッ トの使い方を初歩から学習しました。

DataStage ではこのガイ ドで紹介した例よ り さ らに複雑なシナリオをサポートできますが、 このガイ ドでも短時間に多様な状況設定を取り上げました。

まとめ 13-1

Page 224: Datastage JPY Tutorial

各エクササイズの処理内容を一覧表示します。

1. ジョブの作成と編集

2. ジ ョブの保存と コンパイル

3. ジ ョブの検証と実行

4. 順ファイル ステージの作成と編集

5. ト ランスフォーマ ステージの作成と編集

6. ODBC または UniVerse ステージの作成と編集

7. データ ブラウザを使ったファイルとテーブル内のデータ参照

8. タイム ディ メンシ ョ ンの作成

9. 複数のデータソースとデータ ターゲッ トの処理

・ 単一ステージへの結合・ 複数ステージへの分類

10. 行出力条件を使ったデータ出力先指定

11. ファ ク ト テーブル ( このチュート リ アルでは 「収益」 ) のロード

12. アグ リゲータ ステージの作成と編集

13. サマリ テーブルの作成と ロード

14. メ タデータの作成と編集

・ カンマ区切り順ファイル・ ODBC テーブル

15. リポジ ト リへのメ タデータのインポート

16. ジ ョブ デザイン デバッガの実行

特に UniData または DSEngine/UniVerse ユーザーに対して

17. UniVerse ハッシュ ファ イルからのデータ作成

18. UniVerse ハッシュ ファ イル ステージの作成と編集

特に DataStage NLS ユーザーに対して

19. 異なる文字セッ ト間のデータ変換

20. 列ごとに文字セッ トの異なるテーブルの取り扱い

21. 2種類の異なる国別情報の規定によるデータ ソート

DataStage ユーザーインターフェースの使い方についても学習しました。

13-2 Ascential DataStage サーバージ ョブチュート リ アル

Page 225: Datastage JPY Tutorial

・ DataStage マネージャ と リポジ ト・ DataStage デザイナ・ DataStage ディレクタ・ DataStage アド ミ ニス ト レータ

以下の項目についても説明しました。

・ プラグイン ステージ・ ビルトイン トランスフォームとカスタム トランスフォーム・ トランザクション処理・ パッケージャ ウィザード・ ジョブ コントロール ルーチン・ レポーティング ツール・ ドキュメンテーション ツール・ 使用状況分析・ 国別言語サポート

やや複雑な例題も扱いましたが、 それほど困難には感じられなかったと思います。 複雑な問題も、 適切なツールを用いるこ とで容易な処理が可能です。

まとめ 13-3

Page 226: Datastage JPY Tutorial

13-4 Ascential DataStage サーバージ ョブチュート リ アル

Page 227: Datastage JPY Tutorial

Aサンプル データ定義

この付録には、エクササイズで使うデータのテーブル定義と列定義が記載されています。

以下の表には、サンプルデータに対して必要なテーブル定義と列定義が記載されています。リポジトリを参照する場合に、各テーブルのプロパティが表示する内容を表したものです。

DSEngine、UniVerse、Oracle、Sybase ユーザーの場合、指定するデータ タイプは ODBC テーブルの場合と少し異なります。例えば UniVerse を使っている場合、テーブル定義の SQL タイプとして Timestamp ではなく Date が使われます。チュートリアル セットアップ プロセスによって生成されたテーブル定義 ( 2-15ページ 「サンプル データのインス トール」 参照 ) は、エクササイズの一部として指示されている場合を除いて変更しないでください。例えば、Informix または ORACLE 環境での作業では、以下のような SQL タイプ Timestamp を持つ列定義の要素を変更するように指示されます。

メタデータに対するこのような調整は、このチュートリアルに固有のものです。

受注番号および価格はそれぞれ 2 つの定義を持ちます。一方は順ファイルに適用され、もう一方は ODBC テーブルへ適用されます。これら 2 つの定義は異なっているため、順ファイルからデータを抽出し、データを変換し、対応するテーブルへロードするというエクササイズを実行できます。

MVPRICES はハッシュ ファイル ステージで使われる複数値ハッシュ ファイルです。MVPRICES を使って、DataStage の 複数値データ処理方法を学習します。

最初に順ファイル定義を、次にハッシュ ファイル定義をアルファベット順に一覧表示します。

長さ長さ長さ長さ スケールスケールスケールスケール 表示表示表示表示

Informix の場合 13 0 13

ORACLE の場合

19 0 19

サンプル データ定義 A-1

Page 228: Datastage JPY Tutorial

順ファイル順ファイル順ファイル順ファイル : COLLATE.TXT (NLS エクササイズだけエクササイズだけエクササイズだけエクササイズだけ )

順ファイル順ファイル順ファイル順ファイル : EBCDPROD.TXT (NLS エクササイズだけエクササイズだけエクササイズだけエクササイズだけ )

順ファイル順ファイル順ファイル順ファイル : ITEMS.TXT

順ファイル順ファイル順ファイル順ファイル : PERCOL.TXT (NLS エクササイズだけエクササイズだけエクササイズだけエクササイズだけ )

列名列名列名列名 キーキーキーキー SQL タイプタイプタイプタイプ 長さ長さ長さ長さスケースケースケースケールルルル

NULL 値値値値を許可を許可を許可を許可 表示表示表示表示 データ要素データ要素データ要素データ要素

Field002 いいえ VarChar 255 いいえ 8

Field002 いいえ VarChar 255 いいえ 8

列名列名列名列名 キーキーキーキー SQL タイプタイプタイプタイプ 長さ長さ長さ長さスケースケースケースケールルルル

NULL 値値値値を許可を許可を許可を許可 表示表示表示表示 データ要素データ要素データ要素データ要素

製品番号 はい Decimal 6 いいえ 8 Number

品名 いいえ Char 30 はい 30 DATE.TAG

列名列名列名列名 キーキーキーキー SQL タイプタイプタイプタイプ 長さ長さ長さ長さスケースケースケースケールルルル

NULL 値値値値を許可を許可を許可を許可 表示表示表示表示 データ要素データ要素データ要素データ要素

数量 いいえ Integer 4 はい 4 Number

製品番号 いいえ Integer 6 はい s 6 Number

注文番号 はい Integer 4 いいえ 4 Number

金額 いいえ Integer 10 はい 10 Number

明細番号 はい Integer 4 いいえ 4 Number

売価 いいえ Integer 10 はい 10 Number

列名列名列名列名 キーキーキーキーSQL タイタイタイタイププププ 長さ長さ長さ長さ

スケースケースケースケールルルル

NULL 値値値値を許可を許可を許可を許可 表示表示表示表示 NLS マップマップマップマップ

Field002 いいえ VarChar 255 いいえ 20 ASCII

Field002 いいえ VarChar 255 いいえ 20 EBCDIC

Field002 いいえ VarChar 255 いいえ 20 MS932

Field002 いいえ VarChar 255 いいえ 20 JPN-EBCDIC-IBM83

A-2 Ascential DataStage サーバージ ョブチュート リ アル

Page 229: Datastage JPY Tutorial

順ファイル順ファイル順ファイル順ファイル : PRICES.TXTおよびおよびおよびおよび MYPRICES.TXT

ハッシュ ファイルハッシュ ファイルハッシュ ファイルハッシュ ファイル : MVPRICES

次は、 ODBC テーブル定義 をアルファベッ ト順の一覧で示します。

ODBC テーブル : ODBC テーブル : ODBC テーブル : ODBC テーブル : 顧客顧客顧客顧客

列名列名列名列名 キーキーキーキー SQL タイプタイプタイプタイプ 長さ長さ長さ長さスケースケースケースケールルルル

NULL 値値値値を許可を許可を許可を許可 表示表示表示表示 データ要素データ要素データ要素データ要素

標準売価 いいえ Decimal 4 2 はい 4 Number

価格開始日 はい Char 10 いいえ 10 DATE.TAG

製品番号 はい Decimal 6 いいえ 6 Number

最低売価 いいえ Decimal 4 2 はい 4 Number

価格終了日 いいえ Char 10 はい 10 DATE.TAG

列名列名列名列名 キーキーキーキー SQL タイプタイプタイプタイプ 長さ長さ長さ長さスケースケースケースケールルルル

NULL 値値値値を許可を許可を許可を許可 表示表示表示表示 データ要素データ要素データ要素データ要素

PRODID はい VarChar 10 いいえ

STDPRICE いいえ Integer 10 はい 11

MINPRICE いいえ Integer 10 はい 11

STARTDATE いいえ VarChar 10 はい

ENDDATE いいえ VarChar 10 はい

列名列名列名列名 キーキーキーキーSQL タイタイタイタイププププ 長さ長さ長さ長さ

ススススケーケーケーケールルルル

NULL 値値値値を許可を許可を許可を許可 表示表示表示表示

データ要データ要データ要データ要素素素素

顧客 ID はい Decimal 6 いいえ 8 Number

名称 いいえ

Char 45 はい 45 String

住所 1 いいえ

Char 40 はい 40 String

住所 2 いいえ

Char 30 はい 30 String

STATE いいえ

Char 2 はい 2 String

サンプル データ定義 A-3

Page 230: Datastage JPY Tutorial

ODBC テーブル : 従業員ODBC テーブル : 従業員ODBC テーブル : 従業員ODBC テーブル : 従業員

ODBCODBCODBCODBC テーブル : テーブル : テーブル : テーブル : 収益収益収益収益

郵便番号 いいえ

Char 9 はい 9 String

市外局番 いいえ

Decimal 3 はい 5 Number

電話番号 いいえ

Char 9 Yes 9 String

担当者 ID いいえ

Decimal 4 No 6 Number

与信限度 いいえ

Decimal 9 2 Yes 11 Number

備考 いいえ

Char 255 Yes 255 String

列名列名列名列名 キーキーキーキー SQL タイプタイプタイプタイプ 長さ長さ長さ長さスケースケースケースケールルルル

NULL 値値値値を許可を許可を許可を許可 表示表示表示表示 データ要素データ要素データ要素データ要素

従業員 ID はい Decimal 4 いいえ 6 Number

氏名 いいえ Char 10 はい 10 String

役職 いいえ Char 9 はい 9 String

マネージャID いいえ Decimal 4 はい 6 Number

雇用日 いいえ Timestamp 23 3 はい 23 Timestamp

給与 いいえ Decimal 7 2 はい 9 Number

販売手数料 いいえ Decimal 7 2 はい 9 Number

列名列名列名列名 キーキーキーキー SQL タイプタイプタイプタイプ 長さ長さ長さ長さスケースケースケースケールルルル

NULL 値値値値を許可を許可を許可を許可 表示表示表示表示 データ要素データ要素データ要素データ要素

受注日 はい Timestamp 23 3 いいえ 23 Timestamp

従業員 ID はい Decimal 4 いいえ 6 Number

顧客 ID はい Decimal 6 いいえ 8 Number

列名列名列名列名 キーキーキーキーSQL タイタイタイタイププププ 長さ長さ長さ長さ

ススススケーケーケーケールルルル

NULL 値値値値を許可を許可を許可を許可 表示表示表示表示

データ要データ要データ要データ要素素素素

A-4 Ascential DataStage サーバージ ョブチュート リ アル

Page 231: Datastage JPY Tutorial

ODBC テーブル : ODBC テーブル : ODBC テーブル : ODBC テーブル : 受注明細受注明細受注明細受注明細

DBC テーブル : DBC テーブル : DBC テーブル : DBC テーブル : 受注ヘッダ受注ヘッダ受注ヘッダ受注ヘッダ

受注番号 はい Decimal 4 いいえ 6 Number

製品番号 はい Decimal 6 いいえ 8 Number

数量 いいえ Decimal 8 はい 10 Number

総売上 いいえ Decimal 8 2 はい 10 Number

出荷予定日 いいえ Timestamp 23 3 はい 23 Timestamp

列名列名列名列名 キーキーキーキー SQL タイプタイプタイプタイプ 長さ長さ長さ長さ スケールスケールスケールスケールNULL 値値値値を許可を許可を許可を許可 表示表示表示表示 データ要素データ要素データ要素データ要素

受注番号 はい Decimal 4 いいえ 6 Number

明細番号 はい Decimal 4 いいえ 6 Number

製品番号 いいえ Decimal 6 はい 8 Number

売価 いいえ Decimal 8 2 はい 10 Number

数量 いいえ Decimal 8 はい 10 Number

金額 いいえ Decimal 8 2 Yes 10 Number

列名列名列名列名 キーキーキーキー SQL タイプタイプタイプタイプ 長さ長さ長さ長さスケースケースケースケールルルル

NULL 値値値値を許可を許可を許可を許可 表示表示表示表示 データ要素データ要素データ要素データ要素

受注番号 はい Decimal 4 いいえ 6 Number

受注日 いいえ Timestamp 23 3 はい 23 Timestamp

手数料ランク いいえ Char 1 はい 1 String

顧客 ID いいえ Decimal 6 いいえ 8 Number

出荷予定日 いいえ Timestamp 23 3 はい 23 Timestamp

総売上 いいえ Decimal 8 2 いいえ 10 Number

列名列名列名列名 キーキーキーキー SQL タイプタイプタイプタイプ 長さ長さ長さ長さスケースケースケースケールルルル

NULL 値値値値を許可を許可を許可を許可 表示表示表示表示 データ要素データ要素データ要素データ要素

サンプル データ定義 A-5

Page 232: Datastage JPY Tutorial

ODBC テーブル : 価格 (および従業員別価格 )ODBC テーブル : 価格 (および従業員別価格 )ODBC テーブル : 価格 (および従業員別価格 )ODBC テーブル : 価格 (および従業員別価格 )

ODBC テーブル : ODBC テーブル : ODBC テーブル : ODBC テーブル : 製品製品製品製品

ODBC テーブル :ODBC テーブル :ODBC テーブル :ODBC テーブル : 四半期売四半期売四半期売四半期売

ODBCODBCODBCODBC テーブル : テーブル : テーブル : テーブル : リジェクトリジェクトリジェクトリジェクト

列名列名列名列名 キーキーキーキー SQL タイプタイプタイプタイプ 長さ長さ長さ長さ スケールスケールスケールスケールNULL 値値値値を許可を許可を許可を許可 表示表示表示表示 データ要素データ要素データ要素データ要素

製品番号 はい Decimal 6 いいえ 8 Number

価格開始日 はい Char 10 いいえ 10 DATE.TAG

標準売価 いいえ Decimal 8 2 はい 10 Number

最低売価 いいえ Decimal 8 2 はい 10 Number

価格終了日 いいえ Char 10 はい 10 DATE.TAG

列名列名列名列名 キーキーキーキー SQL タイプタイプタイプタイプ 長さ長さ長さ長さスケースケースケースケールルルル

NULL 値値値値を許可を許可を許可を許可 表示表示表示表示 データ要素データ要素データ要素データ要素

製品番号 はい Decimal 6 いいえ 8 Number

品名 いいえ Char 30 はい 30 DATE.TAG

列名列名列名列名 キーキーキーキー SQL タイプタイプタイプタイプ 長さ長さ長さ長さスケースケースケースケールルルル

NULL 値値値値を許可を許可を許可を許可 表示表示表示表示 データ要素データ要素データ要素データ要素

四半期 はい Char 6 いいえ 6 QUARTER.TAG

顧客 ID はい Decimal 6 いいえ 8 Number

総売上 いいえ Decimal 8 2 はい 10 Number

列名列名列名列名 キーキーキーキー SQL タイプタイプタイプタイプ 長さ長さ長さ長さスケースケースケースケールルルル

NULL 値値値値を許可を許可を許可を許可 表示表示表示表示 データ要素データ要素データ要素データ要素

受注日 はい Timestamp 23 3 いいえ 23 Timestamp

従業員 はい Decimal 4 いいえ 6 Number

顧客 ID はい Decimal 6 いいえ 8 Number

受注番号 はい Decimal 4 いいえ 6 Number

製品番号 はい Decimal 6 いいえ 8 Number

A-6 Ascential DataStage サーバージ ョブチュート リ アル

Page 233: Datastage JPY Tutorial

ODBC テーブル : 時間ODBC テーブル : 時間ODBC テーブル : 時間ODBC テーブル : 時間

注意 :注意 :注意 :注意 : DSEngine と UniVerse を使っている と きは、 TIME という テーブル名はTIME_になり ます。 TIMEは UniVerse の予約語であるためです。

数量 いいえ Decimal 8 はい 10 Number

総売上 いいえ Decimal 8 2 はい 10 Number

出荷予定日 いいえ Timestamp 23 3 はい 23 Timestamp

列名列名列名列名 キーキーキーキー SQL タイプタイプタイプタイプ 長さ長さ長さ長さスケースケースケースケールルルル

NULL 値値値値を許可を許可を許可を許可 表示表示表示表示 データ要素データ要素データ要素データ要素

日付 はい Timestamp 23 いいえ 23 Timestamp

月 いいえ Char 2 はい 2 MONTH.-TAG

四半期 いいえ Char 6 はい 6 QUARTER.-TAG

年 いいえ Char 4 はい 4 YEAR.TAG

列名列名列名列名 キーキーキーキー SQL タイプタイプタイプタイプ 長さ長さ長さ長さスケースケースケースケールルルル

NULL 値値値値を許可を許可を許可を許可 表示表示表示表示 データ要素データ要素データ要素データ要素

サンプル データ定義 A-7

Page 234: Datastage JPY Tutorial

A-8 Ascential DataStage サーバージ ョブチュート リ アル

Page 235: Datastage JPY Tutorial

索引

AAAA

Adobe Acrobat Reader i-vii

BBBB

BASIC 10-1BCPLoad ステージ 12-4定義 1-8

CCCC

CFD 1-8COBOL 1-8ファ イル説明定義 1-8

DDDD

DataStage機能ま とめ 13-1

紹介 1-1マネージャ 1-5用語 1-8

DataStage ツール用語 1-8

DataStage ディレク タ起動 3-24

DataStage アド ミ ニス ト レータ 1-5, 1-7定義 1-9

DataStageエクスポート ファ イル 2-16, 2-25

DataStageサーバー 1-4DataStage使用状況分析 12-8DataStage ジ ョブ 1-1DataStage ツール 1-1

ク ラ イアン ト コンポーネン ト 1-5サーバーコンポーネン ト 1-4ジ ョブ 1-1ステージ 1-3, 2-14ドキュ メ ンテーシ ョ ンツール 12-7,

12-8プロジェク ト 1-1レポーティングツール 12-6

DataStageディ レク タ 1-6, 3-25ツールバー 3-25定義 1-9

DataStageディ レク タ ウ ィンド ウ 3-25DataStageデザイナ 1-6ウ ィンド ウ 3-5ツールバー 3-9定義 1-9ディ レク タからの起動 4-16

DataStageの紹介 1-1DataStageの使用状況を分析ウ ィンド

ウ 12-8DataStageプロジェク ト管理 ダイアロ

グボッ クス 11-2DataStage マネージャ 1-5, 1-9, 6-2起動 6-2

DataStage マネージャ ウ ィンド ウ 2-26, 6-3

ツールバー 6-3DataStage リ ポジ ト リ , リ ポジ ト リ を

参照DB2 1-9定義 1-9

DCLGen 1-9定義 1-9

DSEngine環境 2-15

索引索引索引索引 -1

Page 236: Datastage JPY Tutorial

FFFF

FACTS テーブル 2-29, 5-12

IIII

Informix SQL スク リプ ト ファ イル 2-18INF_BLD.SQL 2-18INF_CLN.SQL 2-18起動手順の説明 2-22スタート アップ環境 2-22

ISO 10646 1-12

MMMM

Microsoft SQL ServerSQL スク リプ ト ファ イル 2-18

MSS_BLD.SQL 2-18MSS_CLN.SQL 2-18起動環境 2-23起動手順の説明 2-21, 2-23

MS 2-18

NNNN

NF2 1-10NLS 1-5, 1-7概要 1-7, 11-1定義 1-10文字セッ トへの変換 11-2列ごとのマッピング 11-7異なる国別情報に基づく ソー

ト 11-12NLS(国別情報サポート ) 1-7NULL値 6-10定義 1-10

OOOO

ODBCデータ 2-11ド ラ イバ i-viii

ODBC ステージ定義 1-11編集 4-21, 4-29, 5-3, 8-8

ODBC ステージ ダイアログボッ クス 4-21, 4-29, 8-8

ODBC テーブル 4-28定義 A-1データの抽出 5-2データのロード 4-19, 5-2, 5-11データの抽出 5-11メ タデータのインポート 2-25

ODBC ド ラ イバ 2-11Orabulk ステージ 12-4定義 1-11

Oracle SQL スク リプ ト ファ イル 2-18ORA_BLD.SQL 2-18ORA_CLN.SQL 2-18

QQQQ

Q_SALES テーブル 2-29, 5-11, A-6

RRRR

REJECTS テーブル 2-29

SSSS

SQL 2-21書き込みカスタムコード 4-22スク リプ ト ファ イル参照 2-19

SQL Server 1-8SQL*Plus ウ ィンド ウ 2-22sqlldr コマンド 12-4SQL環境シンタ ッ クス 2-21

SQL スク リプ ト ファ イル 2-18実行 2-21

ステージ ビルト イン ステージ

Sybase SQL スク リプ ト ファ イル 2-18

索引索引索引索引 -2 Ascential DataStage サーバージ ョブチュート リ アル

Page 237: Datastage JPY Tutorial

SYB_BLD.SQL 2-18SYB_CLN.SQL 2-18起動手順の説明 2-22スタート アップ環境 2-22

TTTT

テーブルODBC, ODBC テーブルを参照TIME_, TIME を参照UniVerse, UniVerse テーブルを参照

テキス ト ファ イル 順ファ イルも参照

TIME_ テーブル , TIME テーブルを参照

TIME テーブル 2-8, 5-12, A-7

UUUU

UNICODE 1-7Unicode定義 1-12

UniData ステージダイアログボッ クス 8-5定義 1-12編集 8-5

UniData ファ イルデータ抽出 8-4ハッシュファ イル定義 A-1メ タデータ , インポート 8-1

UniVerse 1-12起動手順の説明 2-23予約語 2-8

UniVerse SQL スク リプ ト ファ イル 2-18

UNI_BLD.SQL 2-18UNI_CLN.SQL 2-18

UniVerse ステージ 1-12定義 1-12編集 4-21, 4-29, 5-3, 8-8

UniVerse ステージ ダイアログボッ クス 8-8

UniVerse テーブル定義 A-1データの抽出 5-2データのロード 4-19, 5-2, 5-11データの抽出 5-11メ タデータのインポート 2-25

UniVerse ファ イルデータ抽出 8-4メ タデータ , インポート 8-1

UNIX 2-15

WWWW

WISQL32 ウ ィ ンド ウ 2-22

ああああ

アイコン 6-5ツールバー 3-23, 3-25

アクティブステージ 1-4アグ リゲータステージ 2-29, 5-11定義 1-8プロパティ 5-13

アド ミ ニス ト レータ 1-5

うううう

ウ ィンド ウDataStage使用状況分析 12-8DataStageディ レク タ 3-25DataStageデザイナ 3-5, 11-5DataStage マネージャ 6-3SQL*Plus 2-22WISQL32 2-22ジ ョブ 3-12, 4-6, 11-5ジ ョブのコンパイル 3-24, 4-16データブラウザ 3-15, 4-25, 7-8, 8-6デバッグ 7-5ト ランスフォーマエディ タ 3-22

索引索引索引索引 -3

Page 238: Datastage JPY Tutorial

ええええ

エクササイズ概要 2-28異なる国別情報に基づく ソー

ト 11-12サンプルジ ョブ 3-1時間ディ メンシ ョ ンテーブルの

ロード 4-28順ファイルへのデータのロード 4-

3ジ ョブデザインのデバッグ 7-1データの集約 5-11複数ソース と ターゲッ ト を使う 5-

2ま とめ 13-2メ タデータの作成リ レーシ ョナルデータベーステーブル 6-5

順ファイル 6-8複数値ファイル 8-1

文字セッ トへの変換 11-2リ レーシ ョナルデータベーステーブルにデータをロード 6-12

リ レーシ ョナルデータベーステーブルへのデータのロード 4-28

列ごとのマッピング 11-7複数値ファイルからのデータ抽

出 8-4エクササイズの概要 2-28エクスポート ファ イル 2-16, 2-25

おおおお

オブジェク ト名 ,変更 4-7オペレータ定義 1-11

かかかか

開発者定義 1-9

概要NLS 1-7エクササイズ 13-2レポーティングツール 12-6

カスタム SQL コード , 書き込み 4-22カスタム変換 ,作成 12-2関数 , 構文 4-32

きききき

起動DataStage ディレク タ 3-24DataStage マネージャ 6-2

行出力条件 5-7リ ジェク ト 5-10

共用コンテナ 9-1検証 リ ンク 9-18作成 9-10ジ ョブで使う 9-15定義 1-11取り外し 9-11内容を参照 9-14プロパティ 9-17

くくくく

区切られたファ イルデータの書き込み 4-4

国別情報 1-8異なるソート 11-12定義 1-10

国別情報サポート参照 NLS

ク ラ イアン ト コンポーネン ト 1-5ク リーンアップ スク リプ ト ファ イル

INF_CLN.SQL 2-18MSS_CLN.SQL 2-18ORA_CLN.SQL 2-18SYB_CLN.SQL 2-18UNI_CLN.SQL 2-18

索引索引索引索引 -4 Ascential DataStage サーバージ ョブチュート リ アル

Page 239: Datastage JPY Tutorial

ここここ

構文関数 4-32

固定長順ファイル ,データの抽出 4-4異なる国別情報に基づく ソート 11-12コンテナ 1-4再コンパイル 9-10再利用 9-10, 9-15ステージ 9-1定義 1-8

違い 9-11変換 9-13

コンポーネン トビル ト イン 1-1ユーザー定義 1-1

ささささ

サーバー , DataStageサーバーも参照サーバー共用コンテナ 9-10構築 9-11

サーバーコンポーネン ト 1-4サーバージ ョブ 1-3定義 1-11

作成カスタム変換 12-2サンプル多値ファイル 8-1サンプルテーブル 2-20式 4-32ジ ョブ 4-4テーブル定義 6-1, 6-8メ タデータ 6-1, 6-5, 6-8, 8-3

参照チュート リ アル SQL スク リプ ト

ファ イル 2-19ツールチップ 3-23, 3-25, 7-3データ 7-8, 8-6非正規化 8-6

サンプルジ ョブ 3-1インポート 2-25オープン 3-11

設定 3-12サンプル多値ファイルの作成 8-1サンプルデータ 2-2作成 2-15定義 A-1

サンプルテーブル ,作成 2-20

しししし

時間ディ メンシ ョ ンテーブルロード 4-28

式 , 作成 4-32式エディ タ 4-31, 5-8実行

SQL スク リプ ト 2-21ジ ョブデザインデバッガ 7-3

収益テーブル 5-5, A-4出力条件行 5-7順ファイル 2-12定義 A-1データ 2-12データの抽出 3-1, 4-3データのロード 3-1, 4-3開く 2-17メ タデータインポート 6-1手作業での入力 6-8

順ファイルステージ 2-28定義 1-11編集 4-5, 4-20, 4-28

順ファイルステージ ダイアログボックス 7-2

順ファイルステージ 4-20使用状況分析レポート 12-8ジ ョブ 1-1インポート 2-25検証 3-25, 3-26コンパイル 3-23, 4-16サーバー 1-3作成 4-4サンプル 3-1, 3-11実行可能 1-3

索引索引索引索引 -5

Page 240: Datastage JPY Tutorial

定義 1-9デバッグ 7-1パッケージ化 12-5保存 4-5メ インフレーム 1-3例 3-1インポート 2-25

ジ ョブウ ィンド ウ 3-12, 4-6, 11-5ジ ョブシーケンス

Exec コマンド 10-6アイコン 10-3コマンド実行 10-3, 10-6作成 10-2式タイプ 10-5条件付き 10-5無条件 10-5

条件 10-1ジ ョブアクティビティ 10-3テキス トベース 10-1ト リ ガ 10-5ト リ ガー 10-1パラ メータ 10-7

ジ ョブ実行オプシ ョ ン ダイアログボッ クス 3-26, 4-17

ジ ョブステータスビュー 3-25ジ ョブデザイナのデバッグ 7-1ジ ョブデザイン使用状況分析 12-8

ジ ョブデザインデバッガ 7-1実行 7-3

ジ ョブデザインのデバッグ 7-1ジ ョブの検証 3-25ジ ョブのコンパイル 3-23, 4-16ジ ョブのコンパイル ウ ィンド ウ 3-24,

4-16ジ ョブバッチ定義 1-10

ジ ョブパラ メータ定義 1-10

ジ ョブを開く ダイアログボッ クス 3-11

新規コンテナを作成 ダイアログボックス 9-13

新規ジ ョブダイアログボッ クス 4-4新規ジ ョブの作成 ダイアログボッ ク

ス 4-5シンタ ッ クス

SQL環境 2-21

すすすす

スク リプ ト , SQL スク リプ ト ファ イル

スター型スキーマ 2-5ダイアグラム 2-9ファ ク ト テーブル 2-6

ステージ 1-3, 1-12, 2-14BCPLoad 1-8, 12-4ODBC 1-11, 2-28, 4-21, 4-29, 5-3, 8-8Orabulk 1-11, 12-4UniData 1-12, 2-30, 8-5UniVerse 1-12, 2-28, 4-21, 4-29, 5-3,

8-8アクティブ 1-4アグ リゲータ 1-8, 2-29, 5-11エクササイズの概要 2-28コンテナ 1-8, 9-1順ファイル 1-11, 2-28, 4-5, 4-20, 4-

28定義 1-11ト ランスフォーマ 1-12, 3-1, 4-1, 4-

3, 4-19, 4-30, 5-2, 7-2パッシブ 1-4ハッシュファ イル 1-9, 2-30ビルト イン 1-3プラグイン 1-3, 1-11

ト ランスフォーマステージ定義 1-12

ステージ前処理サブルーチンおよびステージ後処理サブルーチン 5-13

ステータスバー 3-6

索引索引索引索引 -6 Ascential DataStage サーバージ ョブチュート リ アル

Page 241: Datastage JPY Tutorial

せせせせ

正規化 1-9, 8-6

そそそそ

ソース定義 1-11

たたたた

ダイアログボッ クス新規ジ ョブの作成 4-5DataStageプロジェク ト管理 11-2ODBC ステージ 4-21, 4-29, 8-8UniData ステージ 8-5UniVerse ステージ 8-8出力仕様 5-14順ファイルステージ 4-20, 7-2ジ ョブ実行オプシ ョ ン 3-26, 4-17ジ ョブを開く 3-11新規ジ ョブ 4-4テーブル定義 6-8ト ランスフォーマステージ出力条件 5-9

ハッシュファ イルステージ 8-5ブレイクポイン トの編集 7-4プロジェク ト NLS設定 11-3プロジェク ト NLS を設定 11-13プロジェク トへ接続 6-2メ タデータのインポート

UniData ファ イル 8-3UniVerse テーブル 6-6

列自動マッチ 4-24, 5-6列表示 8-7列を選択 4-23レポーティングツール 12-6, 12-7

第 1正規形 8-9タイムディ メ ンシ ョ ンテーブル 2-8ダイレク ト アクセスデータ 2-13多値データ A-1多値ファイル

サンプル 8-1

ちちちち

チュート リ アルサンプルデータのインス トール 2-

15チュート リ アルのインス トールサンプルデータ 2-15

つつつつ

ツールチップ 3-23, 3-25, 7-3ツールチップス 3-9ツールバーディ レク タ 3-25デザイナ 3-9デバッガ 7-3ト ランスフォーマエディ タ 3-23マネージャ 6-3

ツールパレッ トボタン 3-9

てててて

定義テーブル定義ガイ ド付き 6-1手作業 6-8マニュアル 6-1割り当て 6-5ファ イルフォーマッ ト 6-11

ディ メンシ ョ ンテーブル 2-7ディ レク タ 1-5ディ レク タ , DataStageディレク タディ レク タ , DataStageディ レクタを

参照データ

ODBC 2-11参照 7-8, 8-6サンプル 2-2, 2-15, A-1集約 5-11

索引索引索引索引 -7

Page 242: Datastage JPY Tutorial

順ファイル 2-12ソース 2-10ターゲッ ト 2-10タイプ 2-10ダイレク ト アクセス 2-13多値 8-1定義 A-1ハッシュファ イル 2-13バルクロード 12-4変換 4-1, 4-19, 5-1要素 1-2書き込み , データをロードを参照抽出 , 抽出データを参照

データウェアハウス 2-5データの集約 5-11データの抽出区切られたファ イル 4-19順ファイル 4-19複数データソース 5-2リ レーシ ョナルデータベーステーブル 5-2

データのバルクロード 12-4データの変換 2-28, 4-1順ファイル 4-3, 4-19リ レーシ ョナルデータベース 5-2

データのロードODBC テーブル 5-2ODBC テーブルへ 4-28, 5-11UniVerse テーブル 4-28, 5-11UniVerse テーブルへ 5-2時間ディ メンシ ョ ンテーブルへ 4-

28順ファイルへ 4-3, 3-1

データの抽出順ファイル 3-1, 4-3

データの変換リ レーシ ョナルデータベーステーブル 5-11

データブラウザ 3-15, 4-25, 7-8, 8-6定義 1-9

データプロパティ 1-2データマート 2-5

データモデル 2-1データ要素 , 定義 1-9データ抽出

UniData ファ イル 8-4ハッシュファ イル 8-4複数値ファイル 8-4

テーブルFACTS 2-29, 5-12Q_SALES 2-29, 5-11, A-6REJECTS 2-29TIME 2-8, 5-12, A-7エクササイズサンプル A-1サンプル , 作成 2-20収益 5-5, A-4タイムディ メ ンシ ョ ン 2-8ディ メンシ ョ ン 2-7名 6-7メ タデータのインポート 2-25, 6-5リ ジェク ト A-6

テーブル定義 1-2, 6-4, A-1作成 6-1定義 1-11

テーブル定義 ダイアログボッ クス 6-8テーブル定義作成 6-8

デザイナ 1-5デザイナ , DataStageデザイナを参照デバッガ 9-10デバッガ ツールバー 7-3デバッグ ウ ィンド ウ 7-5

とととと

ドキュ メ ンテーシ ョ ンツール 12-7, 12-8

独立 10-1ト ランザクシ ョ ン 12-1ト ランスフォーマ 9-11ト ランスフォーマエディ タ 4-11, 4-23,

4-30, 5-6, 8-8ツールバー 3-23定義 1-12

索引索引索引索引 -8 Ascential DataStage サーバージ ョブチュート リ アル

Page 243: Datastage JPY Tutorial

メ タデータ領域 3-22リ ンク領域 3-22列自動マッチ 4-24

ト ランスフォーマステージ出力条件 ダイアログボッ クス 5-8定義 1-12ト ランスフォーマステージ 3-21編集 4-11, 4-23, 4-30, 5-6

ト ランスフォーマデータ順ファイルの 3-1

ト ランスフォーム 1-2日付型 12-2ビルト イン 12-2文字列型 12-2

ト ランスフォーム関数定義 1-12

にににに

入力列定義 6-10ログイン設定 6-2

はははは

パッケージインス トーラー 1-5パッケージ化ジ ョブ 12-5プラグイン 12-5

パッケージャ ウ ィザード 12-5パッシブステージ 1-4ハッシュファ イル 2-13定義 1-9データ抽出 8-4メ タデータからのインポート 8-1列定義 A-1

ハッシュファ イルステージダイアログボッ クス 8-5定義 1-9

バッチジ ョブ 10-1パラレルジ ョブ定義 1-11

バルクロード データ 12-4

ひひひひ

非正規化定義 1-10

非第 1正規形 8-1定義 1-10

ビュージ ョブステータス 3-25

表示ツールチップ 3-23, 3-25, 7-3ツールチップス 3-9プロジェク ト アイテム 6-5ツールチップス 3-9

表示領域 6-5更新 3-25

表示領域の更新 3-25ビルト イント ランスフォーム 12-2

ビルト インステージ 1-3Orabulk 12-4

ビルト イン ト ランスフォーム 6-5ビルト インルーチン 6-4

ふふふふ

ファ イルSQL スク リプ ト 2-18エクスポート 2-16, 2-25順 2-12, 4-3多値 8-1, 8-4ハッシュ 1-9, 2-13, 8-1フォーマッ ト ,定義 6-11ログ 5-10順 3-1

複数値データ 8-1複数値ファイルデータ抽出 8-4メ タデータの作成 8-1

複数データソース と ターゲッ ト 5-2

索引索引索引索引 -9

Page 244: Datastage JPY Tutorial

複数のデータソース と ターゲッ ト 2-29

プラグインAscentialが提供する 12-4BCPLoad 12-4Orabulk 12-4ステージ

BCPLoad 12-4定義 12-5パッケージ化 12-5他のシステムへの配布 12-5

プラグインステージ 1-3, 12-4定義 1-11

フラ ッ ト ファ イル , 順ファイルブランチ 6-4ブレイクポイン ト , 設定 7-3ブレイクポイン トの設定 7-3ブレイクポイン トの編集 ダイアログ

ボッ クス 7-4プロジェク ト 1-1, 6-4接続 2-25接続手順 3-4

プロジェク ト ツ リー 6-4プロジェク ト NLS を設定 ダイアログ

ボッ クス 11-13プロジェク ト アイテムの表示 6-5プロジェク トデフォルトマップ上書き 1-8

プロジェク トへ接続 2-25プロジェク トへ接続 ダイアログボッ

クス 2-25, 3-3, 6-2プロジェク トへの接続手順 3-4プロセス間ステージ 1-9プロパティアグ リゲータステージ 5-13データ 1-2

へへへへ

ヘルプ システム , オンラインヘルプ 3-6

変換

カスタム 12-2変更オブジェク ト名 4-7リ ンク名 4-7

編集ODBC ステージ 4-21, 4-29, 5-3, 8-8UniData ステージ 8-5UniVerse ステージ 4-21, 4-29, 5-3,

8-8順ファイルステージ 4-5, 4-20, 4-28ト ランスフォーマステージ 4-11, 4-

23, 4-30, 5-6

ほほほほ

保存ジ ョブ 4-5ログイン設定 2-26, 3-5

ボタンツールバー 3-9ツールパレッ ト 3-9

まままま

マップ 1-7定義 1-10プロジェク トデフォルト 1-8列ごとのマッピング 11-7

マネージャ , DataStage マネージャを参照

めめめめ

メ インフレームジ ョブ 1-3, 1-10メ タデータ 6-1

ODBC テーブル 2-25UniVerse テーブル 2-25インポート 2-25, 6-5ガイ ド付き作成 6-5定義 1-10手作業での作成 6-8複数値ファイル 8-1

索引索引索引索引 -10 Ascential DataStage サーバージ ョブチュート リ アル

Page 245: Datastage JPY Tutorial

メ タデータのインポートUniData ファ イル 8-1UniData ファ イル ダイアログボッ

クス 8-3UniVerse テーブル ダイアログボッ

クス 6-6サンプルメ タデータ 2-25ハッシュファ イル 8-1

6-1順ファイル 6-1

もももも

文字セッ トマップ定義 1-10変換 11-2

文字セッ ト国別情報 1-8文字セッ トマップ 1-7も参照

よよよよ

用語 1-8

りりりり

リ ジェク ト行 5-10リ ジェク ト テーブル A-6リ ポジ ト リ 1-4, 9-10ウ ィンド ウ 9-14, 9-15項目の編集 6-12定義 1-11

リ ンク 1-2, 3-12出力 3-22名前の変更 4-7入力 3-22

リ ンクコレク タステージ 1-10リ ンク分割ステージ 1-10リ ンクマーカー 3-12

るるるる

ルーチン 6-4

れれれれ

列定義 1-8

列ごとのマッピング 1-8, 11-7列自動マッチダイアログボッ クス 4-

24, 5-6列定義 A-1定義 1-8手作業の入力 6-10

列表示 ダイアログボッ クス 8-7列を選択 ダイアログボッ クス 4-23レポーティングツールダイアログボッ クス 12-7

レポーティングツール ダイアログボッ クス 12-6

レポーティングツールの概要 12-6レポートの設定フォーム 12-7

ろろろろ

ローカルコンテナ 9-1, 9-2構築 9-2, 9-6定義 1-10取り外し 9-8

ログイン設定入力 6-2保存 2-26, 3-5

ログファ イル 5-10

索引索引索引索引 -11

Page 246: Datastage JPY Tutorial

索引索引索引索引 -12 Ascential DataStage サーバージ ョブチュート リ アル