関数、スクリプト、変数の使用

変数とパラメータを使用した独立した再利用可能なオブジェクトの設計

Objective

After completing this lesson, you will be able to 独立した再利用可能なオブジェクトの設計

変数とパラメータ

定義

変数

変数は、ジョブが実行されるたびに変更される可能性がある値を表すプレースホルダとして機能する共通コンポーネントです。式で変数を識別しやすくするために、変数名はドル記号 ($) で始まります。これらは、Data Services でサポートされている任意のデータ型にすることができます。

変数は、グローバルまたはローカルのいずれかです。

  • グローバル変数
    • ジョブレベルで設定
    • 下位オブジェクトの割当または参照に使用可能
    • ジョブまたは実行プロパティ (もしくはその両方) で割当可能
  • ローカル変数
    • オブジェクト関連変数
    • 参照オブジェクトでは直接利用不可
    • スクリプトによってのみ割当可能

パラメータ

パラメータは、変数を呼び出す別のタイプのプレースホルダです。

この呼び出しにより、ジョブまたはワークフローの変数の値を依存ワークフローまたはデータフローのパラメータに渡すことができます。パラメータは、WHERE 句のデータをフィルタするために最もよく使用されます。

  • パラメータ
    • 入力または出力 (片道または 2 方向)
    • 変数およびパラメータの呼出タブで割り当てられます。
    • 変数を呼び出します

変数とパラメータの命名

命名規則

すべての名前をドル記号 ($) で開始し、テーブル内で接頭辞を命名規則として使用して、プロジェクト間の整合性を確保します。

Type命名規則
グローバル変数$G_
ローカル変数$L_
パラメータ$P_

グローバル変数とローカル変数およびパラメータ

ローカル変数は、それらが作成されるジョブまたはワークフローに制限されます。ローカル変数は、スクリプトによってのみ割り当てることができます。パラメータを使用して、ローカル変数をオブジェクトのワークフローおよびデータフローに渡すことができます。ローカル変数は、ワークフローまたはデータフローの定義の一部として含まれるため、ジョブ間で移植可能です。

グローバル変数も、その変数が登録されたジョブに制限されます。これらの値は、スクリプトによって割り当てることも、実行時に割り当てることもできます。そのジョブのワークフローおよびデータフローにパラメータを渡す必要はありません。グローバル変数は、ジョブの任意のオブジェクトの式で直接参照することができます。

注意

グローバル変数を使用する場合は注意してください。グローバル変数を使用するワークフローまたはデータフローはジョブ定義に依存するため、簡単に再利用できない可能性があります。

グローバル変数を使用すると、作業を簡略化することができます。スクリプトオブジェクト、外部ジョブ実行、またはスケジュールプロパティを使用して、グローバル変数の値を設定します。たとえば、本稼働中に、Designer でジョブを開くことなく、ジョブのスケジュールから実行時にデフォルトグローバル変数の値を変更することができます。

オブジェクトタイプ別の変数およびパラメータ

次の表に、オブジェクトのタイプごとに作成できる変数とパラメータをまとめます。

オブジェクトType使用者
ジョブグローバル変数ジョブ内の任意のオブジェクト。
ジョブローカル変数ジョブ内のスクリプトまたは条件式。
ワークフローローカル変数このワークフロー、またはパラメータを使用して他のワークフローまたはデータフローに渡されます。
ワークフローパラメータ変数を渡す親オブジェクト。ワークフローは、親オブジェクトに変数またはパラメータを返すこともできます。
データフローパラメータデータフロー内の WHERE 句、列マッピング、または関数。データフローは出力値を返すことができません。

グローバル変数のデフォルト値の設定

スクリプトを使用したジョブ内の変数の設定に加えて、ジョブプロパティを使用してグローバル変数のデフォルト値を設定および更新することができます。

ジョブのプロパティで設定された値は、スクリプトで設定された値と同様に処理されます。スクリプトとジョブプロパティの両方で同じ変数の値を設定すると、スクリプトの値によってプロパティの値が上書きされます。

ジョブプロパティとして定義されたすべての値が、プロパティウィンドウに表示されます。スクリプトの外部で値を設定することで、プロパティウィンドウを使用して、グローバル変数に設定された値を表示し、ジョブのテストまたはスケジュール時に値を簡単に編集することができます。

実行プロパティを使用したグローバル変数の設定

これらのデフォルト値は、Designer の [実行のプロパティ] ダイアログボックスで表示および編集することもできます。これにより、実行時にジョブプロパティ値を上書きすることができます。Data Services では、値がジョブプロパティとしてリポジトリに保存されます。

試してみる

まず、グローバル変数の使用について説明します。

ここでは、データフローをより簡単に再利用可能にする方法について見ていきましょう。

自分でテストする場合は、以下に進みます。