EAI/ETL技術者のブログ

  • 業務システムとのデータ連携
2017.07.12

複数ファイルのデータチェックを自動化する方法

データチェックはEAIの得意分野です。今回は、EAI製品を使って複数ファイルのデータチェックを自動化する方法をご紹介します。


データチェックを手動で行っていませんか?

システムから出力されたファイルや、取引先から頂いたファイルのデータをチェックする際、どうしても目視によるチェックをしなければならない場面が存在します。例えば、システムにデータの整合性を保ちつつ出力する機能が無いことや、取引先があまり精度の高くないファイルを送付してくるケースなどが挙げられます。このようなチェックが必要となるファイルを月末の〆処理として、毎月大量に目視でチェックするような業務はありませんか?


データの目視チェックから脱却しましょう

目視によるチェックでは、大量のファイルをチェックせざるを得ない状況ですと、時間が大幅に掛ってしまいます。そして、人が介在するため、作業の抜け漏れが発生しやすく、修正による手戻りで想定以上の時間が掛ってしまうリスクがあります。

しかし、EAI製品を活用してデータチェックをすれば、面倒なデータチェックを迅速かつ正確に、様々な条件でチェックしながら定期的に実施することが可能です。

今回はEAI製品の例として「DataSpider」を使用し複数ファイルのデータチェックを行う処理を開発してみます。


EAI製品でデータチェック処理を行う方法

EAIデータ処理の流れ

大まかな開発の流れは下記の通りです。

①チェック対象ファイル名の一覧取得
 (特定ディレクトリ配下のファイル名を一覧で取得)

②チェック対象ファイルの読み取り
 (取得したファイルを1件ずつ読み取り)

③複数条件でのデータチェック
 (フィールドの値を列ごとに設定した条件でチェック)

④エラーレコードの書き込み
 (エラーとして認識したレコードをそのレコードを含むファイル名と共にCSV出力)


①チェック対象ファイル名の一覧取得

ファイル名一覧の取得

EAI製品を使うと、特定のディレクトリ配下のファイル名一覧をまとめて取得することが可能です。
ディレクトリのパスを指定するだけで簡単に取得することができます。

ディレクトリを指定してファイル名一覧を取得


②チェック対象ファイルの読み取り

チェック対象ファイルの読み取り

取得したファイル一覧より1ファイルずつ読み取りを行います。
EAI製品では、読み取りファイル名を変数に格納することで動的に読み取り対象を変えることができるので、毎回ファイルパスをファイル名ごとに変更する必要はありません。

指定したファイルの読み込み


③複数条件でのデータチェック

データチェック

インプットファイルを任意の条件でデータチェックします。
EAI製品では、様々なデータチェック条件を組むことが出来、データが指定の型か否か、正規表現にマッチしているかなどを条件として指定することが出来ます。

複数条件でのデータチェック処理


④エラーレコードの書き込み

エラーレコード出力

エラーになったレコードのみをCSVファイルへ出力します。
書き込み時にどのファイルにエラーレコードが存在していたかわかるようにファイル名を出力項目に加えます。


実行結果

以上で処理は完成ですので、実行してみましょう。

今回は例として、「日次の注文データをチェックする」という想定で処理を実行します。3日分のCSVファイルを用意し、データチェックしてみます。

CSVファイルの読み込み

CSVファイルには「商品名」「個数」「登録日付」の3項目があります。この3項目について、下記の条件でデータチェックを実施します。

  • 「全項目」→記載が漏れていないか(nullチェック)
  • 「個数」→数値で入力されているか(正規表現でチェック)
          範囲は「0個以上10000個以内」か
  • 「登録日付」→日付型のデータが記載されているか(型チェック)

データチェック条件一覧

条件を設定し、実行した結果は下記の通りです。

実行結果

項目の記載漏れや、正規表現にマッチしなかったレコードがまとめて出力されました。


まとめ

データチェックのような、データの整合性を比較する、確認するといった作業はEAI製品の得意分野です。
人が作業すると、どうしても時間が掛ったりミスが発生しがちです。そのような作業はEAI製品に任せてしまい、迅速かつ正確に業務を遂行する仕組み作りをしてみてはいかがでしょうか。


三村 高広 (みむら たかひろ)

東日本技術本部 情報基盤技術統括部

2015年株式会社アシストに入社。
入社以来、EAI/ETL製品の担当部署に配属し現在「DataSpider」の担当として活動中。
「EAI技術者のブログ」を通し、皆様に様々なEAI製品導入のメリットや効果をご紹介します。

関連している記事

  • 業務システムとのデータ連携
2023.08.30

データドリブンを加速させる データ連携・流通の重要性

「データドリブンの実践を加速させるデータ連携・流通の重要性」について解説します。

  • 業務システムとのデータ連携
2022.10.28

SAP ERPと周辺システム連携のよくある課題は?

ERPパッケージとして世界で最も導入されている「SAP ERP」。本記事ではSAP ERPと周辺システムとのデータ連携を検討する際の「よくある課題」をご紹介します。

  • 業務システムとのデータ連携
2022.01.28

データ連携は、ローコード・ノーコード開発が主流?

近年よく耳にするローコードやノーコード。本ページではローコードやノーコードとはどういった手法なのか、データ連携分野におけるローコード・ノーコードの位置づけなど、詳しくご紹介しております。

ページの先頭へ戻る