データ品質定義からのルールの作成
プロジェクトのデータ品質定義からデータ品質ルールを作成できます。
複数のデータ品質定義を 1 つの表に適用することも、単一のデータ品質ルールで同じ定義を同じ表の複数の列にバインドすることもできます。
少なくとも 1 つのデータ品質定義がプロジェクトに存在している必要があります。 データ品質定義の管理を参照してください。
データ品質定義からデータ品質ルールを作成するには、以下のようにします。
プロジェクトを開き、クリック新しい資産 > データ品質の測定と監視。
あるいは、データ品質定義から直接ルールを作成することもできます。
詳細を定義する:
データ品質ルールの名前を指定します。
オプション: 説明を提供します。
このデータ品質ルールが提供するデータ品質ディメンションを選択します。 データ品質ディメンションは、このアセット内のルール・ロジックのデータ品質メトリックを記述します。 選択したディメンションは、レポート・カテゴリー、フィルタリング、または選択したデータの視覚化に使用できます。
以下のいずれかのオプションを選択できます。
- すべての事前設定ディメンションを適用
- この規則は、使用されるデータ品質定義に設定されているすべてのディメンションのスコアに寄与します。 これはデフォルト設定です。
- このディメンションのみを適用
- 規則は、選択されたディメンションのスコアにのみ寄与します。 この規則で使用されるデータ品質定義のディメンション設定は無視されます。 このオプションを選択し、データ品質ディメンションを設定しない場合、ルールの個々のチェックのデータ品質スコアが 「なし」 ディメンションに取り込まれます。
オプション: 作成するルールのタイプを、SQL ベースのルールに変更します。 この場合は、 SQL ベースのルールの作成の手順に進みます。
少なくとも 1 つのデータ品質定義を追加してください。 データ品質定義から直接ルールを作成する場合、その定義は既に事前選択されています。 ただし、この事前選択されたデータ品質定義を削除して、別のデータ品質定義を選択することはできます。
データ品質定義を追加するには、 「追加」 をクリックし、同じルール内で複数のチェックを作成するために使用するすべてのデータ品質定義を選択します。 「追加」 ボタンは、データ品質定義が選択されていない場合にのみ使用できます。 少なくとも 1 つの定義を追加した後、プラス・アイコンを使用してさらに定義を追加できます。
「データ品質定義の選択」 ダイアログのすべてのデータ品質定義について、構成済みのルール式がサイド・パネルに表示され、目的に最も適した定義を選択するのに役立ちます。
同じ定義を表の別の列に適用する場合は、選択したデータ品質定義を必要に応じて何度でも複製できます。
出力構成に応じて、パスしたチェックまたは失敗したチェックごとに、出力テーブル内に別個のエントリーが作成されることに注意してください。
バインディングを構成します。
データ品質定義ごとに、ルール式内のすべての変数にデータをバインドします。 列データ、リテラル値、またはジョブ・パラメーターを変数にバインドできます。 構成されているバインディングによっては、次のステップで説明するように結合を作成しなければならない場合があります。
バインディングを完了するには、 「前へ」 矢印と 「次へ」 矢印またはドロップダウン・リストを使用して、データ品質定義間を移動します。 バインディング表には、すべての変数とそのデータ型が表示されます。 変数ごとに、変数をバインドするバインディング・タイプとデータを選択します。
列データをルール内の変数に直接バインドすると、サポートされている接続のいずれかから取得したプロジェクト内のすべてのデータ資産のデータを使用できます。 キュレーションおよびデータ品質のためにサポートされるコネクターを参照してください。 個人の資格情報を使用して作成された接続からデータをバインドする場合は、まず接続をアンロックする必要があります。 接続からのデータ資産に加えて、ローカル・ファイル・システムからアップロードされた CSV 形式のファイルからのデータ資産、またはデータ・ソースへのファイル・ベースの接続からのデータ資産を処理できます。
ただし、バインディングがデータの前処理を必要とする場合や、出力表に追加情報を組み込む必要がある場合があります。 この場合は、 「バインディングの外部管理」 オプションを有効にして、 DataStageをアクティブ化します。 既存のバインディングがすべて削除され、 DataStage フローが作成されます。 デフォルトでは、 DataStage フローの名前は
ですが、この名前は変更します。 ルール構成の完了後に、 DataStage フローを構成します。 このような複雑なルールを作成し、バインディングを外部で管理すると、 DataStageでサポートされる接続からのすべてのデータ資産を処理できます。 DataStage コネクターを参照してください。<rule_name>_DataStage_flow
外部バインディングを持つデータ品質ルールが資産または列のデータ品質スコアに寄与するようにするには、その資産または列を対応するルールに関連項目として追加します。 「データ品質の検証」 関係タイプを使用します。 この関係タイプにリンクされているすべての資産および列について、同じスコアと問題が報告されます。
ルール変数を単一のリテラル値または列にバインドすることに加えて、プロジェクト・レベルのジョブ・パラメーターを処理することができます。
「リテラルへのパラメーター」 オプションを使用すると、ルール変数を、中央で管理され、実行時に変更できるリテラル値にバインドできます。 このようなパラメーターは、通常、ファクトまたは特定のデータを表します。 ルールで実際の値の代わりにパラメーターを使用することにより、値が変更された場合に、ルールが常に最新の値を使用するようにすることができます。
ルール変数をジョブ・パラメーターにバインドする前に、再使用可能な DataStage パラメーター・セットを作成する必要があります。
- プロジェクトで、新しいアセット > 再利用可能なパラメータセットを定義する。
- デフォルト値または値セットを使用してパラメーターを定義します。 ルールで使用するために、日付、整数、ストリング、浮動小数点、時刻、またはタイム・スタンプのタイプのパラメーターを定義できます。 暗号化されたタイプ、リスト、およびパスはサポートされていません。 パラメーターおよびパラメーター・セットの作成と使用を参照してください。
値セットを使用する場合は、ジョブ実行ごとに変数値を変更できます。 ランタイム・パラメーター値を編集して、ジョブを再実行してください。
保守を容易にするために、バインディングで使用する列をプロジェクト・レベルのジョブ・パラメーターとして定義することもできます。 列パラメーターは、資産 ID と列名で構成され、 DataStage パラメーター・セットにも保管されます。 新しいパラメーター・セットを作成することも、既存のパラメーター・セットに列パラメーターを追加することもできます。 この場合、タイプ・ストリングのパラメーターを作成し、必要な資産 ID と列名をデフォルト値として手動で入力する必要があります。 より簡単な方法は、ルールの作成時にバインディング・ステップでそのようなパラメーターを追加することです。
- 「バインディング・タイプ」として、 「列からのパラメーター」を選択します。 次に、 「パラメーターの選択」をクリックします。
- 使用可能なすべてのパラメーター・セットがリストされます。 作業対象のものを展開します。
- パラメーターを追加するには、プラス・アイコンをクリックします。
- パラメーター名を指定します。 「プロンプト」 フィールドはスキップします。 列パラメーターには使用されません。
- データ資産と列を選択します。 この選択は、パラメーターのデフォルト値として設定されます。
値セットは列パラメーターでは使用できないことに注意してください。 また、実行時に列パラメーターを変更することもできません。
複数のルールで使用される列パラメーターを更新する場合は、これらの各データ品質ルールを開き、 「ルールの実行」をクリックして再実行する必要があります。
結合を作成します。 バインディングが結合を必要としない場合は、次のステップに移動できます。 ただし、出力表で複数の表のデータを使用する場合は、該当する表への結合を作成する必要があります。 バインディングを外部で管理する場合、ルール構成で結合を作成することはできません。 結合は、 DataStage フローでも定義する必要があります。
バインディングに結合が必要な場合は、表がリストされます。 結合をセットアップすると、 「結合完了」 列にチェック・マークが表示されます。 「結合キー」 表で、定義する結合ごとに以下のステップを実行します。
「鍵ペアの追加」をクリックします。
「キー 1」をクリックします。 次に、結合で使用する最初の項目を選択します。
「キー 2」 をクリックして、2 番目の項目を選択します。
結合のタイプを選択します。
- Inner Join (内部結合)
- 選択された列に等しい値が含まれているレコードは、出力データ・セットに転送されます。
- 左外部結合
- キー 1 に対して選択された列のすべてのレコードが出力表に転送されます。 キー 2 に対して選択された列のレコードは、値が一致する場合にのみ転送されます。
- Right Outer Join (右外部結合)
- キー 2 に対して選択された列のすべてのレコードが出力表に転送されます。 キー 1 に対して選択された列のレコードは、値が一致する場合にのみ転送されます。
- 全外部結合
- 両方の表のすべてのレコードが出力表に転送されます。
結合タイプはいつでも変更することができます。 ただし、キー 1 またはキー 2 の選択を変更する場合は、既存の鍵ペアを削除して、新しい鍵ペアを作成する必要があります。
オプション: サンプリングを構成します。
データ資産のすべての行を評価する必要がない場合、または評価する必要がない場合は、データ・サンプリングを有効にします。 したがって、一部のデータに基づいて結果を生成することができます。
通常の接続データ資産の場合、サンプリングはデータ・ソースで行われます。 ほとんどのデータベースでは、レコードの順序は確定的ではありません。 したがって、サンプルに含まれるレコードは実行ごとに異なる可能性があります。これは、結果と出力表の内容 (構成されている場合) も時間の経過とともに変化する可能性があることを意味します。
照会ベースの接続データ資産の場合、サンプリングはデータ・ソースではなく、ルールに関連付けられている DataStage フローのサンプル・ステージで行われます。
サンプルの最大サイズを設定します。 データ・サンプルに含めたいレコードの最大数を選択します。 デフォルト値は 1,000 レコードです。
サンプリング方法を選択してください:
- 順次
- このサンプルには、データ資産の最初の x 個のレコードが含まれています。 データ資産のサイズに応じて、数値 x は、最大許容サンプル・サイズとして指定した値までにすることができます。 例えば、1,000,000 個のレコードがあり、最大サンプル・サイズとして 2,000 を指定した場合、サンプルには最初の 2,000 個のレコードが含まれます。
- 間隔
- サンプルは、最大許容サンプル・サイズに達するまで、 n番目のレコードごとに組み込まれます。 例えば、1,000,000 個のレコードがある場合に、サンプル・サイズを 2,000、間隔を 10 と指定すると、最大 20,000 個のレコード (2,000*10) が読み取られ、サンプル・サイズが 2,000 になるまで 10 個ごとにレコードが選択されます。
- RANDOM
- サンプルには、許容される最大サンプル・サイズまで、ランダムに選択されたレコードが含まれます。 レコードの選択に使用される式は、(100/sample_percent)*sample_size*2です。 この数式では、有効なサイズのランダム・サンプルを得るために十分な数のレコードが読み取られるように、数値 2 が使用されています。 例えば、1,000,000 個のレコードがあり、サンプル・サイズとして 2,000、パーセントとして 5 を指定した場合、サンプルには 2,000 個のレコードが含まれます。 サンプルを作成するために、最大 80,000 レコード ((100/ 5) * 2,000 * 2 = 80,000) が読み取られます。
- 「パーセンテージ」 フィールドで、サンプルの作成に使用するパーセンテージを指定します。 0 より大きく 100 までの値を指定してください。
出力の設定と内容を構成します。
ルールの出力をデータベースに書き込むかどうかを選択します。 そうでない場合は、一部の統計情報のみがルールの実行履歴に提供されます。 詳細については、 データ品質ルールの出力設定を構成するを参照してください。
構成を確認してください。 ルールが正しく構成されていることを確認するために、実際にプロジェクトに保存する前にテストすることができます。 ルール・テストの出力が直接表示され、出力設定で構成した内容と一致します。
設定を変更するには、タイル上の Edit アイコン(
)をクリックし、設定を更新する。
レビューが完了したら、 「作成」をクリックします。 ルールとそれに関連する DataStage フローがプロジェクトに追加されます。 DataStage フローのデフォルト名は
です。 このようなフローは編集しないでください。DataStage flow of data rule <rulename>
ルールが外部管理バインディングを使用して構成されている場合、 「作成」をクリックすると、ルールと DataStage フローおよびそのサブフローがプロジェクトに追加されます。 しかし、ルールを実行する準備ができていません。 ルールを実行する前に、 DataStage フローを編集する必要があります。 「作成」&「編集」 DataStage フローを選択することもできます。 この場合、ルールと DataStage フローとそのサブフローもプロジェクトに追加されますが、 DataStage フロー構成に直接移動します。 このような DataStage フローの名前は、
と<rule-name>_Datastage_flow
のパターンに従います。 フローの構成について詳しくは、 DataStage フローを参照してください。DataStage subflow of data rule <rulename>
情報が欠落していない状態でルールが正しく構成されている場合は、状況が 「作動可能」になります。 この状況は、ルールを実行できることを意味します。 ルール状況 「準備未完了」 は、一部の依存関係が変更されたためにルールを実行できないことを示します。 例えば、データ品質定義が更新されたか、ルールのバインディングで使用されている表が削除されました。 関連する DataStage フローが構成されていない場合、外部管理バインディングを持つルールについても、状況 「準備未完了」 が表示されます。 フローを構成した後、オーバーフロー・メニューから 「検証」 を選択してルールを検証できます。 検証が正常に完了すると、状況が 「準備完了」に設定され、ルールを実行できるようになります。
ルールが分析するデータ資産を変更した後、そのルールが無効になる可能性があります。 そのため、ルールを手動で実行する前に、どのような場合でもルール状況を検証することをお勧めします。
もっと見る
次のステップ
親トピック: データ品質ルールの管理