ルールセットのテスト - 7.0

Talend Big Data Platform Studioユーザーガイド

author
Talend Documentation Team
EnrichVersion
7.0
EnrichProdName
Talend Big Data Platform
task
ジョブデザインと開発
EnrichPlatform
Talend Studio

このタスクについて

このセクションでは、例を使用してパーサールールセットをテストする方法について詳細に説明します。

この例では、次のルールをテストします。

名前

タイプ

"SKU"

"Format"

"(DIGIT DIGIT|LETTER LETTER) '-'? DIGIT DIGIT DIGIT DIGIT (DIGIT DIGIT?)? "

"LengthUnit"

"Enumeration"

" 'm' | '\'' | 'inch' | 'inches' | '\"'"

"by"

"Enumeration"

"'X' | 'x' | 'by' "

"length"

"Format"

"(INT | FRACTION | DECIMAL) LengthUnit "

"Size"

"Combination"

"length by length"

"WeightUnit"

"Enumeration"

" 'lb' | 'lbs' | 'pounds' | 'Kg' | 'pinds'"

"weight"

"Format"

"(INT | FRACTION | DECIMAL) WeightUnit "

前提条件: Studioメインウィンドウでパーサールールセットを作成する方法および対応するテストビューにアクセスする方法を理解していること。詳細は、パーサールールセットの作成およびルールテストビューへのアクセスを参照して下さい。

注:

サンプルルールをインポートする必要がある場合、StudioのData Quality Demosプロジェクトで提供されているstandardization_examples > productディレクトリのproducts_parsingジョブのように、既存のジョブにtStandardizeRowコンポーネントを使用して実行できます。詳細は、『Talend Components Reference Guide』のtStandardizeRowコンポーネントを参照して下さい。

この例を複製するには、次の手順に従います。

手順

  1. [Interpreter] (インタープリター)テストビューの左上のルールリストで、[rule] (ルール)エレメントをクリックします。これは、ルールセット全体をテストする必要があることを意味します。
  2. テストビューの上部にドックされているデータサンプルボックスに、データサンプルの一部を入力します。
    この例では、34-9923, Monolithic Membrane 6125; four by eight sheet, 26 lbs 26 lbsと入力しています。このデータは、商品を記述しています。
  3. このデータサンプルエリアの右上にある保存ボタンをクリックしてこのテストケースを保存し、[Save test case] (テストケースの保存)ダイアログボックスにSKUなどの名前を入力します。
  4. [OK]をクリックします。
    テストケースは左下のテストケースリストに表示されます。[Interpreter] (インタープリター)テストビューは、次のように表示されます。
  5. 右上のボタンをクリックして、このテストを実行します。実行が終了すると、テスト結果がこのビューの下部に表示されます。
    この結果から、特定のルールを改善できる場所を容易に見つけることができます。データfour by eight sheetは、サイズを表しますが、適合する相当のルールはありません。そのため、新しいルールを追加するか、既存のルールを変更することが考えられます。どちらの方法をとるかは状況によって異なり、必ずしもどちらが良いかは判断できません。この例では、[Enumeration] (列挙)ルールを追加し、lengthルールおよびLengthUnitルールを変更してマッチングの精度を改善しています。

    名前

    タイプ

    "length"

    "Format"

    "(INT | FRACTION | DECIMAL ) LengthUnit | Number LengthUnit?"

    "Number"

    "Enumeration"

    "'four' | 'eight' "

    "LengthUnit"

    "Enumeration"

    " 'm' | '\'' | 'inch' | 'sheet' | 'inches' | '\"' "

    新しいlengthルールは、長さの単位を持つまたは持たないfourまたはeightが一致することを意味します。
    注:

    これらのルールを更新するには、ルールの記述に使用されるANTLR文法およびANTLR記号を把握する必要があります。詳細は、『Talend Components Reference Guide』を参照して下さい。また、ANTLRのWebサイトも確認して下さい。

  6. ルールテーブルの下にある保存ボタンをクリックしてリストビューを更新し、パーサーコードを再生成します。データサンプルエリアおよびテスト結果エリアは空になります。
  7. 左下のテストケースリストで、先ほど保存したSKUデータサンプルを選択します。
  8. 右上の再生ボタンをもう一度クリックして、このテストを実行します。実行が完了すると、新しいテスト結果が該当のエリアに表示されます。
    この結果から、four by eight sheetデータは[Combination] (組み合わせ)タイプのSizeルールに適合していることがわかります。
    注:
    [Combination] (組み合わせ)ルールのタイプはルール名の繰り返しができるため、テストビューにはそのいずれの名前も表示されません。ANTLR [Grammar] (文法)タブビューでは、[Combination] (組み合わせ)ルールの名前は必ずしも一意ではなく、重複エラーにならないようなコードとして生成されているわけではありません。次の図は、この例に対応するコードを示します。名前Sizeは常に引用符で囲まれたリテラル値になり、それと等価のコードエレメントはありません。一方、形式ルールSKUおよびlengthには、それらと等価のコードエレメント skulengthの間に使用します。ANTLR文法の詳細は、ANTLRのWebサイトを参照して下さい。
    必要に応じて、別のデータサンプルを使用して、これらのルールの改善を続けることができます。結果には必ずしも正解はなく、このテストビューで最適にニーズを満たすルールを組み立てることができます。