1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

BI導入前に一番苦労したのはSQLではなく「データの意味」を揃えることだった

1
Posted at

はじめに

以前、AS/400を利用した基幹システムのデータをBIで活用するためのデータ整備を行ったことがあります。

当時、一番苦労したのはSQLを書くことでも、ETLツールを使うことでもありませんでした。

本当に時間を使ったのは、

「同じ意味を持つデータを探し、業務上の意味を失わない形で整理すること」

でした。

今振り返ると、この作業こそが私にとっての「データの棚卸し」だったと思います。


最初に行ったのは、データを読み解くこと

この作業は、プロジェクトとして決められたものではありませんでした。

私はシステム部門へ相談し、AS/400へODBCで参照のみ行える権限を取得しました。

更新は一切行わず、データを読み取るだけです。

その状態で、ルーチンワークの合間を使って、

  • どんなテーブルが存在するのか
  • どんな項目があるのか
  • どの業務で使われているのか
  • 他のテーブルとどう関係しているのか

を一つひとつ調査し、Excelへまとめていきました。

当時は単なる一覧表を作っている感覚でしたが、後になって振り返ると、このデータ辞書がBI構築の土台になっていました。


同じ意味なのに項目名が違う

調査を進めると、すぐに大きな問題が見えてきました。

例えば、

  • 規格書
  • 社内加工実績
  • 社外加工実績
  • 受注情報

それぞれに、

  • 得意先コード
  • 商品コード
  • 作業No.

が存在します。

しかし、同じ意味であるにもかかわらず、項目名は統一されていませんでした。

人が見れば同じ意味だと分かります。

しかしコンピュータは項目名で判断するため、そのままでは別のデータとして扱われます。

そこで最初に行ったのは、対応表を作成することでした。

元データ 得意先コード 商品コード 作業No.
規格書 (システム固有) (システム固有) (システム固有)
社内加工実績 (システム固有) (システム固有) (システム固有)
社外加工実績 (システム固有) (システム固有) (システム固有)
受注情報 (システム固有) (システム固有) (システム固有)

BIではこれらを、

  • CustomerCode
  • ProductCode
  • WorkNo

という共通名称へ変換しました。

これにより、異なる業務データを横断して分析できるようになりました。


しかし、項目名を揃えただけでは分析結果は正しくならない

項目名を統一しても、分析結果がおかしいケースがありました。

その代表例が、

加工先と加工工程

です。

例えば実績データは次のようになっています。

加工先 加工工程
A社 印刷
A社 ドライラミネート
A社 押出ラミネート
A社 スリット
B社 印刷
C社 印刷
C社 ドライラミネート
D社 スリット

このデータを見て、

「加工先マスタ」

「加工工程マスタ」

だけを作ってしまうと、一見きれいに整理できたように思えます。

しかし実際には、

どの加工先が、どの加工工程を担当できるのか

という重要な業務情報が失われてしまいます。


BIは業務の意味までは理解してくれない

例えば、

「スリット工程だけを分析したい」

とします。

本来なら対象は

  • A社
  • D社

です。

ところが、

加工先と加工工程を別々に管理してしまうと、

存在しない組み合わせまで分析対象になる可能性があります。

逆に、

「A社だけ」

で分析すると、

印刷なのか、

ドライラミネートなのか、

押出ラミネートなのか、

スリットなのか、

区別できなくなります。

BIは高速に集計できます。

しかし、

データの意味までは理解してくれません。

だからこそ、

「加工先 × 加工工程」

という関係性を保持したデータモデルが必要でした。


私が見ていたのはデータではなく業務だった

私はもともと研究開発部門に所属していました。

研究では、

「目の前で起きている現象を、どのようにモデル化するか」

という考え方をします。

この経験は、データ整理でも非常に役立ちました。

私が見ていたのはデータそのものではありません。

データの向こう側にある業務です。

例えば、

  • 加工中の製品は、計画として扱うべきなのか。
  • 実績になるタイミングはいつなのか。
  • データはどの時点で登録されるのか。
  • リアルタイムで見えている数値は、本当に現場の状態を表しているのか。

こうしたことを現場と照らし合わせながら、一つずつ確認していきました。

データが期待どおりに分析できないとき、その原因はSQLではなく、

業務とデータの意味が一致していないこと

である場合が少なくありませんでした。


データの棚卸しとは「意味を整理すること」

以前は、

データの棚卸しとは

「どのテーブルに何があるか」

を調べる作業だと思っていました。

しかし実際は違いました。

本当に重要だったのは、

  • 同じ意味の項目を見つける
  • 項目名を標準化する
  • データ同士の関係を整理する
  • 業務上の意味を失わないデータモデルを作る

ことでした。

私は、この作業を続けた結果、

「データはどう登録されるのか」

「加工中のデータは計画なのか実績なのか」

「なぜBIで誤った結果になるのか」

といったことを判断できるようになりました。

データを集めることが目的ではありません。

現実の業務を、正しくデータで表現できる状態を作ること。

それが、私にとっての「データの棚卸し」でした。


おわりに

BIやダッシュボードでは、SQLやETLの実装に目が向きがちです。

しかし、それらが正しく機能するかどうかは、その前段階でどれだけデータの意味を整理できているかに左右されます。

私がAS/400のデータ整備を通じて学んだのは、

データ統合とは、データを集める仕事ではなく、業務の意味を再設計する仕事である

ということでした。

技術的な手順だけでなく、「なぜデータの棚卸しが必要なのか」という考え方については、noteでも整理しています。

データの棚卸しとは何か ― 物理の棚卸しと比較して見えた本質

技術だけでなく、データを「会社の資産」として捉える視点に興味がある方は、こちらも読んでいただけると嬉しいです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?