フィールドの一致
Analytics でテーブルを正しく結合するためには、まず、結合される 2 つのテーブル内の 1 つまたは複数のフィールドを一致させる必要があるかもしれません。
一致の概要
一致とは、別のテーブルの対応するフィールドの構造を同一にするプロセスのことです。たとえば、フィールドのデータ型を統一することなどが含まれます。
また、2 つの対応するフィールド内の値の書式を同一にすることも指します。ID 番号のハイフンの使い方を統一することなどが含まれます。
対応するフィールドの構造またはフィールドの値の書式が同一でない場合は、雑然としたデータが生じる結果となったり、結合操作を実行できない可能性があったり、または結合や関連付けで値を正しく照合できない可能性があります。
関数と演算フィールドを使用してフィールドを一致させる
Analytics 関数を使用して演算フィールドを作成することが、フィールドを一致させるための主要な手法です。たとえば、変換関数を使用すると、フィールドのデータ型をある型から別の型へ変換することができます。ほかの関数では、フィールド長、位置揃え、および大文字小文字を変更したり、フィールド内の値の書式を統一化したりすることができます。
2 つのフィールド間の不一致の程度によっては、正常にフィールドを一致させるために一連の関数を使用する必要があるかもしれません。
フィールドを一致させると、次の方法のいずれかを使用してデータを結合できます。
- 共通キー フィールドの結合または関連付けは、一致したフィールドと元のキー フィールドまたは 2 つの一致したフィールドを使用します。
- 1 つまたは両方のテーブルの追加、抽出と最後に追加、またはマージでは、1 つ以上の一致したフィールドが作成され、そのフィールドを基準に抽出が行われて、一致した演算フィールドは実際の演算値が入力された物理フィールドに変換されます。この抽出後のテーブルと物理フィールドをデータ結合操作で使用します。
詳細については、データの抽出と 演算フィールドの抽出と追加を参照してください。
フィールドを一致させるための Analytics 関数
フィールドを一致させるために使用できる Analytics 関数について、以下に概略を説明します。特定の関数の使い方の詳細については、『ACL のスクリプト作成ガイド』を参照してください。
Analytics 関数 |
カテゴリ |
目的 |
---|---|---|
STRING( ) |
データ型の変換 (N から C) |
数値データを文字データに変換します。 |
ZONED( ) |
数値データを文字データ(ASCII ZONED データ形式)に変換し、データの先頭にゼロを追加します。 |
|
VALUE( ) |
データ型の変換 (C から N) |
文字データを数値データに変換します。 |
CTOD( ) |
データ型の変換 (C または N から D) |
文字または数値の日付を日付データに変換します。 |
CTODT( ) |
文字または数値の日付時刻を日付時刻データに変換します。 |
|
CTOT( ) |
文字または数値の時刻を時刻データに変換します。 |
|
DATE( ) |
データ型の変換 (D から C) |
日付データを文字データに変換します。 |
DATETIME( ) |
日付時刻データを文字データに変換します。 |
|
TIME( ) |
時刻データを文字データに変換します。 |
|
STOD( ) |
データ型の変換 (シリアルの N から D) |
シリアル日付を日付データに変換します。 |
STODT( ) |
シリアル日付時刻を日付時刻データに変換します。 |
|
STOT( ) |
シリアル時刻を時刻データに変換します。 |
|
SUBSTRING( ) |
長さの調整 |
文字列の指定された部分を抽出します(既存の文字列全体と等しくすることができます)。フィールド長を短くしたり長くしたりするために使用できます。指定した長さが既存の文字列より長い場合は、末尾に空白が追加されます。 |
BLANKS( ) |
指定された長さの空白文字列を作成します。文字データの先頭または末尾に空白を追加するために使用できます。 |
|
LTRIM( ) |
長さ調整/両端揃え |
文字データから先頭の空白を除去します。 |
TRIM( ) |
文字データから末尾の空白を除去します。 |
|
ALLTRIM( ) |
文字データから先頭と末尾の空白を除去します。 |
|
RJUSTIFY( ) |
末尾の空白をすべて先頭の空白に変換させて、文字データを右寄せにします。 |
|
UPPER( ) |
大文字と小文字の変換 |
アルファベット文字を大文字に変換します。 |
LOWER( ) |
アルファベット文字を小文字に変換します。 |
|
PROPER( ) |
各単語の先頭文字を大文字にし、残りの文字を小文字に変換します。 |
|
INCLUDE( ) |
書式の変更 |
文字列から指定された文字を抽出します。 たとえば、英数字のデータから数字だけを抜き出すことができます。 |
REMOVE( ) |
文字列から指定された文字を抽出し、末尾に空白を追加することによって、元の文字列の長さを保持します。 |
|
EXCLUDE( ) |
文字列から指定された文字を取り除きます。 たとえば、英数字のデータから数字を取り除くことができます。また、"123-45-4536" からハイフンを除いて、文字列 "123454536" を出力することができます。 |
|
OMIT( ) |
文字列から、指定された文字または部分文字列を取り除きます。 たとえば、業者名から "Corporation"、"Inc." または "Ltd." を取り除きます。 |
|
INSERT( ) |
文字列に指定された文字を挿入します。 たとえば、"123454536" にハイフンを挿入して、文字列 "123-45-4536" を出力することができます。 |
|
SPLIT( ) |
文字データをスペースやカンマなどの区切り文字に基づいてセグメントに分け、指定されたセグメントを抽出します。 |
|
CLEAN( ) |
タブやキャリッジ リターンなどの無効な文字、および指定された任意の文字を文字列から削除し、それ以降のすべての文字と、削除された文字を空白に置き換えます。 |
|
REPLACE( ) |
既存の文字列のすべてのインスタンスを新しい文字列で置き換えます。たとえば、"Rd." を "Road" と置き換えることができます。 |
|
DEC( ) |
数値フィールドの小数点以下の桁数を指定します。 |