テーブル結合時の自動一致
Analytics で 2 つのテーブルを結合する場合、次の 2 つの状況ではキー フィールドを自動的に一致させます。
- 1 つの文字キー フィールドと 1 つの数値キー フィールドを使用します
- 長さが異なる文字キー フィールドを使用します
自動一致によって、特殊な結合が簡略化され、関連する作業を減らすことができます。
Analytics でキー フィールドを自動的に一致させる場合、その操作と関連する構文はコマンド ログに記録されます。
文字キー フィールドと数値キー フィールドによる結合の自動一致
Analytics では、文字キー フィールドと数値キー フィールドでテーブルを結合する場合、結合の実行時に VALUE( ) 関数を使用して文字フィールドを数値に変換することでデータ型を自動的に一致させます。
例
共通キー フィールドとして社会保障番号を使用して、2 つのテーブルを結合します。
- 1 つのキー フィールドには文字データとして書式設定された数値と記号が含まれます:555-44-3322
- 他のキー フィールドには数値データとして書式設定された数値のみが含まれます:555443322
Analytics は文字と数値の結合を自動的に調整するため、関数を使用して最初にフィールドを手動で調整せずに、標準結合を実行できます。
追加の詳細
- 文字フィールドに含まれるアルファベット文字、ハイフンやかっこなどの区切り記号は無視され、数値フィールドの値による一致で、数値のみを一致の対象とすることができます。
- アルファベット文字の位置は数値の一致に影響ありません。
- 文字フィールドの元のデータ型およびすべての文字(アルファベット文字と区切り文字を含む)は、結合後のテーブルに保持されます。
- 文字または数値フィールドを主キー フィールドにできます。
- 文字フィールドも、文字フィールドに含まれる数字も、数値フィールドとして同じ長さにする必要はありません。フィールド長に関係なく、同一の数字のみが一致します。
負の数値に関連する自動一致
文字キー フィールドと数値キー フィールドの自動一致では、負の数値の一致を直接サポートしません。VALUE( ) 関数の意図する動作に対応するため、Analytics は文字キー フィールドに対して ABS( ) 関数も使用します。この関数は結合の実行中、一時的にすべての数値を正の値に変換します。
負の数値を含むキー フィールドに自動一致を使用したい場合は、通常の方法で結合を実行した後、手動で編集したコマンドログ エントリを使用して結合を再度実行し、VALUE( ) 関数のみを文字キー フィールドに適用するようにします。この方法は、文字キー フィールドと負の値を含む数値キー フィールドによる結合時には正しい結果が得られますが、どちらかのフィールドに数値以外のデータが存在する場合は正確に動作しません。
文字キー フィールド長の自動一致
長さの異なる文字キー フィールドを選択した場合、Analytics ではテーブル結合の実行時に、短い方のフィールドに空白を追加してフィールドの長さを自動的に一致させます。短い方のフィールドの元の長さは、結合後のテーブルに保持されます。
フィールド長の自動一致は、文字ベースの演算キー フィールド、および複数の文字キー フィールドで構成される共通キーに対しても動作します。
フィールド長を自動的に一致させるのは文字キー フィールドのみです。数値や日付時刻のキー フィールドでは長さの自動一致を行いません。
調整に影響されない値の一致
文字キー フィールドの長さを一致させても、値の一致については値自体の厳密な一致が必要です。たとえば、値がショート バージョンとロング バージョン("ABC" と "ABC Corporation" など)の場合、これらの値が、長さを一致させたフィールドに含まれていたとしても、一致は発生しません。