データセットを変換するルールの作成
再利用可能な変換ルールを作成して、ランディング、ストレージ、変換、およびデータ マート データ タスクのデータセットに対してグローバル変換を実行できます。
[データセット] を選択し、[変換ルール] をクリックしてから、[変換ルールを追加] をクリックして新しい変換ルールを作成します。
-
変換タイプを選択し、[次へ] をクリックします。
次の変換を実行できます。
-
データセットの名前を変更
-
列名を変更
-
列を追加
-
列をドロップ
-
データ型を変換
-
列の値を置換
-
-
変換スコープを選択し、[次へ] をクリックします。
-
実行する変換アクションを選択し、[次へ] をクリックします。
-
ルールの名前と説明を追加し、[完了] をクリックします。
データ タスクを実行すると、ルールが適用されます。複数のルールを追加する場合、ルールは表示順に実行されます。
変換するスコープ
複数の変換が同じデータセットまたは列に適用される場合、スコープは常に元のソース名にあり、アクションは前のルールが適用された後の値に関連します。たとえば、次のルールがあるとします。
-
Abc_ (Abc_%) で始まるすべてのデータセットの名前を変更して、プレフィックスを ABC_ に変更します。
-
ABC_ (ABC_%) で始まるデータセットに接尾辞 _zzz を追加します。
これらのデータセットにルールを適用すると、これらの結果が得られます。2 番目のルールの後、スコープは常に元の名前 (Abc_customers) にあるため、_zzz サフィックスは ABC_customers に追加されないことに注意してください。
元のデータセット名 | ルール 1 の後のデータセット名 | ルール 2 の後のデータセット名 |
---|---|---|
Abc_customers |
ABC_customers |
ABC_customers |
ABC_Suppliers |
ABC_Suppliers |
ABC_Suppliers_zzz |
データセットの名前の変更
-
[データセットの名前を変更] を選択し、[次へ] をクリックします。
-
変換スコープ、つまり名前を変更するデータセットを設定します。% をワイルドカード文字として使用して、1 つ以上のデータ アセットから複数のデータセットを選択できます。
[次へ] をクリックします。
-
変換アクションを設定します。次のアクションを実行できます。
-
データセットの名前を固定名に変更します。
-
プレフィックスまたはサフィックスを追加します。
-
プレフィックスまたはサフィックスを削除します。
-
プレフィックスまたはサフィックスを置換します。
-
大文字または小文字に変更します。
-
式を使用してデータセット名を置き換えます。
-
辞書を使ってデータセット名を置き換えます。
詳細については、「辞書を使ってデータセットまたは列の名前を変更する」を参照してください。
準備ができたら、[次へ] をクリックします。
-
-
ルールの名前を設定し、[完了] をクリックします。
列名の変更
-
[列名を変更] を選択し、[次へ] をクリックします。
-
変換スコープ、つまり名前を変更する列を設定します。% をワイルドカード文字として使用して、1 つ以上のデータ タスクおよびデータセットから複数の列を選択できます。
アクションを特定のデータ型に制限することもできます。データ型に関係なく、一致するすべての列に対してアクションを実行するには、データ型を UNSPECIFIED に設定します。
[次へ] をクリックします。
スコープをキーまたは Null 許容の列に制限することもできます。
-
変換アクションを設定します。次のアクションを実行できます。
-
列名を固定名に変更します。
-
プレフィックスまたはサフィックスを追加します。
-
プレフィックスまたはサフィックスを削除します。
-
プレフィックスまたはサフィックスを置換します。
-
列の文字を小文字または大文字に変更します。
-
式を使用して列名を置き換えます。
-
辞書を使って列名を置き換えます。
詳細については、「辞書を使ってデータセットまたは列の名前を変更する」を参照してください。
準備ができたら、[次へ] をクリックします。
-
-
ルールの名前を設定し、[完了] をクリックします。
列の追加
-
[列を追加] を選択し、[次へ] をクリックします。
-
変換スコープ、つまり列を追加するデータセットを設定します。% をワイルドカード文字として使用して、列を 1 つ以上のデータセットに追加できます。
[次へ] をクリックします。
-
新しい列の詳細を設定します。
-
列名。
-
式ビルダーを使用して、列の値を設定します。
-
この列を主キーとして使用するには、[主キーに追加] を選択します。
-
ターゲットのデータ型でデータ型を設定します。
-
データ型が BYTES、STRING、または WSTRING の場合は、長さも指定します。
データ型が NUMERIC の場合は、有効桁数とスケールも指定します。
準備ができたら、[次へ] をクリックします。
-
-
ルールの名前を設定し、[完了] をクリックします。
列のドロップ
-
[列をドロップ] を選択し、[次へ] をクリックします。
-
変換スコープ、つまりドロップする列を設定します。% をワイルドカード文字として使用して、1 つ以上のデータ アセットおよびデータセットから複数の列を選択できます。
アクションを特定のデータ型に制限することもできます。データ型に関係なく、一致するすべての列に対してアクションを実行するには、データ型を UNSPECIFIED に設定します。
[次へ] をクリックします。
スコープをキーまたは Null 許容の列に制限することもできます。
-
ルールの名前を設定し、[完了] をクリックします。
データ型の変換
-
[データ型の変換] を選択し、[次へ] をクリックします。
-
変換スコープ、つまりデータ型を変換する列を設定します。% をワイルドカード文字として使用して、1 つ以上のデータ アセットおよびデータセットから複数の列を選択できます。
アクションを特定のデータ型に制限することもできます。データ型に関係なく、一致するすべての列に対してアクションを実行するには、データ型を UNSPECIFIED に設定します。
[次へ] をクリックします。
スコープをキーまたは Null 許容の列に制限することもできます。
-
変換アクションを設定します。
-
[ターゲット データ型] を変換先のデータ型に設定します。
-
データ型が BYTES、STRING、または WSTRING の場合は、長さも指定します。
データ型が NUMERIC の場合は、有効桁数とスケールも指定します。
準備ができたら、[次へ] をクリックします。
-
-
ルールの名前を設定し、[完了] をクリックします。
参照先: データ型の変更による影響を理解する
列の値の置換
-
[列の値を置換] を選択し、[次へ] をクリックします。
-
変換スコープ、つまり値を置換する列を設定します。% をワイルドカード文字として使用して、1 つ以上のデータ アセットおよびデータセットから複数の列を選択できます。
アクションを特定のデータ型に制限することもできます。データ型に関係なく、一致するすべての列に対してアクションを実行するには、データ型を UNSPECIFIED に設定します。
[次へ] をクリックします。
スコープをキーまたは Null 許容の列に制限することもできます。
-
変換アクションを設定します。
-
ターゲット値に置換値を定義する式を設定します。
-
ターゲット データ型を、置き換えられた列のデータ型に設定します。
-
データ型が BYTES、STRING、または WSTRING の場合は、長さも指定します。
データ型が NUMERIC の場合は、有効桁数とスケールも指定します。
準備ができたら、[次へ] をクリックします。
-
-
ルールの名前を設定し、[完了] をクリックします。
辞書を使ってデータセットまたは列の名前を変更する
辞書を使ってデータセットまたは列の名前を変更します。これは、暗号関係の命名方法を使用する大量のオブジェクトを処理している場合に有用です。辞書エディターに翻訳を追加するか、または翻訳を含む CSV ファイルをインポートすることができます。辞書を CSV ファイルにエクスポートして、別のデータ アセットに再利用することもできます。
[辞書で名前を変更する] は、[データセットの名前を変更] または [列の名前を変更] を選択した場合に、[変換アクション] で表示されます。 をクリックして、辞書エディタを開きます。
-
[翻訳を追加] をクリックして、[ソース名] と [翻訳された名前] に情報を入力して、辞書に翻訳を追加します。
必要な翻訳を作成したら、[OK] をクリックして辞書エディタを閉じます。
翻訳のインポート
辞書を含む CSV ファイルから翻訳をインポートできます。ファイルには、行ごとに 1 つの翻訳が含まれている必要があります。例:
-
[CSV から追加する] をクリックして、インポートする CSV ファイルを選択します。
インポートされた辞書の翻訳が、辞書に追加されます。
翻訳のエクスポート
辞書を CSV ファイルにエクスポートして、別のデータ アセットで再利用することもできます。
-
[CSV にエクスポート] をクリックします。
辞書が CSV ファイルにエクスポートされます。
数式での変数の使用
数式エディタの [メタデータ] タブには、変換ルールの数式で使用できる次の変数が含まれます。
変数 | 説明 |
---|---|
$Q_D_COLUMN_DATA |
ソース テーブルの列値 |
$Q_M_COLUMN_NAME |
修正された列名。 |
$Q_M_DATATYPE_LENGTH |
列の修正されたデータ型の長さ。 |
$Q_M_DATATYPE_NAME |
列の修正されたデータ型。 |
$Q_M_DATATYPE_PRECISION |
列の修正されたデータ型の精度。 |
$Q_M_DATATYPE_SCALE |
列の修正されたデータ型スケール。 |
$Q_M_SCHEMA_NAME |
ソース スキーマの名前。 |
$Q_M_SOURCE_COLUMN_NAME |
ソース テーブルの列の名前。 |
$Q_M_SOURCE_DATATYPE_LENGTH |
ソース テーブルの列のデータ型長さ。 |
$Q_M_SOURCE_DATATYPE_NAME | ソース テーブルの列のデータ型。 |
$Q_M_SOURCE_DATATYPE_PRECISION |
ソース テーブルの列のデータ型の精度。 |
$Q_M_SOURCE_DATATYPE_SCALE |
ソース テーブルの列のデータ型スケール。 |
$Q_M_SOURCE_TABLE_NAME |
ソース テーブルの名前。 |
$Q_M_TABLE_NAME |
ソース テーブルの修正された名前。 |
以下の数式で、変換範囲にあるすべてのテーブルの名前を変更し、スキーマ名を接頭辞として追加することができます。
${Q_M_SCHEMA_NAME}||'.'||${Q_M_SOURCE_TABLE_NAME}。
これは例えば、dwprod スキーマのテーブル products の名前を dwprod.products に変更します。
ルールの管理
[ルール] ペインでルールを管理できます。
-
[ルール] をクリックします。
ルールの有効化/無効化、ルールの削除、およびルールの編集を行うことができます。