関数を使用してデータをクリーニングする
Analytics の関数を使用して、データをクリーニングできます。さまざまな関数により、特定のニーズに応じて、さまざまなタイプのデータクリーニングを実行できます。
データのクリーニングが必要な理由
頻繁に、Analytics にインポートされるデータはクリーンではありません。つまり、完璧な書式または正規化が行われていません。書式設定が正しくないか、標準データではない場合、Analytics のコマンドが機能しないか、不正確な結果を返します。
データ クリーニングの仕組み
データをクリーニングするときには、実際のソースデータをクリーニングまたは修正していません。ソースデータは常に読み取り専用です。
代わりに、ソースデータを処理し、正しい書式と正規化の「仮想データ」に出力する関数にソースデータを入力します。次に、クリーニングされた仮想データを、元のソースデータではなく、Analytics のコマンドに入力します。
要点
1 つ以上の関数を使用すると、さまざまなデータ クリーニングまたはデータ準備タスクを実行し、ソースデータが一貫していない場合でも、効果的かつ正確に作業できます。データ準備はほとんどのデータ分析の基本的な事前準備タスクです。
空白スペースの削除
データの一貫しない空白スペースは不正確な結果の一般的な原因です。ALLTRIM( ) 関数を使用すると、先頭と末尾の空白スペースを削除し、正確な結果を保証します。
例:空白スペース
業者テーブルを都市で並べ替えますが、一部の都市名の先頭のスペースが不正確な並べ替えの原因です。
| Vendor_City 並べ替え |
|---|
| [ ] [ ] [ ] [ ] Salt Lake City |
| [ ] [ ] Chicago |
| Ann Arbor |
| Austin |
| Englewood |
| [ ] = 空白 |
ALLTRIM( ) 関数を使用して、先頭のスペースを削除し、正確な並べ替えを保証します。
ALLTRIM(Vendor_City)
| ALLTRIM(Vendor_City) 並べ替え |
|---|
| Ann Arbor |
| Austin |
| Chicago |
| Englewood |
| Salt Lake City |
メモ
ALLTRIM( ) 関数を Vendor_City フィールドに適用するには、ALLTRIM( ) を使用する演算フィールドを作成します。演算フィールドは後続のチュートリアルで検討します。
不要な文字の削除
一貫しない文字または重要ではない文字は、一般的に、データ分析を阻害します。Analytics のコマンドでデータを処理する前に、異なる関数を使用して、特定の文字のみを含めるか、特定の文字または文字列を除外できます。
自分で試す
以下の関数の例をコピーして、コマンドラインに貼り付け、戻り値を検証するか、異なる入力で実験できます。
コマンドラインでは、DISPLAY とスペースを例の前に置く必要があります。コマンドラインでの実験は前のチュートリアルで説明しています。
例:不要な文字
テーブルで重複テストを実行しますが、データの書式が一貫していないため、不正確な結果になります。
たとえば、一致しない書式の Phone Number フィールドで重複コマンドを実行すると、明らかに重複している次の 2 つの電話番号が重複として報告されません。
- (604) 555-1212
- Tel. No: 604-555-1212
すべての重複が検出されるようにするには、重複処理を実行する前に、関数を使用してデータを標準化します。
| タスク | 関数の例 |
|---|---|
|
データ番号の正規化 |
INCLUDE("(604) 555-1212", "1234567890")
6045551212 を返します INCLUDE("Tel. No: 604-555-1212", "1234567890")
6045551212 を返します INCLUDE( ) 関数には指定された文字のみが出力に含まれます。この場合は、0 ~ 9 の数値のみです。 ヒント 含める文字のセットが小さく、除外するセットが大きい場合は、INCLUDE( ) を使用します。 |
|
住所の正規化 |
EXCLUDE("#1550-980 Howe St.", "#.")
1550-980 Howe St を返します EXCLUDE("1550-980 Howe St", "#.")
1550-980 Howe St を返します EXCLUDE( ) 関数は出力から指定された文字を除外します。この場合ハッシュ記号 (#) とピリオド (.) です。 ヒント 含める文字のセットが大きく、除外する文字のセットが小さい場合は、EXCLUDE( ) を使用します。 |
|
住所を正規化し、番地の略語を削除する |
OMIT("#1550-980 Howe St.", " Street, St.,#")
1550-980 Howe を返します OMIT("1550-980 Howe Street", " Street, St.,#")
1550-980 Howe を返します OMIT( ) 関数は指定された文字と文字列を出力から除外します。この場合、ハッシュ記号 (#) と書式が一致しない St. と Street です ヒント 特定の文字列を除外し、文字列を構成する個別の文字を除外しない場合は、OMIT( ) を使用します。 たとえば、単位として出現する Street は除外しますが、別の単語の S、t、r、e、または t は除外しません。 |
次の学習ステップ
関数を使用して複数のタスクを同時に実行する方法を学習する: データを同時にクリーニングしてフィルタリングする