WebサービスとAlteryxで楽にダミーの顧客マスタを作成してみた
はじめに
こんにちは。データアナリティクス事業本部 BIチームのkariyaです。
データ可視化やプログラムのテストの際、「いい感じのサンプルデータが欲しい」と思ったことはありませんか?私はいつも思っています。
今回は顧客マスタ(顧客の個人情報が登録されているテーブル)を例に、なるべく簡単にダミーデータを作成する方法をご紹介します。
今回欲しいデータ
- ユーザーIDがある
- 個人情報(住所・氏名・性別・年齢・電話番号)がある
- 登録状況を示す情報(無効or有効)がある
- 登録日時がある
- 全ての行のデータがランダムになっている
ChatGPTにお願いする
まずは最も簡単な方法から。ChatGPTにそのまま要望を出してみます。
要望通りデータを出力してくれました。件数が少ないので、もっと件数を出してもらいましょう。
20件までに省略されてしまいました。少ない件数のデータであればChatGPTでの作成が簡単ですが、この後はもっと多い件数のデータの作成方法を考えてみます。
Webサイトで疑似個人情報を生成する
ランダムなデータを生成できるWebサイトを利用して個人情報を生成します。
疑似個人情報データ生成サービス
氏名・性別・電話番号・住所・年齢など、必要な項目にチェックを入れます。 パスワードはランダムな文字列を作成してくれるため、ユーザーIDとしてこの後利用します。
生成する件数を100件にし、使用許諾条件を確認した上で生成ボタンを押します。
結果をcsvでダウンロードします。
Alteryxでデータ確認&不足項目を追加
ここからはAlteryxで不足項目を追加していきます。ワークフローの全体図はこちらです。
まずはセレクトツールを使い、列名を変更していきます。
住所は複数列に分かれているので、都道府県名~建物名などの列名をつけます。
パスワードとして生成した列は、ユーザーIDとして使用するため名前を変更します。
列名を変更した結果です。
続いて、複数行フォーミュラツールで登録日時を付与します。 細かい関数の説明は省略しますが、各行が異なる日時になるよう、以下の内容を設定しました。
- 1行目はワークフロー実行時の3年前の日時を付与
- 2行目以降は、1行目からランダムな秒数(0~50000秒)経過後の日時を付与
ランダムで登録日時が付与されました。
続いて、フォーミュラツールで住所(都道府県~建物名を連結したもの)と登録状況(有効/無効)の列を作成します。
登録状況はほとんどのレコードを有効にしたいので、RandIntで0~9の値をランダムに発生させ、0なら「無効」、1~9なら「有効」の値を設定しています。
登録状況と住所が作成できました。
最後に、セレクトツールで出力が不要な列を削除します。 連番や、都道府県~建物名の列のチェックボックスをオフにします。
必要な列に絞り込むことができました。 以上で顧客マスタの作成は完了です。
おわりに
件数が少ない場合はChatGPTで、件数が多い場合はWebサービスやETLツールを用いてデータを作成すると、すべて手作業で作成するよりも早く楽にデータが作成できます。
この記事により、データ準備が少しでも楽になれば嬉しいです。