ルール仕様アセット > ルール仕様の概要 > ルール仕様の構造
  

ルール仕様の構造

ルール仕様アセットには、[定義]タブと[設定]タブにオプションが含まれています。[定義]タブのオプションを使用して、アセットの名前を入力し、必要に応じてアセットの説明を入力して、アセットを保存するフォルダを選択します。[設定]タブのオプションを使用して、ルール仕様ロジックを設定します。

基本モードの[設定]タブのオプション

基本モードの[設定]タブには、[デザイン]パネルと[プロパティ]パネルがあります。[デザイン]パネルを展開または折りたたむことで、設定用に追加したルールセットを表示または非表示にすることができます。ルール文を含むルールセットを設定するときは、[デザイン]パネルを折りたたむと、ルールセットの設定オプションが見やすくなります。
ルール仕様を作成する場合は、[設定]タブで一連の図形を設定します。図形はルールセットと呼ばれます。それぞれのルールセットは、ビジネスルールの1つの側面を表します。
ルールセットには、下位のビジネスルールの要件を定義する1つ以上のルール文が含まれます。各ルール文は入力データのカラムを読み取り、指定された条件を入力データが満たすことを確認します。
上位レベルのルールセットはプライマリルールセットです。プライマリルールセットはビジネスルールを要約したものです。プライマリルールセットからの出力により、入力データの各行がビジネスルールの要件を満たすかどうかを指定します。
次の図に、基本モードの[設定]タブ内のルール仕様を示します。
ルール仕様の設定を示す画像。
ルール仕様には次の要素が含まれます。
  1. 1プライマリルールセット
  2. 2プライマリルールセットの子ルールセット
  3. 3選択したルールセットのプロパティオプション
  4. 4選択したルールセット内のルール文
  5. 5システムが定義するルール文

詳細モードの[設定]タブのオプション

詳細モードでは、[設定]タブを使用して、単純式またはIF-THEN-ELSE構文でルールロジックを記述します。
詳細モードの[設定]タブには、式ロジックでビジネスルールを直接記述できるエディタが含まれています。
次の図に、詳細モードの[設定]タブ内のルール仕様を示します。
この図は、詳細モードのルール仕様アセットの[設定]タブを示しています。
[設定]タブには以下のオプションが含まれます。
  1. 1入力と出力の管理。
  2. 入力および出力の設定オプションを開きます。オプションを使用して、1つ以上の入力と出力を追加します。
  3. 2ルールエディタ。
  4. ルールロジックを記述するキャンバスが表示されます。
  5. 3検索と置換。
  6. 指定した値を検索して置換します。
  7. 4すべて選択。
  8. エディタパネルでスクリプト全体を選択します。
  9. 5テスト入力フィールド。
  10. Secure Agentが入力した式ロジックをテストするために使用する入力データが含まれます。
  11. 6テスト出力フィールド。
  12. テストの結果が表示されます。

ルールセット

ルールセットは、ルール仕様内を通る論理的なデータフローを定義します。基本モードでルール仕様を設定する場合は、ルールロジックを1つ以上のルールセットに編成します。データは、最下位のルールセットからプライマリルールセットまで、ルール仕様内を上方向に移動します。ルール仕様のルールセットの数は、ビジネスデータの論理的要件によって異なります。有効なルール仕様に単一のルールセットを指定できます。
ルール仕様の任意のルールセットの下にルールセットを追加できます。ルールセットには親子の関係があります。ルールセットを追加すると、その子ルールセットの出力が親ルールセットの入力になります。
注: 親ルールセットのルール文では、子ルールセットからの出力を入力として選択する必要があります。
ルールセットには、入力データを分析および更新するルール文が含まれます。単一ルール文を含むルールセットを設定することも、ルールセットに複数のルール文を追加することもできます。ルールセット内では、データは最初のルール文から最後のルール文に流れます。
ルールセットのコピーまたは移動は、ルール仕様の別の場所に実行したり、別のルール仕様のルールセットに実行したりすることができます。

入力と出力

入力は、ルール文が基本モードで分析できるデータフィールド、または式ロジックが詳細モードで分析できるデータフィールドを示します。出力は、ルール仕様内の操作の結果を表します。入力と出力は、作成時のルール仕様に固有のものです。
ルール仕様が実行時に分析するデータセットのカラムを表す入力を定義します。ルール仕様が実行時に生成するデータのカラムを表す出力を定義します。基本モードでは、ルールセットによって出力が生成されます。出力は詳細モードで定義します。詳細モードで定義した出力は、基本モードで設定されたルールの結果に対応します。
入力または出力を定義するときに、次のプロパティを設定できます。
-2147483648~2147483647の数値にはintegerデータ型を指定できます。整数範囲外の数値を読み取るには、floatデータ型またはdoubleデータ型を使用します。
基本モードでは、スケール、つまり小数点以下の桁数を設定できます。浮動小数点数値のデフォルトのスケールは4です。日付/時刻値のデフォルトのスケールは9に事前設定されています。日付/時刻値のスケールは変更できません。
基本モードのプロパティには、使用状況値も含まれます。使用状況値は、入力がルール仕様のルール文で出現する回数を示します。
基本モードでルールセットが使用する入力を確認するには、[設定]タブでルールセットを選択します。

入力のルールおよびガイドライン

ルール仕様の入力については、次のルールとガイドラインを考慮してください。

入力データ型とAmazon S3接続

Amazon S3 V2接続を介してファイルソースに接続するマッピングでルール仕様トランスフォーメーションを使用できます。たとえば、データ統合エラスティックでこのようなマッピングを実行できます。
ルール仕様トランスフォーメーションが使用するルール仕様アセットを構成する前に、次の要素を考慮してください。
コネクタの詳細については、データ統合オンラインヘルプの「コネクタ」のドキュメントを参照してください。

ルール文

基本モードでは、ルール文は、データカラムを分析し、分析結果に基づいて出力を生成する一連の演算子、条件、およびアクションです。ルールセットにルール文を追加します。
条件は、データ値に関する単一ファクトを決定するデータ操作です。ルール文には複数の条件を追加できます。アクションは、ルールセットから潜在的な出力を生成するデータ操作です。ルール文に追加した入力が、定義した条件を満たす場合に、アクションによってデータが生成されます。
ルール仕様は、ルールセットのルール文をすべて読み込みます。入力データの任意の行で、ルールセットは出力データを生成する最初のルール文からの出力を受け入れます。
各ルールセットにはシステム定義のルール文が含まれ、その他のルール文によって出力データが生成されない場合に実行するアクションが指定されます。システム定義のこのルール文は、ルールセットの最後のルール文です。システム定義のルール文のアクションは編集できます。デフォルトでは、ルールセットが出力データを生成しないことをこのルール文が指定するのは、その他のルール文が出力データを生成しない場合です。
詳細モードでは、式ロジックで同等のルールを記述できます。

ルール文のステータス値

ルール文が実行できるアクションには、ステータス値の生成が含まれます。ステータス値は、ルール文がアクションからの出力として生成できる事前定義された値です。ユーザー定義値の代わりにステータス値を生成するアクションを設定できます。
ルール文は、ステータス値として[有効]または[無効]を返すことがあります。ステータス値を変更することはできません。
ステータス値を使用して、次の目的を達成できます。
プロファイルにデータを提供する
データプロファイリングのスコアカードは、ステータス値を認識できます。ルール仕様がステータス値を出力として返す場合、スコアカードによってステータス値の数がデータ品質カテゴリとして報告されます。スコアカードがルール仕様の出力を読み取れるようにするには、スコアカードを生成するプロファイルにルール仕様をルールとして追加します。
例外レコードに関する情報をダウンストリームユーザーに提供する
レコードを例外として識別するようにルール仕様を設定できます。例外は、未解決のデータ品質問題を含むレコードです。
基本モードでレコードを例外として識別するには、ステータス値[無効]を返すようにルール文を設定します。プライマリルールセットのルール文に対する例外プロパティを定義します。
詳細モードでレコードを例外として識別するには、作成したルールロジックで定義する1つ以上のステータス値の例外インジケータを設定します。詳細モードでは、各例外レコードのデータ品質の問題をより詳しく説明するカスタムステータス値を定義できます。各ステータス値を、対応するデータ品質の問題に関連付けることができます。ステータス値ごとに異なる例外プロパティのセットを設定できます。