はじめに
社内のデータ活用を推進するためには、必要なデータを使いやすい形で保存することが必要不可欠です。
弊社ではデータ基盤構築初学者向けの学習の一環で模擬案件を通したデータパイプライン構築の勉強会を実施しています。
勉強会ではトランザクションデータと分析ユースケースをもとに使用データの調査を行うところから始め、データモデリング、ディメンション表(ER図)作成、BigQueryでのデータマート構築までを行いました。
勉強会の内容を紹介することを通して、必要なデータを使いやすい形に整備するためのデータモデリングの進め方やデータパイプライン構築の進め方を前編・後編に分けて解説したいと思います。
本記事ではデータソースと分析ユースケースの調査からデータモデリングを行う工程を紹介します!【前編】
- 使用データの調査
- 分析ユースケースの調査
- データモデリング
【後編】
- データパイプライン設計
- データ基盤アーキテクチャの概要設計
- データマート構築
このような方におすすめ
- データ基盤構築の初学者
- トランザクションデータから分析用データマートを作りたい方
- 実践的なデータマート構築手法を学びたい方
実際にデータマートを構築実装する工程は別の記事で紹介します!
目的
データ基盤構築を実施したことがない社員向けに、模擬案件を通してデータモデリング手法やデータパイプライン構築を実践し、分析用データマート設計構築スキルを身につけることを目的としました。
メンバー構成
- 参加者:7名
- チーム編成:3チーム
- 進め方:週次定例ミーティング(通常業務の合間に実施)
使用した環境
使ったデータ
microsoft社が公開しているAdventureWorksサンプルデータベースを使用しました。
SQL Serverの説明で良く使われるサンプルデータベースです。
このデータはSQL Serverデータベースのバックアップファイルとして提供されており、SQL Serverに復元(リストア)することで模擬的なトランザクションデータベース環境を構築することができます。
このデータは架空の自転車メーカーを想定して作られており、
事業領域: 自転車および自転車部品、関連商品の製造販売 販売チャネル:B2BおよびB2C 販売拠点: グローバル展開 販売形態: ECサイト(オンライン)、販売代理店、電話注文等
となっています。
進め方
おおまかな進め方
データマート構築にあたり、必要となる工程はおおよそ以下となります。
- トランザクションデータベースの調査
- 分析ユースケースの調査
- データモデリング
- Busmatrix表作成
- ハイレベルスタースキーマ設計
- ディメンション表設計(ER図作成)
- テーブル詳細設計
- データパイプライン設計
- データ基盤アーキテクチャの概要設計
- アーキテクチャ環境の構築
- データマート開発
※本記事では上記1~4までの工程を紹介したいと思います。
1.トランザクションデータベースの調査
AdventureWorksデータベースは広くサンプルデータベースとして認識されているデータベースであるため、ER図を作成して公開しているサイトがいくつかあります。 そのようなサイトで公開されているER図を参考に、トランザクションデータの詳細を確認しました。
参考サイト:https://www.dbdiagrams.com/sql-server/sql-server-adventureworks-diagram/
スキーマ構成は以下になります。
スキーマ名と概要
Person: 顧客や従業員などの個人情報 Sales: 取引・顧客・受注・通貨など Production: 製品、在庫、製造手順、部品構成 Purchasing: 仕入先や購入情報 HumanResources:従業員・部署・雇用履歴など
2.分析ユースケースの調査
分析ユースケースとしてMicrosoftのコミュニティサイトで公開されているダッシュボードを取り上げました。
対象としたダッシュボード

このダッシュボードがどういう状況で使用されるものなのか、利用者と利用シーンを想定します。 おおよそ”Sales”セクション、”Product”セクション、”Internet/Reseller”セクションから構成されており、売上/利益の時系列分析、製品ごとの売上/利益、販売チャネルごとの売上の分析ができます。
マネジメント層が閲覧し、概要として売上/利益状況を把握した上で、製品ごとの生産計画や販売チャネルごとのマーケティング戦略を検討するために使用するものだと考えました。
3.データモデリング
まずはダッシュボードに必要となるデータ(ファクト,ディメンション)・データ粒度・データ期間を洗い出すために、ダッシュボードに使用されるデータのBusmatrix表を作成しました。
Busmatrix表

Busmatrix表を作成することで、下記のメリットがあります。
- 売上はどの切り口で分析すべきか?といったビジネス要件とデータ構造の関連性を俯瞰して確認することができる。
- 各業務プロセス単位に段階的にデータマートを構築することを可能にする。
次に作成したBusmatrix表を元に、ハイレベルスタースキーマ設計を行います。
Busmatrix表を作成していたことでファクトとディメンションの結びつきが明らかになっているので、 スキーマ設計も比較的簡単にできますね。
ハイレベルスタースキーマ設計図
4.ディメンション表設計(ER図作成)
次にハイレベルスタースキーマ設計をベースにディメンション表を作成します。 ER図のようにファクトとディメンションの関係を図に起こしながら、 ディメンションテーブルのカラム構成を策定し、ファクト表と結合する際のキーとしてどのカラムを使用するかを定義していきます。
ER図
ディメンション表設計を行うことで、テーブル詳細設計のインプットとすることができます。
どのファクトをどのディメンションで分析できるのか?も一目瞭然です。
まとめ
本記事では弊社で行ったデータ基盤構築勉強会の内容から、 トランザクション表と分析ユースケースを元にデータモデリングを行うまでの工程を紹介しました。
データモデリングを行うことでビジネス要件に適合したデータ構成設計をすることができ、分析ユーザーがビジネス上の意思決定をするために使いやすいデータを準備することができます。
閲覧くださったみなさまの中にデータモデリング手法のイメージが湧いた方がいらっしゃればうれしいです。
次の記事ではデータパイプラインの設計からデータマート開発までの工程を紹介したいと思います!
次回もお楽しみに!