WebサービスとAlteryxで楽にダミーの顧客マスタを作成してみた

楽してダミーデータを作りたい
2023.09.27

はじめに

こんにちは。データアナリティクス事業本部 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ツールを用いてデータを作成すると、すべて手作業で作成するよりも早く楽にデータが作成できます。

この記事により、データ準備が少しでも楽になれば嬉しいです。