すべてのプロダクト
Search
ドキュメントセンター

Dataphin:品質ルールパラメータ構成

最終更新日:Nov 19, 2025

このトピックでは、品質ルールのパラメーター設定情報について説明します。

データテーブルパラメータ構成

データテーブルルール構成

テンプレートタイプ

説明

完全性/一意性

完全性-NULL値検証/空文字列検証

一意性-一意性検証/フィールドグループ数検証/重複値数検証:

  • 検証フィールド: 物理テーブルから検証するフィールドを選択します。

  • 検証テーブルデータフィルタリング: このオプションはデフォルトで無効になっています。有効にすると、検証テーブルのフィルター条件、パーティションフィルター、または通常のデータフィルターを設定できます。フィルター条件は、検証 SQL 文に直接追加されます。パーティションをフィルターするには、スケジューリング設定でパーティションフィルター式を設定できます。これにより、検証パーティションが品質レポートを表示するための最小粒度として設定されます。データフィルタリング条件を入力します。例:

    id = 12 --単一テーブル

    T1.id=12 and T2.name = "Zhang San" --2 つのテーブル

適時性

  • 式との時間比較:

    • 検証フィールド、検証テーブル データフィルタリング: 詳細については、「完全性/一意性」をご参照ください。

    • 比較項目: 時間を比較するための式で、組み込みパラメーター ${column}、${bizdate} があります。

      • 比較フィールドに基づいて式を定義します。${column} は比較項目の組み込みパラメーターです。例: ${column}, substr(${column})

      • ${bizdate} を選択して日付関数を比較する場合、それはデータタイムスタンプとして認識されます。

    • 時間差: 検証フィールド - (マイナス) 比較フィールド比較フィールド - (マイナス) 検証フィールド の選択をサポートします。単位項目の小数点前の値は丸めずに取得されます。たとえば、出荷日と注文日が同じ日である必要がある場合、検証項目 - 比較項目 を 1 日未満に設定できます。図のように、設定は次のとおりです。検証フィールド - 比較フィールド >= 1 日 および 検証フィールド - 比較フィールド < 1 日。

      image.png

  • 単一テーブルフィールド比較:

    • 検証フィールド、検証テーブル データフィルタリング: 詳細については、「完全性/一意性」をご参照ください。

    • 比較フィールド: 比較する物理テーブルのフィールドを選択します。

    • 時間差: 検証フィールド - (マイナス) 比較フィールド比較フィールド - (マイナス) 検証フィールド の選択をサポートします。単位の小数点前の値は丸めずに取得されます。たとえば、出荷日と注文日が同じ日である必要がある場合、検証項目 - 比較項目 を 1 日未満に設定できます。図のように、設定は次のとおりです。検証フィールド - 比較フィールド >= 1 日 および 検証フィールド - 比較フィールド < 1 日。

      image.png

  • 2 つのテーブルの時間間隔比較:

    • 検証フィールド、検証テーブル データフィルタリング: 詳細については、「完全性/一意性」をご参照ください。

    • 比較テーブルの選択: 比較する物理テーブルのテーブルとフィールドを選択します。

    • 関連付け式: 組み込みデータテーブルパラメーター T1 と T2。ここで、T1 は検出テーブル、T2 は比較テーブルです。例: T1.id = T2.id。

    • 時間差: 検証フィールド - (マイナス) 比較フィールド比較フィールド - (マイナス) 検証フィールド の選択をサポートします。単位項目の小数点前の値は丸めずに取得されます。たとえば、出荷日と注文日が同じ日である必要がある場合、検証項目 - 比較項目 を 1 日未満に設定できます。図のように、設定は次のとおりです。検証フィールド - 比較フィールド >= 1 日 および 検証フィールド - 比較フィールド < 1 日。

      image.png

妥当性

  • 列フォーマット検証:

    • 検証フィールド検証テーブル データフィルタリング: 詳細については、「完全性/一意性」をご参照ください。

    • コンテンツ認識フォーム: 認識式正規表現文字列一致 (%)開始文字列含む終了文字列 を選択できます。この式は、ルールに準拠するデータと照合するために使用されます。

    • 内容認識方法 - 認識式: SQL 式関数を入力します。例: ${column1}>0。ここで、${column} は組み込みパラメーターです。

    • コンテンツ認識フォーム - 正規表現: 正規表現を入力し、携帯電話番号、固定電話番号、ID カード番号、メールアドレス、銀行カード番号 など、組み込みの正規表現を選択できます。

    • コンテンツ認識フォーム - 文字列一致 (%): 標準の like 式。ワイルドカード文字として % を使用します。たとえば、「a」で始まるデータと照合するには、a% と入力します。

    • コンテンツ認識フォーム - 開始文字列: 照合する文字列を入力します。パターンに従って末尾に % が自動的に追加されます。例: a%。

    • コンテンツ認識フォーム - 含む: 照合する文字列を入力します。パターンに従って末尾に % が自動的に追加されます。例: %a%。

    • コンテンツ認識フォーム - 終了文字列: 照合する文字列を入力します。パターンに従って末尾に % が自動的に追加されます。例: %a。

  • 列の長さ検証:

    • 検証フィールド検証テーブル データフィルタリング: 詳細については、「完全性/一意性」をご参照ください。

    • フィールドの長さ: フィールドの長さの検証に使用されます。これを 列挙 または 範囲 に設定できます。列挙値検証の例: 3、6、9 と比較する場合、生成される検証 SQL 文は x in (3, 6, 9) です。

  • 列値ドメイン検証:

    • 検証フィールド検証テーブル データフィルタリング: 詳細については、「完全性/一意性」をご参照ください。

    • 値ドメインタイプ: 実際のビジネスニーズに応じて選択します。

      • テキスト: テキスト検証に使用されます。検証フィールドはテキストタイプである必要があります。[値の範囲]列挙 または 範囲 に設定します。列挙値検証の例: 張三と李四を比較する場合、生成される検証 SQL 文は x in ("Zhang San", "Li Si") です。

      • 数値: 数値検証に使用されます。検証フィールドは数値タイプである必要があります。[値の範囲]列挙 または 範囲 に設定します。列挙値検証の例: 3、6、9 と比較する場合、生成される検証 SQL 文は x in (3, 6, 9) です。

      • 日付: 日付の妥当性検証に使用されます。検証フィールドが日付タイプ (date) であることを確認する必要があります。日付フォーマット を設定する必要があります。年月年月日年月日時分秒 設定をサポートします。例: 年: 2021~2022、年月: 2022-01~2022-02。

      • タイムスタンプ: タイムスタンプの妥当性検証に使用されます。検証フィールドがタイムスタンプタイプ (timestamp) であることを確認する必要があります。

      • カスタム: 複数のフォーマットの検証に使用されます。関数の使用もサポートしています。入力した内容はデータソースに直接送信され、実行されます。

        値ドメイン範囲 を設定する必要があります。列挙 または 範囲 設定をサポートします。

        列挙値検証の例: 3、6、9 と比較する場合、生成される検証 SQL 文は x in (3, 6, 9) です。

        範囲検証の例: 値の範囲は最小値 y1 から最大値 y2 です。比較対象のフィールドが x の場合、最終的な検証 SQL 文は x >= y1 and x <= y2 です。

        説明
        • カスタムフィールドフォーマットを使用する場合、10 や "10" などの例は、データソースによって動作が異なる場合があります。

        • 使用する関数が、品質チェックを実行するデータソースで有効であることを確認する必要があります。

  • 参照テーブル検証:

    • 検証フィールド検証テーブル データフィルタリング: 詳細については、「完全性/一意性」をご参照ください。

    • データソースタイプ: データソースタイプを選択します。

    • データソース: データソースタイプに対応するデータソースを選択します。システムはデータソースの DB/スキーマを自動的に入力します。これは変更できます。データソースが Dataphin クラスターに接続できない場合は、手動で設定する必要があります。

      説明
      • パフォーマンス上の考慮事項から、データソース間の比較では最大 1000 件のルックアップテーブルデータレコードが読み取られます。ルックアップテーブルと検証対象のテーブルは同じデータソースにあることをお勧めします。

      • データソース間の比較のフィールドは、自動的に文字列型に変換されます。一部の特殊なフィールドタイプでは例外が発生する可能性があります。ルックアップテーブルのフィールドタイプと検証フィールドは両方とも文字列または他の同一のタイプであることをお勧めします。

    • 参照テーブル: ターゲット ルックアップテーブルを選択します。

    • ルックアップテーブル名: ルックアップテーブル名を入力します。これは、品質ルールを設定するときのプロンプト情報として使用されます。

    • ルックアップテーブル参照フィールド: ルックアップテーブルの対応する参照フィールドを選択します。

      説明

      ルックアップテーブル参照は、フィールドがルックアップテーブルに存在するかどうかを判断するために使用されます。比較するフィールドを選択する必要があります。たとえば、ユーザー詳細テーブルのすべてのユーザー ID が登録ユーザーであるかどうかを判断します。

    • ルックアップテーブル フィルター条件: パーティションテーブルのフィルター条件を設定してデータをフィルタリングします。

  • 標準参照テーブル検証 (データ標準モジュールをアクティブにする必要があります):

    • 検証フィールド検証テーブル データフィルタリング: 詳細については、「完全性/一意性」をご参照ください。

    • 参照テーブル: データ標準で公開されているルックアップテーブルを選択します。ルックアップテーブルを作成するには、「標準コード (ルックアップテーブル) を作成および管理する」をご参照ください。

    • ルックアップテーブル参照: ここで選択した参照値とフィールド値を比較します。コード値コード名コード英語名 を選択できます。

整合性

  • 列値整合性検証:

    • 検証フィールド検証テーブルデータフィルタリング: 詳細については、「完全性/一意性」をご参照ください。

    • 比較フィールド: 比較する物理テーブルのフィールドを選択します。

  • 列統計整合性検証:

    • [統計的手法]: フィールド数のカウント、フィールドの最大値の計算、文字の繰り返し率などを計算できます。詳細については、「安定性」をご参照ください。

    • [検証フィールド][検証テーブルデータフィルタリング]: 詳細については、「完全性/一意性」をご参照ください。

    • [比較フィールド]: 比較する物理テーブルのフィールドを選択します。

  • 単一フィールドビジネスロジック整合性比較:

    • 検証フィールド検証テーブルデータフィルタリング: 詳細については、「完全性/一意性」をご参照ください。

    • 認識式: SQL 式関数を入力します。例: ${column1}>0。ここで、${column} は組み込みパラメーターです。

      説明
      • 認識式では関数の使用がサポートされていますが、実行に使用するデータベースでこれらの関数がサポートされていることを確認する必要があります。

      • 複数のフィールド間のビジネスロジックを検証できます。たとえば、数式 total_sales = unit_price × sales_volume を使用して総売上高が正しいかどうかを確認するには、${total_sales}=${unit_price}*${sales_volume} を使用できます。

  • 2 つのテーブルの列値整合性検証:

    • 検証フィールド比較テーブルの選択関連付け式データフィルタリング: 詳細については、「適時性 2 つのテーブルの時間フィールド」をご参照ください。

    • 結合タイプ: これは、データ結果の合計行数、正常行数、異常行数の計算に影響します。 SQL プレビューで具体的なロジックを確認できます。 left join、right join、inner join、full join の 4 つの結合タイプをサポートしています。

      • left join: 検証テーブルに基づいて、合計行数や正常行数などのメトリックを計算します。

      • right join: 比較テーブルに基づいて、合計行数や正常行数などのメトリックを計算します。

      • inner join: 検証テーブルと比較テーブルの間で一致したデータに基づいて、合計行数や正常行数などのメトリックを計算します。 一致したデータのみを検証する必要があるシナリオに適しています。

      • full join: 検証テーブルと比較テーブルの両方のすべてのデータに基づいて、合計行数や正常行数などのメトリックを計算します。 2 つのテーブル間で強力な整合性を確保する必要があるシナリオに適しています。

  • 2 つのテーブルの列統計整合性検証:

    • 統計手法: フィールド数のカウント、フィールドの最大値の計算、文字の繰り返し率などを計算できます。詳細については、「安定性 メトリック」の説明をご参照ください。

    • 検証フィールド比較テーブルの選択検証テーブルデータフィルタリング: 詳細については、「適時性 2 つのテーブルの時間フィールド」をご参照ください。

    • 比較テーブルのデータフィルタリング: データフィルタリングの内容を入力します。例: city='beijing'

  • ソース間 2 つのテーブルのフィールド統計値の一貫性比較:

    • 統計メソッド: フィールドのカウント、フィールドの最大値の計算、文字の繰り返し率などを計算できます。詳細については、安定性 メトリックの統計メソッドの説明をご参照ください。

    • 検証フィールド: 検証するデータテーブル内のフィールドを選択します。

    • データソースタイプ: データテーブルのデータソースタイプを選択します。サポートされているデータソースタイプの詳細については、「Dataphin でサポートされているデータソース」をご参照ください。

    • データソース: このデータテーブルが属するデータソースを選択します。データソースの DB/スキーマはシステムによって自動的に入力されますが、変更可能です。外部データソースの場合は、手動で構成する必要があります。

    • 比較テーブルの選択: 比較するデータテーブル内のテーブルとフィールドを選択します。

    • 検証テーブル データフィルタリング: データフィルタリングの内容を入力します。例:

      id = 12 --単一テーブル

      T1.id=12 and T2.name = "Zhang San" --2 つのテーブル

    • 比較テーブルのデータフィルタリング: データフィルタリングの内容を入力します。例: city='beijing'

  • 2 つのテーブルの列処理ロジック整合性検証:

    • [検証フィールド][検証テーブルデータフィルタリング]: 詳細については、「完全性/一意性」をご参照ください。

    • ビジネスロジック: SQL 式関数を入力します。例: ${column1}>0。ここで、${column} は組み込みパラメーターです。

      説明

      複数のフィールド間のビジネスロジックを検証できます。たとえば、数式 total_sales = unit_price × sales_volume を使用して総売上高が正しいかどうかを確認するには、${T1.total_sales}=${T2.unit_price}*${T2.sales_volume} を使用できます。

安定性

  • テーブル安定性検証/テーブルボラティリティ検証:

    • [統計的手法]: フィールド数をカウントしたり、フィールドの最大値、文字の繰り返し率などを計算したりできます。詳細については、安定性 メトリックの統計的手法の説明をご参照ください。

    • [検証テーブルデータのフィルタリング]: 詳細については、「完全性/一意性」をご参照ください。

  • 列安定性検証/列ボラティリティ検証:

    • [検証フィールド][検証テーブルデータのフィルタリング]: 詳細については、「完全性/一意性」をご参照ください。

    • [統計的手法]: フィールド数をカウントしたり、フィールドの最大値、文字の繰り返し率などを計算したりできます。詳細については、安定性 メトリックの統計的手法の説明をご参照ください。

カスタム SQL

  • カスタム統計検証:

    SQL: select クエリ文をサポートします。クエリ オブジェクトにはメイン テーブルを含める必要があります。次に例を示します。

    select sum(sale) from tableA where ds=${bizdate};

  • カスタム詳細値検証:

    • 総行数用の SQL: 総行数をカウントするための SQL 文を入力します。例: select count(*) from tableA where ds=${bizdate};

    • 異常行数用の SQL: 異常行数をカウントするための SQL 文を入力します。例: select count(*) from tableA where ds=${bizdate} and age<0;

    • 異常データ用の SQL: 異常データをクエリするための SQL 文を入力します。例: select ${t1.c1} as dataphin_quality_error_data from ${t1} where ds=${bizdate} and ${t1.c1}<0;

説明

カスタム SQL ルールにカスタムルールテンプレートを選択した場合、設定セクションはテンプレートの変数フィールドをプロパティ値として自動的に解析します。テンプレート変数の説明に基づいてこれらの値を設定します。

データテーブル検証構成の説明

テンプレートタイプ

構成項目

説明

完全性

異常行 / 正常行 / 異常率 / 正常率

  • 正常行:ユニーク値行の数。

  • 正常率:ユニーク値行の数 / 総行数。

  • 異常な行:行の総数 - 正常な行の数。これは、count が 2 より大きいグループの sum です。

  • 異常率:1 - 正常率、または異常行 / 総行数。

    説明

    ユニーク値の定義:1 回だけ出現するレコード。つまり、グループ化後に count = 1 となるグループ。

一意性

異常行 / 正常行 / 異常率 / 正常率

  • 正常行:ユニーク値行の数。

  • 正常率:ユニーク値行の数 / 総行数。

  • 異常な行:総行数 - 正常な行数。これは、count が 2 より大きいグループの sum です。

  • 異常率:1 - 正常率、または異常行 / 総行数。

    説明

    ユニーク値の定義:1 回だけ出現するレコード。つまり、グループ化後に count = 1 となるグループ。

統計値

一意の値の定義を指し、count distinct 操作後のデータです。

統計値(重複行 / 重複率)

  • 重複行は、データ内の重複行の数をチェックするために使用され、余分な行のみをカウントします。アルゴリズムは、総行数 - 重複除去された行数です。

  • 重複率 = 重複行 / 総行数。

  • 重複データ行の総数/重複率を計算するには、一意性検証テンプレートの異常行/異常率メトリックを使用できます。

適時性、妥当性

異常行 / 正常行 / 異常率 / 正常率

  • 正常行:ユニーク値行の数。

  • 正常率:ユニーク値行の数 / 総行数。

  • 異常行: 総行数 - 正常行数。これは、sum が 2 より大きいグループの count です。

  • 異常率:1 - 正常率、または異常行 / 総行数。

    説明

    ユニーク値の定義:1 回だけ出現するレコード。つまり、グループ化後に count = 1 となるグループ。

整合性

統計的差異、統計的差異率 (%)

統計的差異:検証フィールド - 比較フィールド。

統計的差異率:検証フィールド / 比較フィールド。

安定性

統計値(1 日変動率、7 日変動率、30 日変動率)

テーブルの行数を 1 日前、7 日前、30 日前に収集された行数と比較し、変動率を比較し、設定されたしきい値と比較します。いずれかがルールを満たさない場合、アラームがトリガーされます。

カスタム SQL

異常行 / 正常行 / 異常率 / 正常率

  • 正常行:ユニーク値行の数。

  • 正常率:ユニーク値行の数 / 総行数。

  • 異常行: 総行数 - 正常行数。これは、count が 2 より大きいグループの sum です。

  • 異常率:1 - 正常率、または異常行 / 総行数。

    説明

    ユニーク値の定義:1 回だけ出現するレコード。つまり、グループ化後に count = 1 となるグループ。

統計値(1 日変動率、7 日変動率、30 日変動率)

テーブルの行数を 1 日前、7 日前、30 日前に収集された行数と比較し、変動率を比較し、設定されたしきい値と比較します。いずれかがルールを満たさない場合、アラームがトリガーされます。

メトリックパラメーターの構成

メトリックルールの構成

テンプレートタイプ

説明

一意性

[フィールドグループ数検証]/[重複値数検証]: データフィルタリングを構成する必要があります。

データフィルタリング: デフォルトでは無効になっています。有効にすると、検証テーブルのフィルター条件、パーティションフィルター、または通常のデータフィルターを設定できます。フィルター条件は、検証 SQL 文に直接追加されます。検証テーブルのパーティションをフィルタリングするには、スケジューリング設定でパーティションフィルター式を設定することをお勧めします。設定後、品質レポートは検証パーティションの最小粒度で表示されます。データフィルタリングの内容を入力します。例:

id = 12 --単一テーブル

T1.id=12 and T2.name = "Zhang San" --2 つのテーブル

安定性

列安定性検証/列ボラティリティ検証:

  • [データフィルタリング]: メトリックルール構成の [一意性] の説明と一致しています。

  • [統計手法]: メトリックの統計手法を選択します。

    • [フィールド数]: フィールドの COUNT 数を期待値 (つまり、固定値チェック) と比較します。

    • [フィールドの一意の値の数]: 重複排除後のフィールドの COUNT 数を期待値 (つまり、固定値チェック) と比較します。

    • [フィールドの合計値]: フィールドの SUM 値を取得し、固定値と比較します。

    • [フィールドの平均値]: フィールドの平均値を取得し、設定された固定値と比較します。

    • [フィールドの最大値]: フィールドの最大値を取得し、しきい値と比較します。

    • [フィールドの最小値]: フィールドの最小値を取得し、しきい値と比較します。

    • [フィールドの重複行]: 重複値の数を固定値と比較します (合計行数から重複排除後の数を引いたもの、つまり、フィールド内の重複値の数)。

    • [フィールドの重複率 (%)]: フィールドの重複数 / 合計行数。重複値の合計行数に対する比率を固定値と比較します。

    • [フィールドグループ数]: フィールドをグループ化した後のグループ数を取り、設定された固定値と比較します。

    • [フィールドの NULL 値の行]: フィールドの NULL 値の数を設定された固定値と比較します。

    • [フィールドの NULL 値の割合]: フィールドの NULL 値の数 / 行数。NULL 値の合計行数に対する比率を固定値と比較します。

メトリック検証の構成

テンプレートタイプ

構成項目

説明

一意性

フィールドグループの数

グループ化後のこのフィールドの数を、指定された静的フィールドと比較します。

統計 (重複行 / 重複率)

  • 重複行は、データ内の繰り返し行の数をチェックするために使用され、余分な行のみをカウントします。アルゴリズムは、合計行数から重複を除外した行数を引いたものです。

  • 重複率 = 重複行 / 合計行数。

  • 重複行の総数/重複率を計算するには、一意性検証テンプレートの異常行/異常率メトリックを使用できます。

安定性

統計値

一意の値の数で、count distinct 操作から取得されます。

統計値 (1 日変動率、7 日変動率、30 日変動率)

収集されたテーブル行の数を、1 日前、7 日前、30 日前に収集されたテーブル行の数と比較します。変動率を設定されたしきい値と比較します。これらの比較のいずれかがルールに準拠していない場合、アラームがトリガーされます。

平均変動検出 (7 日変動、30 日変動)

ベースライン値は、過去 7 日間または 30 日間のテーブル行の平均数であり、過去 7 日間または 30 日間の平均値の変動率と比較されます。

統計値 (当月の 1 日目と比較した変動率、前月と比較した変動率、前年と比較した変動率)

収集されたテーブル行の数を、当月の 1 日目、前月、前年のテーブル行の数と比較して、変動率を計算します。これらのレートは、設定されたしきい値と比較されます。比較のいずれかがルールに準拠していない場合、アラームがトリガーされます。

リアルタイムメタテーブルのパラメーター設定

オフラインリンク比較パラメータ構成

リアルタイムデータとオフラインデータが同じ統計取り込みエンドポイントロジックを使用する場合、リアルタイムとオフラインのデータ検証品質ルールは、データ間の差異を検出できます。差異が大きい場合は、データ品質に問題がある可能性があります。

パラメータ

説明

検証フィールド

検証が必要なフィールドを選択します。

[メトリック演算子]

データのアルゴリズムを選択します。

オブジェクトフォーム

[単一値データ][複数値データ] を選択します。

時間制約条件

時間制約のフィールドを選択します。

[条件制約の有効化]

[有効] または [シャットダウン] 条件制約を選択します。

オフラインデータ

ドロップダウンからオフラインデータテーブルを選択します。

オフラインデータ取得

デフォルトは [シャットダウン] です。有効にすると、SQL 文を使用してオフラインデータテーブルからデータを取得するように構成できます。

タイムゾーン設定

ドロップダウンからタイムゾーンを選択します。

マルチパス比較パラメーターの構成

ビジネスで強力な保証が必要なシナリオでは、リアルタイムのデュアルリンクまたはリアルタイムのトリプルリンク品質ルールを使用してデータを監視できます。異常が発生した場合、O&M 担当者はデータを迅速に切り替えたりバックアップしたりできます。リアルタイムのマルチリンク比較品質ルールは、データ保持や統計ドリフトなどの問題の監視をサポートします。

パラメータ

説明

検証フィールド

検証が必要なフィールドを選択します。

メトリック演算子

データのアルゴリズムを選択します。

オブジェクトフォーム

[単一値データ][複数値データ] を選択します。

[時間制限条件]

時間制限フィールドを選択します。

[条件制限の有効化]

条件制限に [有効] または [シャットダウン] を選択します。

比較リンクの数

品質ルールの比較リンク数を選択します。システムは、[リアルタイム 3 リンク比較][リアルタイム 2 リンク比較] の選択をサポートしています。

比較トレース 1/比較トレース 2

比較トレースデータとしてリアルタイムメタテーブルを選択します。

  • [リアルタイムデュアルトレース比較] をテンプレートとして選択した場合は、1 つのリアルタイムメタテーブルを選択するだけで済みます。

  • [リアルタイムトリプルトレース比較] をテンプレートとして選択した場合は、2 つのリアルタイムメタテーブルを選択する必要があります。

[タイムゾーン設定]

ドロップダウンリストからタイムゾーンを選択します。