見出し画像

【体験談】IT企業未経験者が現場のテーブル定義書を1から作る話

初めまして、分析屋のTです。

私はデータ分析領域の職種経験がない状態、いわゆる「業界未経験転職」で入社し7か月半が経ちます。
現在では支援企業様のもとでshopifyのデータ分析基盤活用(マート設計 / 可視化)をメインに活動しております。

実務経験が浅くても、本記事のような基本がキャッチアップできていると、
新規業務への参画、業務範囲の拡大も任せて頂けると感じました!

■この記事で紹介すること
・ テーブル定義書作成時の基本的な3つのアプローチ方法
・ 実際に作って感じた、0〜1で作る際に気をつけるべきこと

この記事を読んでいただけたら
”初めて作るけど不安”、”そもそもデータの意味がわからないけど大丈夫なのか..?”
と感じている方でも基礎的なところは抑えられるようになります!


実践した具体的な3つのアプローチ

私がテーブル定義書のない現場においてデータ構造を理解するために行った
3つのアプローチ方法を紹介します。

【アプローチ方法1:公式ドキュメントを確認する】

1. 各種公式ドキュメントをチェック

定義書の設計の前にまずは「どのデータが」「どんな形式で」「なんの意味を持たせているのか」
を確認する必要があります。

なので私は導入してるETL製品の公式ドキュメントにほしい情報がないか探しに行きました。
今回確認したかった情報としては「カラムの意味」「ステータス情報」を探し、結果として確認することができました!

◯メリット
・ 膨大な情報の中から要点をまとめられているため最初にこれを見てざっくり把握できる
・ 見つからないものだけをAPI公式に直接探しに行くという流れがやりやすかったです。
画像はShopifyに関するドキュメントです。

✖︎デメリット
・ 場合によっては未対応のサービスもある

実際に確認したETL側のドキュメント:https://documents.trocco.io/docs/data-source-shopify


2. API公式ドキュメントから、カラムやステータス項目の意味を探す

ETL側から探すのではなく、連携したいサービス側のAPI公式ドキュメントから探したほうが早い場合もあるなと感じました。
具体的には下記のようなケースです。
・ 省略されている情報
・ 自社サイト構築時に独自にカスタマイズされたパターン等があるため

◯メリット
・ 公式発信なので情報の信憑性が高い

✖︎デメリット
・ 膨大なページ、情報がヒットしてしまい探しづらい
・ 情報の絞り込みを自身で行う必要がある

今回確認したShopify側のドキュメント:
https://shopify.dev/docs/api/admin-graphql


【アプローチ方法2:生データをちゃんと見て検証する】

確認できる範囲のサマリー / メタデータ / 具体的なレコードを見て
データの内容を検証、整理しました。

例えば、以下のような検証を通して、一見類似したカラムの中から集計に適するカラム選定など行いました

<完全性>

– order_itemsカラムがNULLではないことを確認する
SELECT
*
FROM
orders
WHERE
order_items IS NULL
;

<一意性>

– emailカラムが一意であるか確認する
SELECT
email
,COUNT(*)
FROM
users
GROUP BY
email
HAVING
COUNT(*) > 1
;

<有効性>

-- financial_statusカラムが特定の値('unpaid', 'paid', 'partial_paid', ‘canceled’)のいずれかであるか確認する
SELECT
*
FROM
orders
WHERE
financial_status NOT IN ('unpaid', 'paid', 'partial_paid', ‘canceled’)
;


【アプローチ方法3:現場の達人 or 運用担当者に聞く】

・ 「そのデータをどのように使っているか?」を知らないと用途や内容を判別できないもの
・ 構築した方がオリジナルで追加したものであったり、検証しても答えがでないもの
については、現場のデータに詳しい方に聞きました


まとめ

今回の記事では、
「テーブル定義書がないとき、どうすればよいか?」
「データの意味が分からない時、まずやることはなにか?」
「テーブル定義書の作成に必要な情報を回収する方法」
について紹介しました。

現場で分からないことを聞くのは躊躇してしまいますが、基本的なことを実行する中で解決する問題もありますし、
私のように未経験者は、まず当たり前のことを自然に実行することが大切だと感じました。
今後は応用的なこともできるようになりたいと思います。

読んでいただきありがとうございました!



ここまでお読みいただき、ありがとうございました!
この記事が少しでも参考になりましたら「スキ」を押していただけると幸いです!

株式会社分析屋について

弊社が作成を行いました分析レポートを、鎌倉市観光協会様HPに掲載いただきました。

ホームページはこちら。

noteでの会社紹介記事はこちら。

【データ分析で日本を豊かに】
分析屋はシステム分野・ライフサイエンス分野・マーケティング分野の知見を生かし、多種多様な分野の企業様のデータ分析のご支援をさせていただいております。 「あなたの問題解決をする」をモットーに、お客様の抱える課題にあわせた解析・分析手法を用いて、問題解決へのお手伝いをいたします!

【マーケティング】
マーケティング戦略上の目的に向けて、各種のデータ統合及び加工ならびにPDCAサイクル運用全般を支援や高度なデータ分析技術により複雑な課題解決に向けての分析サービスを提供いたします。

【システム】
アプリケーション開発やデータベース構築、WEBサイト構築、運用保守業務などお客様の問題やご要望に沿ってご支援いたします。

【ライフサイエンス】
機械学習や各種アルゴリズムなどの解析アルゴリズム開発サービスを提供いたします。過去には医療系のバイタルデータを扱った解析が主でしたが、今後はそれらで培った経験・技術を工業など他の分野の企業様の問題解決にも役立てていく方針です。

【SES】
SESサービスも行っております。