ETLとは
ETL(Extract、Transform、Load)は、データを抽出し、利用に適した形に変換してから格納する一連の処理です。例えば、店舗と通販の販売記録から売上日や金額を取得し、日付の形式や商品コードを揃えて分析用の保存先に登録します。異なる場所にある情報を共通の条件で集計するための準備です。

データウェアハウスは、分析に使うデータを蓄積する場所です。それに対し、ETLはデータウェアハウスなどの保存先に入れるデータを準備し登録する処理を指します。複数の売り場から届いた伝票を、経理担当者が同じ書式に整理して台帳に登録する作業に似ています。ETLはその整理と登録を、定めた規則で実行します。
データが集計できるまで
例えば、店舗と通販の売上を同じ画面で比較したい場合、それぞれの販売記録には別の項目名や日付形式が使われているかもしれません。ETLでは次の順序で分析用のデータを準備します。
- 抽出: 店舗と通販の販売記録から、売上日・商品・金額など必要な項目を取得する
- 変換: 日付の形式や商品コードを揃え、返品をどのように扱うかなどの規則を適用する
- 格納: 整理した結果をデータウェアハウスなどの保存先へ登録する
変換には、項目の形式を揃えるほか、重複を除く、データを組み合わせる、金額を集計するといった処理があります。店舗と通販で同じ商品に別のコードを使うなら、対応表を用意して集計時に同じ商品として扱います。対応表にないコードは担当者が確認し、勝手に別の商品へ割り当てないようにします。顧客IDも表記を揃えるだけで同一人物と判断せず、システム間の対応関係や重複を確認します。売上から返品を差し引くかも、業務を知る人が規則を決める必要があります。

同じ作業を定期的に実行すれば、毎回ファイルを手で集めて加工する負担を減らせます。ただし、元の記録が誤っている場合や変換規則が適切でない場合は、整形した結果も正しい数字とは限りません。
ETLとELTはどう選ぶか
格納する前にデータを加工する必要があるならETLを検討します。例えば、分析用の保存先に個人を識別できる情報を置けない場合、必要な項目だけを選び、格納前に加工する構成を検討できます。氏名を除いても、他の情報と照合すれば個人を識別できる場合があります。加工後の情報を確認し、元データを扱う環境や、一時保存・保管する場所も含めて閲覧権限と保存期間を決めます。
一方、ELT(Extract、Load、Transform)は、抽出したデータを先に保存し、その後で必要に応じて変換する方式です。元データを保存先に保持でき、後から異なる規則で加工したい場合に検討できます。ETLでも元データを別の場所に保持できれば再加工は可能なので、必要な履歴をどこに残すか確認します。

ELTを選べば必ず安い、ETLなら安全というわけではありません。保存する情報の範囲、加工に使う環境、処理量、アクセス権限を含めて比較します。1つのデータ基盤で両方の方式を組み合わせることもできます。
更新と保守で決めておくこと
ETLを定期実行する場合、何時のデータまで集計画面に反映するかを決めます。例えば、前日の売上を翌朝の会議で使うなら、会議までに処理が完了しなかった場合の連絡先と対応も決めます。更新が失敗したまま前回の数字が表示されると、利用者は古い情報で判断する可能性があります。画面に最終更新時刻を示し、失敗したときは担当者に通知する方法があります。変換の前後で件数や金額を比較し、返品の除外など意図した差か確認することも必要です。
元のシステムで項目名や商品コードが変更されると、変換規則の修正が必要になる場合があります。処理の失敗を検知し、再実行で同じ売上を重複して登録しない方法も用意します。利用者が数字の意味を確認できるよう、返品の扱いなどの規則と更新時刻を記録します。

単発の集計で、少量のデータを担当者が確認しながら処理できるなら、専用のETL基盤を作る前に表計算などの手段で十分な場合があります。複数のデータを毎週結合し、複数人で使う場合は、年間の手作業と修正に要する時間と、自動処理の構築・監視・規則の変更に要する時間を比較します。表計算でデータをコピーし、加工して保存する手作業も、抽出・変換・格納にあたります。Excelで使えるPower Queryには、これらの処理を支援する機能があります。専用のツールを使うかどうかは、作業の頻度と保守を担う人材を含めて判断します。
お問合せ
事業の課題や技術的な悩みなどどんなことでもお聞かせください



