メイン コンテンツをスキップする 補完的コンテンツへスキップ

検証ルールの操作

検証ルールとは、データセット内にある異常の検出に役立つビジネス要件のセットのことです。データが準拠する必要のある値を定義します。条件を追加すれば、特定のデータのみに検証ルールが適用されるようになります。

情報メモQlik Talend Cloud Enterprise サブスクリプションが必要です。
  1. 検証ルールをスタンドアロン オブジェクトとして作成します。ルールを定義する時に、変数と特定の値を使用できます。

    検証ルールは汎用的であるため、変数とデータモデルの属性を関連付けることで各データセットにルールを適応させることができます。

    特定値の場合は、ルールを適用した全データセットで同じ値を使用できます。

  2. 検証ルールを適用し、フィールドに応じて変更します。

    検証ルールの変数とフィールドを関連付けます。あるフィールドにルールを適用すれば、他のフィールドのデータを検証できます。

  3. 検証ルールは値を分類して、データを検証します。
    • 値は有効です。ルールステートメントをすべて満たしています。
    • 値は適用できません。条件を満たしておらず、代替の検証式が定義されていません。
    • 値は無効です。条件式は満たしていますが、検証式は満たしていないか、これらの値でルールを実行できません。たとえば、ルールで文字列と数値を比較する必要がある場合などです。
    • 値は実行不可です。これらの値に対してルールを実行できません。たとえば、値が整数であるにもかかわらず、「yes」であるかどうかを検証しなければならない場合などです。

同じデータセット内であっても、必要な数の項目に同じ検証ルールを適用できます。

情報メモ検証ルールはスペースに応じて異なります。つまり、作業中のデータセットの品質は、アクセスできない検証ルールによって影響を受ける可能性があります。

検証ルールはデータセットの品質と Qlik Trust Score™ に影響します。詳細については、「データ品質の評価」および「Qlik Trust Score™」を参照してください。

Talend Studio で検証ルールを使用できます。詳細については、「tDQRules プロパティ」を参照してください。

検証ルールの作成

ルールを作成するには、[検証ルール]タブから行うか、データセットにルールを適用します。AI が作成した提案からルールを作成することもできます。詳細は、「データセットに検証ルールを適用する」を参照してください。

ルールを作成したら、そのルールをデータセットに適用できます。

このユース ケースでは、次の条件を満たす全員が献血候補者としてマークされていることを、献血センターの職員が確認する必要があります

  • 血液型が空ではなく、末尾が「+」または「-」で終わっていること。
  • 年齢が 18 歳以上かつ 71 歳未満であること。
  1. [データ品質] を開き、 [検証ルール] タブを選択します。
  2. 検証ルールがない場合は、 [追加] をクリックします。そうでない場合は、 [検証ルールを作成] をクリックします。
  3. BloodDonation」という名前を入力します。
  4. ルールを保存するスペースを選択します。
  5. 重大度として [Critical] (重大)] を選択し、カテゴリに [有効性] を選択します。これらの設定により、ルールがデータセットの品質に与える影響を調整できます。詳細については、「カテゴリと重大度のレベル」を参照してください。
  6. 説明を入力します。これはオプションですが、検証ルールの目的を明確にするために入力を推奨します。
  7. 条件を追加するには、 [条件を定義] をオンにします。[If] セクションと [Else] セクションがアクティブになります。
  8. [If] セクションでの設定:
    1. 変数名に「bloodgroup」と入力します。後でこの変数をデータセットのフィールドに関連付けます。
    2. [汎用] > [Is not empty] (空ではない) という演算子を選択します。
    3. [グループを追加] をクリックします。
    4. [If] セクションの上部で、グループには論理演算子 [Or ] (または)、すべての条件には [And] (かつ) を選択します。
    5. グループでは、前の手順を繰り返し、Rh 因子に関する条件を追加します。
      • bloodgroup が「+で終わる
      • bloodgroup が「-で終わる
    6. 前の手順を繰り返し、年齢に関する条件を追加します。
      • age >= 18
      • age < 71
  9. [Then] セクションでの設定:
    1. 変数名「cangive」を入力します。後でこの変数をデータセットのフィールドに関連付けます。
    2. Text > = true の演算子を選択します。

      Text 演算子は大文字と小文字を区別します。

  10. [Else] セクションは空のままにします。

    ルールの構成は次のようになります。

    検証ルールの構成
  11. [作成] をクリックします。

データセットに検証ルールを適用する

同じデータセット内であっても、異なるフィールドに同じ検証ルールを適用できます。同じフィールドに異なるルールを適用することもできます。

  1. データセットを開きます。
  2. [データ プレビュー] タブを選択します。
  3. フィールドをクリックします。右側にパネルが表示されます。
  4. [検証ルール] セクションから 検証ルールを適用するアイコン をクリックします。
  5. 適用するルールのチェックボックスを選択し、 [次へ] をクリックします。

    このウィンドウからルールを作成し、現在のデータセットにすぐに適用することもできます。このルールは、後で他のデータセットに適用することもできます。

  6. 以下のように検証ルールを適用または作成します。
    • 既存のルールを適用するには: 適用するルールのチェックボックスを選択し、 [次へ] をクリックします。
    • AI を使ってルールを作成するには:

      情報メモ

      AI データ品質検証ルール生成を使用するには、クロスリージョン データ処理にオプトインする必要があります。これにより、Qlik Cloud がテナントのリージョン外で一時的にデータを処理できるようになります。

      処理場所の詳細および最新情報については、「クロスリージョン データ処理の有効化」を参照してください。

      • このデータセットの提案をまだ作成していない場合は、[ルールを提案] を使用してください。
      • ルール提案がすでに生成されている場合は、[提案を表示] を使用します。
      • [新規作成] をクリックし、[新しいルールを提案] を選択して、新しいルール提案を生成します。提案は、サンプル データから最大 5 つの値に基づいて、データに一致した提案を生成します。

        この情報は顧客データとして扱われ、Qlik Cloud または GenAI モデルのトレーニングには使用されません。

        警告メモこの機能は生成人工知能 (GenAI) を使用します。GenAI 出力を使用または共有する前に、それを確認および検証し、その使用が特定のユース ケースに適切かどうか、および適用法に準拠しているかどうかを評価することはユーザーの責任です。
    • 手動でルールを作成するには: このウィンドウからルールを直接作成し、現在のデータセットにすぐに適用することもできます。
    情報メモデータセットに直接作成したルールは、他のデータセットにも適用できます。すべてのルールは [データ品質] > [検証ルール] にあります。
  7. 各変数をフィールドに関連付けます。このユース ケースでは、次のようになります。
    • bloodgroupBloodGroup に関連付けます。
    • ageAge に関連付けます。
    • cangiveGiver に関連付けます。
  8. 変更を適用してデータ品質を自動的に更新するには、 [品質を更新] チェックボックスを選択します。
  9. [適用] をクリックします。
  10. [品質を更新] を選択しなかった場合、ルールはグレーで表示されます。変更を適用し、データ品質を更新するには、右側のパネルの上にある [更新] をクリックします。

ルールはデータセットに適用され、データセットの品質と、変数が関連付けられているフィールドの品質を評価できます。

ルールが適用されるフィールドの列ヘッダーには、検証ルール アイコンが表示されます。アイコンにカーソルを合わせると、そのフィールドに適用されるルールの数が表示されます。

データセットとフィールドの品質を評価する

クオリティ バーでは、無効な値、 適用外の値、有効な値の割合を確認できます。パーセンテージはサンプルのみではなく、フィールドのすべてのデータに基づいて計算されます。

データセットのクオリティ バー

  1. データセットを開きます。
  2. [データ プレビュー] タブを選択します。
  3. 右側のパネルを開くには、ルールが適用されているフィールドをクリックします。
  4. パーセンテージを表示するには、クオリティ バーの色の上にカーソルを合わせます。
      左から右に最大 3 つの色が表示されます。
    • 赤: 無効な値。条件式は満たしていますが、検証式は満たしていないか、これらの値でルールを実行できません。たとえば、ルールで文字列と数値を比較する必要がある場合などです。
    • 薄緑: 適用外の値。値が条件を満たしておらず、代替の検証式が定義されていません。
    • 緑: 有効な値。ルールステートメントをすべて満たしています。

    このユース ケースでは、次のようになります。

    • 21.1% の値は無効です。たとえば、献血可能者としてマークされているが、血液型が未入力の場合などです。
    • 5.3% の値は適用外です。条件が満たされておらず、代替式も定義されていません。
    • 73.6% の値は有効です。血液型が入力されており、「+」または「-」で終わっていて、年齢が 18 歳以上 71 歳未満であり、その人が献血可能者としてマークされています。
    データセットのクオリティ バー。

フィールドのクオリティ バー。

情報メモクオリティ バーには、セマンティック タイプと検証ルールの結果が含まれます。詳細は、セマンティックタイプを管理をご覧ください。
  1. データセットを開きます。
  2. [データ プレビュー] タブを選択します。
  3. パーセンテージを表示するには、クオリティ バーの色の上にカーソルを合わせます。
      左から右に最大 3 つの色が表示されます。
    • 赤: 無効な値。
    • 黒: 空の値。
    • 緑: 有効な値。
    項目のクオリティ バー。
  4. 各色の詳細については、色をクリックしてください。右側のパネルが開き、検証ルールのセマンティック タイプとパーセンテージが表示されます。

無効な値は、左側に赤いバーが表示されます。

赤で表示される無効な値。

エラーの詳細については、赤いバーをクリックしてください。エラーは、検証ルール、セマンティック タイプ、またはその両方から発生する可能性があります。

データセットから検証ルールを編集する

この手順では、データセットから検証ルールのみを編集し、ルールを適用するフィールドを変更できます。

ルールの定義を編集する場合は、「検証ルールの編集」を参照してください。

  1. データセットを開きます。
  2. [データ プレビュー] タブを選択します。
  3. ルールを適用するフィールドをクリックします。
  4. 右側のパネルで、 [検証ルール] セクションにある 検証ルールを適用するアイコン をクリックします。
  5. 必要に応じてルールを編集します。
  6. 変更を適用してデータ品質を自動的に更新するには、 [品質を更新] チェックボックスを選択します。
  7. [適用] をクリックします。
  8. [品質を更新] を選択しなかった場合は、右側のパネルの上にある [更新] をクリックして変更を適用し、データ品質を更新します。

データセットから検証ルールを削除する

この手順では、スペースからルールを削除せずに、データセットからルールを削除できます。

スペースからルールを削除するには、「検証ルールの削除」を参照してください。

  1. データセットを開きます。
  2. [データ プレビュー] タブを選択します。
  3. ルールを削除するフィールドをクリックします。
  4. 右側のパネルで、アクション アイコン > [削除] をクリックします。
  5. 削除を確定します。
  6. 変更を適用し、データ品質を更新するには、右側のパネルの上にある [更新] をクリックします。

検証ルールのアクティブ化/非アクティブ化

データセットから検証ルールを削除する代わりに、次の 2 つのメニューから検証ルールを非アクティブ化できます。

  • [検証ルール] タブから:
    1. ルールにカーソルを合わせます。
    2. 右側で、アクション アイコン > [非アクティブ化] をクリックします。

      これにより、ルールが適用されるすべてのデータセットでルールが非アクティブ化されます。

    3. 影響を受けるデータセットのデータ品質を更新します。
  • データセットから:
    1. 非アクティブ化するルールを適用する項目をクリックします。
    2. 右側のパネルで、アクション アイコン > [非アクティブ化] をクリックします。
    3. 変更を適用し、データ品質を更新するには、右側のパネルの上にある [更新] をクリックします。

      ルールはグレーアウトされ、検証ルール のアイコンは列ヘッダーに表示されなくなりました。いつでも再度アクティブ化できます。[アクティブ化] がグレー表示されている場合、ルールはすべてのデータセットに対して非アクティブ化されています。

      ルールはこのデータセットに対してのみ非アクティブ化され、他のデータセットには引き続き適用できます。

ルールをアクティブ化するには、同じ手順に従って [アクティブ化] をクリックします。

検証ルールを編集する

この手順では、検証ルールを編集でき、そのルールが適用されるすべてのデータセットに影響を与えます。

ルールが適用される項目のみを編集する場合は、「データセットから検証ルールを編集する」を参照してください。

編集できるのは、アクセス権を持つスペース内のルールのみです。

  1. [データ品質] を開き、 [検証ルール] タブを選択します。
  2. リストから、ルールまたは アクション アイコン > [編集] をクリックします。
  3. 必要に応じてルールを編集します。
    情報メモカテゴリまたは重大度を変更すると、ルールがデータセットの品質に与える影響も変わります。詳細については、「カテゴリと重大度のレベル」を参照してください。
  4. [Save] (保存)をクリックします。
  5. ルールがデータセットに適用される場合、各データセットを開いて品質を更新します。

検証ルールを削除する

この手順は、ルールが適用されるすべてのデータセットに影響します。

データセットからルールのみを削除する場合は、「データセットから検証ルールを削除する」を参照してください。

削除できるのは、アクセス権を持つスペース内のルールのみです。

  1. [データ品質] を開き、 [検証ルール] タブを選択します。
  2. リストから、アクション アイコン > [削除] をクリックします。
  3. 削除を確定します。
  4. ルールがデータセットに適用される場合、各データセットを開いて品質を更新します。

カテゴリと重大度のレベル

カテゴリと重大度により、データセットの品質と Qlik Trust Score™ に対するルールの影響を調整できます。重大度のレベルによっては、他よりも影響が大きい場合があります。

[Categories] (カテゴリー)

あるカテゴリが他のカテゴリより重視されるわけではなく、すべてのカテゴリがデータセットの品質と Qlik Trust Score™ の [有効性] 軸に影響を及ぼします。

ルールが正確度カテゴリにある場合、それは正確度軸にも影響します。

詳細については、「データ品質の評価」および「Qlik Trust Score™」を参照してください。

重大度

重みが低いルールは、重みが高いルールよりもデータセットの品質と Qlik Trust Score™ に与える影響が少なくなります ([Critical] (重大) > [Major] (大) > [Standard] (標準) > [Minor] (小))。

例: 重大度が「重大度: Minor (小) 」に設定されたルールに対して 55 件の無効なレコードがあるデータセットでは、同じルールを「重大度: Major (大)」に設定した場合と比較して、スコアの低下が少なくなります。

演算子

ルールを定義するときに、データを検証するためのさまざまな演算子を選択できます。

情報メモ一部の演算子は Talend Studio ではサポートされていません。このルールは tDQRules コンポーネントの設定でサポート対象外と表示されます。他のルールを使用している場合でも、Job を実行できます。
ヒント メモText 演算子が大文字と小文字を区別するかどうかを設定できます。
カテゴリ 演算子 説明 タイプ
Genericis empty[Text/is blank] とは異なりますすべてのタイプnull 値と値 "" は空とみなされるため、有効です。
Genericis not empty[Text/is not blank] とは異なりますすべてのタイプnull 値と値 "" は空とみなされるため、無効です。
Textis blank[Generic/is empty] とは異なりますテキストnull 値、値 ""、値 "    " は空とみなされるため、有効です。
Textis not blank[Generic/is not empty] とは異なりますTextnull 値、値 ""、値 "    " は空とみなされるため、無効です。
Text=等しいTextOrderID = ORD#10
Text!=異なるTextOrderID != ORD#10
TextContains該当せずTextOrderID Contains ORD#10
TextDoes not contain利用不可TextOrderID Does not contain ORD#10
[Text] (テキスト)Starts with該当せずTextOrderID Starts with ORD#
[Text] (テキスト)で開始しない該当せずTextOrderID Does not start with ORD#
[Text] (テキスト)Ends with該当せずTextOrderID Ends with _XX
TextDOES NOT END WITH該当せずTextOrderID Does not end with _XX
[Text] (テキスト)正規表現に一致

詳細は、RE2/J documentationをご覧ください。

テキストPostalCode Matches regex ^[0-9]{5}(-[0-9]{4})?$
[Text] (テキスト)正規表現と一致しない

詳細は、RE2/J documentationをご覧ください。

テキストPostalCode Does not match regex ^[0-9]{5}(-[0-9]{4})?$
[Text] (テキスト)いずれかに一致する

セマンティック タイプではなく、制限された値のリストを使用する必要がある場合に、この演算子を選択します。

最大 150 個の値を追加でき、それぞれ最大 200 文字まで含めることができます。150 個を超える値が必要な場合は、セマンティック タイプを使用します。

TextCountry Is one of USA France Canada China
[Text] (テキスト)いずれにも一致しない

セマンティック タイプではなく、制限された値のリストを使用する必要がある場合に、この演算子を選択します。

最大 150 個の値を追加でき、それぞれ最大 200 文字まで含めることができます。150 個を超える値が必要な場合は、セマンティック タイプを使用します。

TextCountry Is not one of USA France Canada China
Number=等しい数値Age = 21
Number!=異なる数値Age != 0
Number< 未満 数値Age < 21
Number<=以下数値Age <= 20
Number> 超える数値Age > 20
数値>=以上数値Age >= 21
Booleanis true該当せずBooleanUser deleted is true
Booleanis false該当せずBooleanUser activated is false
Boolean=2 つのブール値項目のリレーションシップBooleanUser deleted = Account deactivated
Boolean!=2 つのブール値項目のリレーションシップBooleanUser activated != User deleted
[Type] (タイプ)is of semantic type選択したセマンティック タイプで値は定義されます。すべてのタイプCountry is of semantic type Country Code ISO3
[Type] (タイプ)is not of semantic type選択したセマンティック タイプでは値が定義されていません。すべてのタイプPhone is not of semantic type US Phone
DateIs in the last

正の整数を入力し、単位を選択します。

すべてのタイプShipment Is in the last 4 Hours
DateIs not in the last

正の整数を入力し、単位を選択します。

すべてのタイプShipment Is not in the last 110 Minutes
DateIs in the next

正の整数を入力し、単位を選択します。

すべてのタイプShipment Is in the next 90 Seconds
DateIs not in the next

正の整数を入力し、単位を選択します。

すべてのタイプShipment Is not in the next 28 Days
DateIs before

カレンダーを開き、日付と時刻を選択します。UTC+00 タイム ゾーンを使用して日付/時刻を選択する必要があります。

すべてのタイプBirthdate Is before 1/1/2008 12:00 AM
DateIs before or equal to

カレンダーを開き、日付と時刻を選択します。UTC+00 タイム ゾーンを使用して日付/時刻を選択する必要があります。

すべてのタイプBirthdate Is before or equal to 1/1/2008 12:00 AM
DateIs after

カレンダーを開き、日付と時刻を選択します。UTC+00 タイム ゾーンを使用して日付/時刻を選択する必要があります。

すべてのタイプBirthdate Is after 1/1/2008 12:00 AM
DateIs after or equal to

カレンダーを開き、日付と時刻を選択します。UTC+00 タイム ゾーンを使用して日付/時刻を選択する必要があります。

すべてのタイプBirthdate Is after or equal to 1/1/2008 12:00 AM
DateIs equal to

カレンダーを開き、日付と時刻を選択します。UTC+00 タイム ゾーンを使用して日付/時刻を選択する必要があります。

すべてのタイプBirthdate Is equal to 1/1/2008 12:00 AM
DateIs not equal to

カレンダーを開き、日付と時刻を選択します。UTC+00 タイム ゾーンを使用して日付/時刻を選択する必要があります。

すべてのタイプBirthdate Is not equal to 1/1/2008 12:00 AM
DateIs in the past

この演算子はプッシュダウン モードではサポートされていません。値は実行不可としてマークされます。

すべてのタイプShipment Is in the past
DateIs in the future

この演算子はプッシュダウン モードではサポートされていません。値は実行不可としてマークされます。

すべてのタイプShipment Is in the future

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。