[サンプルデータ] Contoso Data Generator の紹介

# はじめに

本記事は **Microsoft Power BI Advent Calendar 2024** 2日目の記事です。

https://qiita.com/advent-calendar/2024/powerbi

![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F80467%2Fcf40a34d-8ddd-e4f3-ed0c-2e3926f7be08.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&w=1400&fit=max&s=d23e4e155b709fc62ffff68cea226079)

# Contoso Data Generator の紹介

Power BIを勉強している人にはおなじみの[SQLBI](https://www.sqlbi.com/)が架空の会社、Contosoをモデルとしたサンプルデータを公開してくれています。

## Contoso社

そもそもContoso社はMicrosoftのサンプルデータなどでよく出てくるのでみたことがあるひとは多いと思いますが、なんとドキュメントも用意されています🎉

https://learn.microsoft.com/ja-jp/microsoft-365/enterprise/contoso-overview?view=o365-worldwide

これを読むと、

> Contoso Corporation は、パリに本社を置く多国籍企業です。 同社は、100,000を超える製品を持つ製造、販売、サポート組織です。

とあり、

Contoso社の拠点は下図のようにかなり大きなグローバル企業だということがわかります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/2625cbb7-b6a7-26da-1cb7-0e35b473ac0e.png)

## Contoso Data Generator V2

SQL BIはそんなグローバル企業のContoso社をモデルとしたサンプルデータを提供してくれています。

SQLBIの紹介記事

https://www.sqlbi.com/tools/contoso-data-generator/

ドキュメント

https://docs.sqlbi.com/contoso-data-generator/

### すぐにサンプルデータを扱いたい人

すぐにデータを使いたい人は、以下URLにアクセスして希望のデータをDLしてください。

https://github.com/sql-bi/Contoso-Data-Generator-V2-Data/releases/tag/ready-to-use-data

#### ファイル形式

さまざまな形式で提供されています。**PBIXファイル** も提供されているのでビジュアルから作り始めたいシナリオには最適かもしれません。

| Format  | Description                                          |
|---------|------------------------------------------------------|
| **bak**     | Backup files for SQL Server databases               |
| **csv**     | Files in CSV format                                 |
| **delta**   | Files in Delta Table format                         |
| **parquet** | Files in parquet format                             |
| **pbit**    | Template file to import SQL Server database in a Power BI Desktop model |
| **pbix**    | Files in Power BI Desktop format                    |

#### データサイズ

データサイズも、ファイル形式により選べないものもありますが、最大100M（1億行）のデータまで提供されています。パフォーマンスを調査したいときにも使えそうでいいですよね😊

| Size   | Description                 |
|--------|-----------------------------|
| **10K**    | About 10,000 orders         |
| **100K**   | About 100,000 orders        |
| **1M**     | About 1 million orders      |
| **10M**    | About 10 million orders     |
| **100M**   | About 100 million orders    |

#### データモデル

**Sales**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/34ffdad1-5190-07a4-8d2f-64e8f909828a.png)

**Orders**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/5d451475-91c9-ead1-b75d-55dd67a65314.png)


### カスタマイズされたサンプルデータを扱いたい人

カスタマイズしたデータ セットを作成する場合は、GitHub で Contoso Data Generator を入手できます。データを生成用の設定ファイルなどをDLできます。

https://github.com/sql-bi/Contoso-Data-Generator-V2/

DLしたフォルダの中には、`databasegenerator.exe`が入っており、そちらコマンドライン上で、実行します。その際に、`cofig.json`と`data.xlsx`と出力フォルダとCACHEフォルダを指定する必要があります。

※CACHEフォルダはダミーの顧客、為替レート、郵便番号などの静的データを含むファイルが特定の GitHubリポジトリからインターネット経由でダウンロードされます。

実行例:

```
databasegenerator.exe  c:\temp\config.json  c:\temp\data.xlsx  c:\temp\OUT\  c:\temp\CACHE\
```

`cofig.json`と`data.xlsx`は、ドキュメントを読みながらカスタマイズをしてください。
`data.xlsx`のカスタマイズは依存関係も考慮しないといけないため、そこそこ手がかかります😇

https://docs.sqlbi.com/contoso-data-generator/

# まとめ

サンプルとして提供されているデータは1テーブルのものが多く、その場合Power BIで扱うためにスタースキーマへ変更する必要がありました。このサンプルデータはすでにスタースキーマになっており、かつPBIXファイルも提供されていてすぐに使い始めることもできるためかなり重宝するようになりました。

みなさんもお気に入りのサンプルデータがあったら、コメントで教えてください～🎉