0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<(args.length-2); i+=3) if ((obj=findObj(args[i]))!=null) { v=args[i+2]; if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; } obj.visibility=v; } } //Define function to show one layer and hide others: function show(whichLayer) { if(layerDisp) { showHide(layerDisp,'','hide'); } showHide(whichLayer,'','show'); layerDisp = whichLayer; } //Define function to keep score and display feedback: function Engine(question, answer, layerSuffix) { if (answer != ans[question]) { show('incorrect'+layerSuffix); } else { if (!done[question]) { score++; } show('correct'+layerSuffix); } done[question] = -1; } //Define function to verify answer for checkbox: function checkAnswer(question, whichform, whichbox) { var checkTotal = 0; with (whichform) { for (i = 0; i < whichbox.length; i++) { if (whichbox[i].checked == true) { checkTotal = checkTotal + eval(whichbox[i].value); } } } Engine(question,checkTotal,question*10); } //Define function to show correct answer for checkbox: function showAnswer(question, whichform, whichbox) { var residue = ans[question]; var currAnswer = 1; if(layerDisp) { showHide(layerDisp,'','hide'); } with (whichform) { for (i = 0; i < whichbox.length; i++) { if ((residue>0) && (residue%(currAnswer*2)==currAnswer)){ whichbox[i].checked = true; residue-=currAnswer; } else { whichbox[i].checked = false; } currAnswer*=2; } } } //Define function to init a form function clearForm(form) { //Set all checkboxes and radio buttons on form to unchecked: for (xx=0; xx < form.elements.length; xx++) { if (form.elements[xx].type == 'checkbox' | form.elements[xx].type == 'radio') { form.elements[xx].checked = false; } } } //Define function to init all forms on reload: function InitForm() { clearForm(document.form1) clearForm(document.form2) clearForm(document.form3) } // End --> function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i
フラット・ファイルのトランザクション・データの使用
目的
フラット・ファイルは、ウェアハウス・プロジェクトの一般的なデータソースです。 このレッスンでは、フラット・ファイル・ソース・モジュールの作成方法について学習します。
モジュールは、ソースおよびターゲットのオブジェクト定義を論理的にグループ化できるプロジェクト内のストレージ・オブジェクトです。 ソース・モジュールには、データを抽出するソース・システムを示すメタデータが格納されます。 ターゲット・モジュールには、ターゲットのデータ・ウェアハウスまたはデータ・マートを示すメタデータが格納されます。
フラット・ファイル・ソース・モジュールでは、多くのフラット・ファイルのサンプルを含むフォルダへの接続を定義します。 フラット・ファイル・ソース・モジュールにフラット・ファイル・メタデータをインポートするウィザードの使用方法を学習します。 フラット・ファイル・ソースの演習以外に、Oracle Warehouse Builderがリレーショナル表のデータベース・ソースを処理する方法のデモも確認します。
所要時間:
約20分
注:
このチュートリアルとセットアップ・スクリプトは、Oracle Warehouse Builder 11g
Release 1だけに対応しています。
このOracle By Exampleチュートリアルの前のバージョンは、Oracle Warehouse Builder 10g
Release 1および2に対応しています。
トピック
このチュートリアルでは、以下のトピックについて説明します。
スクリーンショットの表示
このアイコンの上にカーソルを置くと、すべてのスクリーンショットがロード、表示されます。 (警告: すべてのスクリーンショットが同時にロードされるため、ご使用のインターネット接続によってはレスポンス・タイムが遅くなる場合があります。)
概要
Oracle Warehouse Builderには、製品内で使用するソース・オブジェクトを示すメタデータが必要です。 このため、モジュールと呼ばれる特定のメタデータ・グループにソースをグループ化します。 モジュールは、OSディレクトリまたはデータベース・スキーマを参照します。 このため、起動時にフラット・ファイル・モジュールを作成し、ソースからメタデータをインポートする必要があります。 これは、ファイルまたはスキーマの表にこの処理を実行する場合と同様のプロセスです。
このレッスンでは、フラット・ファイル・メタデータを格納するソース・モジュールの定義に重点を置いています。
インポートするフラット・ファイルを選択するImport Metadata Wizardの使用方法とフラット・ファイル用のメタデータを確認および文書化するFlat File Sample Wizardの使用方法について学習します。 Flat File Sample Wizardでは、Oracle Warehouse Builderリポジトリで定義するメタデータを格納します。 スクリーンショットと手順を使用して、Oracleデータベース・ソース・モジュールを確認します。
トピック・リストに戻る
前提条件
このチュートリアルを始める前に次のことを確認してください。
トピック・リストに戻る
フラット・ファイル・ソース・モジュールの作成
このトピックでは、フラット・ファイル・ソースを示すメタデータを追加するフラット・ファイル・モジュールの作成方法について学習します。 作成するソース・モジュールには、フラット・ファイルに固有のメタデータが格納されます。このため、このモジュールは、Oracle Warehouse Builder Project ExplorerのFilesノードにあります。
| 1.
|
rep_owner/rep_ownerとしてDesign Centerにログインします。 Project Explorerパネルで、「
OWB_DEMO」プロジェクトを開きます。 「
Files」ノードを右クリックして、「
New」を選択します。
Create ModuleウィザードのWelcomeページが表示されます。 「
Next」をクリックします。
Create ModuleウィザードのName and Descriptionページが表示されます。
| | 2.
|
Create ModuleウィザードのName and Descriptionページで、モジュール名として
SOURCEを入力します。 「
Next」をクリックします。
Create ModuleウィザードのConnection Informationページが表示されます。 フラット・ファイル・ソース・モジュールのLocationは、フラット・ファイルが格納されているファイル・システムのパスまたはディレクトリです。
| | 3.
|
Create ModuleウィザードのConnection Informationページで、Oracle Warehouse Builderはデフォルトの場所のSOURCE_LOCATION1を作成します。 「
Edit」をクリックします。
Edit File System Location: SOURCE_LOCATION1ウィンドウが表示されます。
| | 4.
|
Edit File System Location: SOURCE_LOCATION1ウィンドウで、デフォルト名のSOURCE_LOCATION1を
SOURCE_LOCATIONに変更します。 「
Browse」をクリックします。
Browse Directoryウィンドウで、
D:\newowbdemo\sourcefilesまたはセットアップ・スクリプトを保存したドライブとディレクトリ(ソース・フォルダを含む)を選択します。 「
Select」をクリックします。
| | 5.
|
Edit File System Location: SOURCE_LOCATIONウィンドウでパスを確認して、「
OK」をクリックします。
| | 6.
|
Connection Informationウィンドウで、
Import after finishが選択されていることを確認します。 このオプションを選択すると、Import Metadata Wizardが起動します。 「
Next」をクリックします。
ヒント:チェック・ボックスが選択されていない場合、Import Metadata Wizardは自動的に起動しません。 Import Metadata Wizardを手動で起動するには、Project Explorerで「
Files」を開いて「
SOURCE」モジュールを右クリックし、「
Import」を選択します。
Create ModuleウィザードのSummaryページが表示されます。
| | 7.
|
Summaryページで、モジュールの設定を確認します。 「
Finish」をクリックします。
フラット・ファイル・モジュールの定義は完了です。 Import Metadata Wizardが自動的に起動します。 このウィザードを一時的に横に移動すると、ソース・モジュールがProject ExplorerのFilesノードに作成されていることをDesign Centerで確認できます。
|
トピック・リストに戻る
フラット・ファイル・メタデータのインポート
フラット・ファイル・モジュールの作成後、フラット・ファイル定義をOracle Warehouse Builderにインポートできます。 Import Metadata Wizardは、メタデータ・オブジェクトをインポートするプロセスを実行します。 既存のフラット・ファイルからメタデータをインポートするためにImport Metadata Wizardを使用するたびに、Import Metadata WizardはFlat File Sample Wizardを起動します。 Flat File Sample Wizardを使用して、フラット・ファイル用のメタデータを確認および文書化します。
トピック・リストに戻る
Import Metadata Wizardの使用
| 1.
|
Import Metadata WizardのWelcomeページで、「
Next」をクリックします。
Import Metadata WizardのFilter Informationページが表示されます。
| | 2.
|
Import Metadata WizardのFilter Informationページで、デフォルトの
All Data Filesを受け入れ、「
Next」をクリックします。
Import Metadata WizardのObject Selectionページが表示されます。
| | 3.
|
Import Metadata WizardのObject Selectionページで、「
D:\newowbdemo\sourcefiles」ノード(またはレッスン1でセットアップ・ファイルを解凍した別の場所)を開きます。 ファイルのリストが表示されます。
>> (Add All)アイコンを使用して、AvailableリストからSelectedリストにすべてのファイル定義を移動します。 「
Next」をクリックします。
Import Metadata WizardのSummary and Import
ページが表示されます。
| | 4.
|
注:このページで、先頭に赤のXマークがついた2つのファイル定義(expense_categories_csvとexport_csv)を確認します。 赤のXマークは、Oracle Warehouse Builderリポジトリ内でこのファイルに使用できるメタデータ情報がないことを示します。 インポートする前に、Oracle Warehouse Builderでこれらのファイルの構造を確認する必要があります。 サンプリング・プロセスを使用して、構造に関する情報を収集します。
Import Metadata WizardのSummary and Importページで、「
expense_categories_csv」ファイルを選択します(選択されていない場合)。 「
Sample」をクリックします。
Flat File Sample Wizardが表示されます。
|
トピックに戻る
Flat File Sample Wizardの使用
| 1.
|
Flat File Sample Wizardでは、フラット・ファイル構造を定義します。 Flat File Sample WizardのWelcomeページで、「
Next」をクリックします。
Flat File Sample WizardのNameページが表示されます。
| | 2.
|
Flat File Sample WizardのNameページで、デフォルトのファイル名としてEXPENSE_CATEGORIES_CSVを受け入れます。 これは、Oracle Warehouse Builderがインポート後のファイルを参照するための名前です。 Oracle Warehouse Builderは、データの読取りに使用できる多くの文字セットを提供します。
このページのデフォルト値を受け入れます
。 このファイルには、2つの列(Expense TypeとExpense Categories)があります。 ウィザードは、フラット・ファイルの構造を仮定します。 ダイアログ・ボックスの下部に、Oracle Warehouse Builderでフラット・ファイル・データの行を表の列にインポートするサンプルが表示されます。 「
Next」をクリックします。
Flat File Sample WizardのRecord Organizationページが表示されます。
| | 3.
|
注:Record Organizationページを使用して、サンプリングしているファイルにレコードが編成される方法を示します。
Flat File Sample WizardのRecord Organizationページで、キャリッジ・リターン(<CR>)で区切られるレコードのデフォルト・オプションを受け入れます
。 「
Next」をクリックします。
Flat File Sample WizardのFile Formatページが表示されます。
| | 4.
|
注:このページで、ファイル構造の形式を指定します。 固定長ファイルと文字区切りファイルがサポートされます。
ヒント:ファイルで異なる区切り文字を使用している場合、Field Delimiterドロップダウン・リストから選択できます。 Oracle Warehouse Builderは、選択された区切り文字を使用します。
Flat File Sample WizardのFile Formatページで、ファイル形式のデフォルト・オプションの
Delimitedを受け入れます。 「
Next」をクリックします。
Flat File Sample WizardのFile Layoutページが表示されます。
| | 5.
|
注:このページで、スキップする行の数を指定できます。 単一のレコード・タイプまたは複数のレコード・タイプを選択できます。
Flat File Sample Wizard
のFile LayoutページのSkip Rowsで、デフォルト値の
0を受け入れます。 expense_categories.csvファイルは、単一のレコード・タイプの例です。 レコード・タイプに
Single
Recordを選択して、「
Next」をクリックします。
Flat File Sample WizardのField Propertiesページが表示されます。
| | 6.
|
フラット・ファイルの最初のレコードがヘッダーの場合、フィールド名に最初のレコードの値を使用できます。 Flat File Sample WizardのField Propertiesページで、
Use the first record as the field namesを選択します。
次のスクリーンショットで、フィールド名が変更されていることを確認します。
ヒント: 右側のSQLデータ型を使用すると、このファイルに基づく外部表のデータ型などを制御できます。
「
Next」をクリックします。
Flat File Sample WizardのSummaryページが表示されます。
| | 7.
|
expense_categories_csvファイルに定義された全体の仕様を確認します。 Flat File Sample Wizardの
Summaryページで、「
Finish」をクリックします。
ウィザードがフラット・ファイルを作成します。 Flat File Sample WizardからImport Metadata Wizardに戻ります。
| | 8.
|
Import Metadata WizardのSummary and Importページでexpense_categories_csvファイルのStatusフィールドに示されている緑のチェック・マークは、このファイルがサンプリングされていることを示しています。
2つ目のフラット・ファイルをサンプリングします。
| | 9.
|
選択されていない場合は「
export_csv」ファイルを選択します。 「
Sample」をクリックします。
ヒント: 時間を短縮するには、Same Asドロップダウン・リストから
Same As
<FileName >を選択できます。 (サンプリングされるファイルが以前にサンプリングしたファイルの構造と似ている場合、Same Asオプションを使用する必要があります。) この例でサンプリングされる2つのファイルの構造は異なっています。
Flat File Sample WizardのWelcomeページが表示されます。 「
Next」をクリックします。
| | 10.
|
Flat File Sample WizardのNameページで、デフォルトのファイル名としてEXPORT_CSVを受け入れます。 これは、Oracle Warehouse Builderがインポート後のファイルを参照するための名前です。
このページのデフォルト値を受け入れます
。 このファイルには、14個の列があります。 「
Next」をクリックします。
Flat File Sample WizardのRecord Organizationページが表示されます。
| | 11.
|
注:Record Organizationページを使用して、サンプリングしているファイルにレコードが編成される方法を示します。
Flat File Sample WizardのRecord Organizationページで、キャリッジ・リターン(<CR>)で区切られるレコードのデフォルト・オプションを受け入れます
。 「
Next」をクリックします。
Flat File Sample WizardのFile Formatページが表示されます。
| | 12.
|
注:このページで、ファイル構造の形式を指定します。 固定長ファイルと文字区切りファイルがサポートされます。
Flat File Sample WizardのFile Formatページで、ファイル形式のデフォルト・オプションの
Delimitedを受け入れます。 「
Next」をクリックします。
Flat File Sample WizardのFile Layoutページが表示されます。
| | 13.
|
注:このページで、スキップする行の数を指定できます。 単一のレコード・タイプまたは複数のレコード・タイプを選択できます。
Flat File Sample Wizard
のFile LayoutページのSkip Rowsで、デフォルト値の
0を受け入れます。 export.csvファイルは、単一のレコード・タイプの例です。 レコード・タイプに
Single
Recordを選択して、「
Next」をクリックします。
Flat File Sample WizardのField Propertiesページが表示されます。
| | 14.
|
Flat File Sample WizardのField Propertiesページで、
Use the first record as the field namesを選択します。 フラット・ファイルの最初のレコードがヘッダーの場合、フィールド名に最初のレコードの値を使用できます。
フィールド名が変更されていることを確認します。
| | 15.
|
注:手順15を完了する前にウィザード・ページのBackボタンをクリックしないでください。 Dateが予約語で日付フィールドの名前が変更されていないため、エラーが発生する場合があります。
Flat File Sample WizardのField Propertiesページの「
Date」を選択します。
Dateが予約語なので、Dateを
Expense_Dateに変更します。
Typeドロップダウン・リストから「
Date」を選択します。 Mask列に
dd-mon-yyと入力します(引用符は必要ありません)。
| | 16.
|
Flat File Sample WizardのField Propertiesページで、「
Reimbursable_Amount_(USD)」を選択します。
'(' ')'が予約文字なので、Reimbursable_Amount_(USD)をReimbursable_Amountに変更します。
Typeドロップダウン・リストから「
Decimal External」を選択します。
注:ダイアログ・ボックスの右側にスクロールして、SQL Propertiesを表示します。 ウィザードは、Type列の選択に基づいてデフォルトのSQL Propertiesを作成します。
「
Next」をクリックします。 Flat File Sample WizardのSummaryページが表示されます。
| | 17.
|
EXPORT_CSVファイルに定義された全体の仕様を確認します。 Flat File Sample Wizardの
Summaryページで、「
Finish」をクリックします。
ウィザードがフラット・ファイルを作成します。 Flat File Sample WizardからImport Metadata Wizardに戻ります。
| | 18.
|
Import Metadata WizardのSummary and ImportページのEXPENSE_CATEGORIES_CSVとEXPORT_CSVのStatusフィールドに示されている緑のチェック・マークは、両方のファイルがサンプリングされていることを示しています。 Import Metadata WizardのSummary and Importページで、「
Finish」をクリックします。
インポートが開始されます。 Importing Progress Dialogにインポートの進捗状況が表示されます。
Project Explorerで「
Files」→「
SOURCE」を開きます。 サンプリングしてインポートした2つの表(EXPENSE_CATEGORIES_CSVとEXPORT_CS)を確認します。
Design Centerで、ツールバーの「
Save All
」をクリックします。 Warehouse Builder Warningウィンドウで「
Yes」をクリックして、作業をコミットします。
|
トピックに戻る
Oracle Databaseモジュールの確認
フラット・ファイル・メタデータ・ソース以外に、Oracleベースのリレーショナル表のソース・メタデータなど、他のさまざまなソースのモジュールを作成します。 取り上げられたトピックは、ソース・データがフラット・ファイルの形式であることを前提としています。
このサブトピックでは、Oracleソースからデータをインポートする方法の
デモを説明します。 この例では、HRデータを格納するOracleデータベースのスキーマからデータをインポートします。
以下の手順は読取り専用です。実行しないでください。 手順とスクリーンショットによって、概念を理解できます。
| 1.
|
再度の注意です。
以下の手順は読取り専用です。実行しないでください
。
この手順で、Oracleモジュールの作成方法を確認します。 Project Explorerで、「
OWB_DEMO」プロジェクト→「
Databases」を開きます。「
Oracle」を右クリックして、「
New」を選択します。 Create ModuleウィザードのWelcomeページで、「
Next」をクリックします。
Create ModuleウィザードのName and Descriptionページで、Oracleデータソース・モジュール名として
HRを入力します。 モジュール・タイプは
Data Sourceです。 「
Next」をクリックします。
| | 2.
|
ウィザードの次のページは、Connection Informationページです。 Oracle Warehouse Builderは、作成された各モジュールの場所の名前を作成します。 スクリーンショットに示されているように、場所の名前はHR_LOCATION1です。 場所は、Oracleデータベースやフラット・ファイルなどのモジュール・タイプに固有です。
| | 3.
|
「
Edit」をクリックすると、Edit Oracle Database Locationページが起動します。 Edit Oracle Database Locationページで、デフォルトの場所のHR_LOCATION1を
HR_LOCATIONに変更します。 また、メタデータのソースを指定する接続情報(ユーザー名、パスワード、ホスト、ポート、およびサービス名)を入力します。 この例では、HRスキーマに接続するために接続の詳細を入力します。
ヒント:さまざまな接続タイプを使用できます。
|
HOST:PORT:SERVICENAME
| |
Database Link
| |
SQL*NET Connection
|
TNS Namesエントリを使用して直接単一ノードを参照しないRACなどに使用する構成を行うことができます。
「
Test Connection」をクリックします。 入力した接続情報がテストされ、接続が成功すると"Successful"メッセージが表示されます。 「
OK」をクリックします。
| | 4.
|
Connection Informationページで、Import Metadata Wizardに進む
Import after finishオプションが選択されていることを確認します。
「
Next」をクリックします。Summaryページで「
Finish」をクリックします。
Import Metadata WizardのWelcomeページが表示されます。 「
Next」をクリックします。
|
| 5.
|
Import Metadata Wizardを使用して、データベースからモジュールにメタデータをインポートします。 HR Oracleソース・モジュールにインポートするオブジェクトを選択します。
Filter Informationページで、インポートするオブジェクトのタイプを選択します。
「
Next」をクリックします。 Object Selectionページで、インポートする特定のオブジェクトを選択します。
Oracle Warehouse Builderは、制約(存在する場合)を含むすべての定義をインポートします。 この例では、COUNTRIES表と、外部キーによって関連付けられたOracle Warehouse Builderが識別するREGIONS表を選択しています。 Confirm Import Selectionダイアログ・ボックスで「
OK」をクリックして、依存するREGIONS表をインポートします。 「
Next」をクリックします。
|
| 6.
|
Summary and Importページで、Oracle Warehouse Builderにインポートするすべてのオブジェクトが選択されていることを確認します。 オブジェクトの説明フィールドを編集できます。
スクリーンショットに示されているように、「
Advanced Import Options」をクリックしてさまざまなインポート・オプションを確認します。
「
OK」をクリックします。 「
Finish」をクリックします。
Import Resultsページで「
OK」をクリックします。
これで、Oracleデータベース定義のインポートが完了しました。Oracle Warehouse Builderクライアントで、インポートしたメタデータを確認します。 「
HR」モジュールを開いて、表にインポートされるメタデータを確認します。
|
トピック・リストに戻る
まとめ
このレッスンで学習した内容は、以下のとおりです。
|
フラット・ファイル・ソース・モジュールの作成。 ファイル・モジュールでは、多くのフラット・ファイルのサンプルを含むフォルダへの接続を定義します。
| | 次のウィザードを使用したフラット・ファイルの定義の作成 | |
|
フラット・ファイルをインポートするImport Metadata Wizard
| | | フラット・ファイルをサンプリングするFlat File Sample Wizard |
|
Oracle Databaseモジュールの簡単な確認
|
トピック・リストに戻る
このアイコンの上にカーソルを置くと、すべてのスクリーンショットが非表示になります。
|