FUZZYJOIN コマンド
曖昧一致を使用して、2 つの Analytics テーブルのフィールドを組み合わせて 1 つの新しい Analytics テーブルにします。
メモ
単一の文字フィールドでほぼ同一の値(あいまい重複)を検出するには、FUZZYDUP コマンドを参照してください。
完全に一致するキー フィールド値を使用してテーブルを結合するときのさまざまなオプションについては、JOIN コマンドを参照してください。
構文
FUZZYJOIN {DICE PERCENT 割合 NGRAM n-gram 長|LEVDISTANCE DISTANCE 値} PKEY 主キー フィールド SKEY 副キー フィールド FIELDS 主フィールド|FIELDS ALL} <WITH 副フィールド|WITH ALL> <IF テスト> <OPEN> <FIRSTMATCH> TO テーブル名 <WHILE テスト> <FIRST 範囲|NEXT 範囲> <APPEND>
メモ
サーバーのテーブルに対してローカルで FUZZYJOIN コマンドを実行することはできません。
FUZZYJOIN コマンドはその全体を指定する必要があります。簡略化することはできません。
パラメーター
名前 | 説明 |
---|---|
DICE PERCENT 範囲 NGRAM n-gram 長 | LEVDISTANCE DISTANCE 値 |
使用するあいまい一致アルゴリズム DICE ダイス係数アルゴリズムを使用します
LEVDISTANCE レーベンシュタイン距離アルゴリズムを使用します
|
PKEY 主キー フィールド |
主テーブルの文字キー フィールドまたは式。 主キー フィールドは 1 つだけ指定できます。 |
SKEY 副キーフィールド |
副テーブルの文字キー フィールドまたは式。 副キー フィールドは 1 つだけ指定できます。 |
FIELDS 主フィールド | FIELDS ALL |
結合先の出力テーブルに含める、主テーブル内のフィールドまたは式。
メモ 結合テーブルに含める場合は、主キー フィールドを明示的に指定する必要があります。ALL を指定すると含まれます。 |
WITH 副フィールド | WITH ALL 省略可能 |
結合先の出力テーブルに含める、副テーブル内のフィールドまたは式。
メモ 結合テーブルに含める場合は、副キー フィールドを明示的に指定する必要があります。ALL を指定すると含まれます。 |
IF テスト 省略可能 |
各レコードを処理するために真である必要がある条件式。コマンドは、その条件を満たすレコードに対してのみ実行されます。 メモ IF パラメーターは、任意の範囲パラメーター(WHILE、FIRST、NEXT)が適用された後に、テーブルに残るレコードに対してのみ評価されます。 メモ IF 条件は、主テーブル、副テーブル、または両方を参照できます。 |
OPEN 省略可能 |
コマンドを実行した後、コマンドによって作成されたテーブルを開きます。コマンドが出力テーブルを作成する場合にのみ有効です。 |
FIRSTMATCH 省略可能 |
各主キー値が、最初に発生した副キー一致にのみ結合されることを指定します。 最初の発生が完全一致であった場合は、後続の主キー値のあいまい一致は、結合された出力テーブルに含まれません。 FIRSTMATCH を省略する場合、FUZZYJOIN のデフォルト動作では、各主キー値をすべての副キー一致に結合します。 FIRSTMATCH は、完全一致またはあいまい一致の一致が 2 つのテーブル間に存在するかどうかを確認し、すべての一致を特定するために必要な処理時間を減らしたい場合にのみ役立ちます。 各主キー値に対する一致が副テーブルで多くても 1 つだけであることが確実な場合は、FIRSTMATCH を使用することもできます。 メモ FIRSTMATCH は、ACLスクリプト パラメーターとしてのみ使用できます。このオプションは、Analytics のユーザー インターフェイスでは使用できません。 |
TO テーブル名 |
コマンドの結果を送信する場所:
|
WHILE テスト 省略可能 |
各レコードを処理するために真である必要がある条件式。条件が false と評価するか、テーブルの最後に達したら、コマンドは実行を中止します。 メモ WHILE を FIRST または NEXT とともに使用する場合は、1 つの制限に達するとすぐに、レコードの処理が停止します。 |
FIRST 範囲 | NEXT 範囲 省略可能 |
処理するレコード数:
範囲は処理するレコード数を指定します。 FIRST と NEXT を省略すると、すべてのレコードがデフォルトで処理されます。 |
APPEND 省略可能 |
コマンドの出力を既存ファイルに上書きしないで、そのファイルの末尾に追加します。 メモ コマンドの出力と既存のファイルの構造が同一であるようにする必要があります。
出力は、既存ファイルとの間でファイル構造が違っている場合でも、Analytics によって既存ファイルに追加されます。出力と既存のファイルの構造が一致しない場合は、データが混在、不足、不正確になります。 |
ISOLOCALE ロケールコード 省略可能 |
メモ Analytics の Unicode 版にのみ適用されます。 システム ロケールは「言語-国」の形式で入力します。たとえば、カナダ フランス語はコード「fr_ca」を入力します。 次のコードを使用します。
ISOLOCALE を使用しない場合は、デフォルト システム ロケールが使用されます。 |
例
あいまい一致を使用して、業者である可能性がある従業員を検索するための方法として、2 つのテーブルを結合する
次の例は、共通キー フィールドとして住所(Address および Vendor_Street フィールド)を使用し、Empmast および Vendor テーブルを結合します。
FUZZYJOIN コマンドは、完全一致またはあいまい一致の主および副レコードを含む新しいテーブルを作成します。結果は、同一の住所または類似した住所の従業員と業者のリストです。
FUZZYJOIN とダイス係数アルゴリズム
OPEN Empmast PRIMARY OPEN Vendor SECONDARY FUZZYJOIN DICE PERCENT 0.8000 NGRAM 2 PKEY Address SKEY Vendor_Street FIELDS Employee_Number First_Name Last_Name Address WITH Vendor_Number Vendor_Name Vendor_Street OPEN TO "Employee_Vendor_Match"
FUZZYJOIN とレーベンシュタイン距離アルゴリズム
OPEN Empmast PRIMARY OPEN Vendor SECONDARY FUZZYJOIN LEVDISTANCE DISTANCE 5 PKEY Address SKEY Vendor_Street FIELDS Employee_Number First_Name Last_Name Address WITH Vendor_Number Vendor_Name Vendor_Street OPEN TO "Employee_Vendor_Match"
すべてのフィールドを含める
このバージョンの FUZZYJOIN コマンドは、主テーブルと副テーブルのすべてのフィールドを結合された出力テーブルに含めます。
OPEN Empmast PRIMARY OPEN Vendor SECONDARY FUZZYJOIN LEVDISTANCE DISTANCE 5 PKEY Address SKEY Vendor_Street FIELDS ALL WITH ALL OPEN TO "Employee_Vendor_Match"
備考
メモ
このコマンドの動作の詳細については、Analytics のヘルプを参照してください。
大文字と小文字の区別
FUZZYJOIN コマンドは、使用するあいまい一致アルゴリズムに関係なく、大文字と小文字を区別しません。このため、"SMITH" は "smith" と同じです。
先頭と末尾の空白
FUZZYJOIN コマンドは、使用するあいまい一致アルゴリズムに関係なく、フィールドの先頭と末尾の空白を自動的に取り除きます。主および副キー フィールドを指定するときに、TRIM( ) または ALLTRIM( ) 関数を使用する必要はありません。