データベースの「データ型」を変える | 第3回 データクレンジング手法

AUTHOR :   ギックス

本記事は、株式会社ギックスの運営していた分析情報サイト graffe/グラーフ より移設されました(2019/7/1)

データベースのデータ型によって、分析できる範囲が変わる

データベースのデータ型によって、計算、比較の結果が異なります。そのため、データクレンジング処理として、データ分析しやすいデータ型に変換する必要があります。(「データ型」については、データ分析用語の解説記事において、別途ご紹介しています。)

データベースのデータ型を変える

CSVファイルには、当然、データ型は持っていません。その、CSVファイルを取込んだテーブル内の情報は、データ分析を行うには、扱いにくい場合があります。これを最適なデータ型に変換します。データベース内のテーブルのデータ型変換は、基本的にSQL命令で行うことができます。方法としては、変更対象テーブルからデータ型を変えた変更後のテーブルにデータを取得&追加を行うSQL命令で行います。(参考:データベースのテーブルとは)data_cleansing2
データ型を変換する命令は、SQL命令で持っています。しかし、変換関数は万能ではありませんので、変換する対象のテーブル項目のデータのパターンを理解する必要があります。例えば、文字列を日付型にする場合は、文字列の登録フォーマットを指定して日付変換命令を実行します。また、カンマ入り全角数字文字列を数字型に変換する場合は、複数の変換命令を組み合わせる必要があります。

データベースのデータ型によるデータ分析結果の違い

計算の違い

四則演算、集計(合計/平均)を行うためには、データ型は数値型である必要があります。しかし、データ型が文字型のテーブル項目に対して足し算を行った場合、文字列の結合結果が取得されるため、注意が必要です。また、データ型が日付型のテーブル項目に対して数値の足し算を行った場合、足された日数後の日付が取得されます。

比較方法の違い

数値型と文字型で、比較の方法が違います。例えば「4、10、53、219」というデータがあった場合、数値型の昇順ソート結果は「4、10、53、219」、文字型の昇順ソート結果は「10、219、4、53」になります。文字型が、数値と違う結果を返した理由は、文字型は、文字列先頭からの文字コードのコード値(数値)で比較しているためです。つまり、桁数の大小は、ソート順に影響されないことになります。

最適なデータ型で登録することでデータ分析の精度を上げる

このように、データ型の変更処理の複雑さ、不適切なデータ型を扱ったときのリスクについて、ご理解いただけたと思います。このような事態がデータ分析の度に発生しないよう、データ分析を行う前に最適なデータ型に変換する必要があります。次回からは、テーブルの項目を保管する方法について記載します。
【連載記事リスト】
1. データクレンジングとは
2. データベースに取込める形にデータファイルを加工
3. データベースのデータ型を変える
4. 扱いやすい単位にデータ加工
5. 管理情報を追加してテーブルを統合
6. ミスを少なくするために登録形式を統一する
7. ETLとは~あらゆるデータファイルを理解してデータベース化する~
8. 取り扱いが難しい文字を変換して快適なデータ分析を楽にする

SERVICE