QuickSightでローデータ提供

# はじめに

案件の中には、ローデータを納品する場合もあるかと思います。
弊社ではさらに、”検索機能等を実装したVBAマクロ込みExcel”で納品、という事例ありました。

Office製品依存から脱却するためにも、ファイル納品に代わり、QuickSightでローデータを提供できないか試してみました。

# 概要
- QuickSight上でテーブルのビジュアルを用い、CSVダウンロードすれば、やりたいことは適う模様
    - ただし、以下の制限あり
        - 100 万行まで
        - 500 MBまで
    - フィルタで絞り込んだ場合は、絞り込み後のデータがダウンロードされる

# 使用データ
以前から使っている、東京都 新型コロナウイルス陽性患者発表詳細になります。

https://catalog.data.metro.tokyo.lg.jp/dataset/t000010d0000000068

# 作ったダッシュボード
以下のようなダッシュボードを作りました（作り方は割愛します）。
- ざっと集計されるピボット表があるシート
- ローデータがそのままある表があるシート

この２シートが参照しているデータは同じものになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553680/b8d51f74-689f-a8d5-de23-a1004c32d5bc.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553680/84d59563-6362-1f22-7816-beda2dfac2ab.png)

# CSVダウンロード
CSVダウンロードをするには、対象を選択して、メニューから選びます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553680/a89f009e-87a6-34b5-2c7e-e12d39464d24.png)

すると以下のようなポップアップが出てきて、ダウンロードが行われます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553680/7c352d7e-4dfa-591f-444b-53d317158f0c.png)

## PIVOT表をダウンロード
PIVOT表からダウンロードします。元のデータと比べてロードデータが少ないことがわかります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553680/d8683ce7-3c3a-8add-d63a-884147882671.png)

ダウンロードされたデータは以下のような形式でした。参照しているデータとは異なり、PIVOT表で表されているデータがダウンロードされていることがわかります。

```csvs
"公表_年月日","患者_年代","患者_性別","カウント"
"2022-05-11 00:00:00","10代","男性",315
"2022-05-11 00:00:00","10代","女性",251
"2022-05-11 00:00:00","10歳未満","男性",253
"2022-05-11 00:00:00","10歳未満","女性",229
"2022-05-11 00:00:00","20代","男性",703
"2022-05-11 00:00:00","20代","女性",663
"2022-05-11 00:00:00","30代","男性",458
"2022-05-11 00:00:00","30代","女性",412
"2022-05-11 00:00:00","40代","男性",347
"2022-05-11 00:00:00","40代","女性",329
"2022-05-11 00:00:00","50代","男性",190
"2022-05-11 00:00:00","50代","女性",206
"2022-05-11 00:00:00","60代","男性",95
"2022-05-11 00:00:00","60代","女性",103
"2022-05-11 00:00:00","70代","男性",60
"2022-05-11 00:00:00","70代","女性",63
"2022-05-11 00:00:00","80代","男性",30
"2022-05-11 00:00:00","80代","女性",39
"2022-05-11 00:00:00","90代","男性",7
"2022-05-11 00:00:00","90代","女性",11
"2022-05-10 00:00:00","100歳以上","男性",1
"2022-05-10 00:00:00","100歳以上","女性",1
"2022-05-10 00:00:00","10代","男性",281
"2022-05-10 00:00:00","10代","女性",238

...

```

## ローデータをダウンロード
### フィルタなし
今回のデータは100万件を超えており、これのダウンロードを試みてみます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553680/15bfd3d3-7ba5-f755-447b-cdede7dfd3e9.png)

出力項目は表示されている列でしたが、行に関してはポップアップで出てきた通り、100万行で終わっていました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553680/807bf50f-96a4-a392-b3b0-e552fb398dd3.png)

### フィルタあり
フィルタ機能を使って絞り込んだ結果でダウンロードできるか、試してみます。これができれば、全件欲しい場合は（手間ですが）分割してダウンロードで可能になります。
今回は「2022年、20-40代、女性、居住地が”都内”でない」としてみました。左上のインサイトで総件数が25,254件であることが確認できます。（対象期間が"2022/1/2"になっているのは、1/1にはフィルタに合致するデータがなかったためです。）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553680/e650503c-3236-397f-9305-5785408c8a37.png)

フィルタがかかった状態の表をダウンロードしてみます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553680/28817ab8-2724-b819-d510-ca48043f80b8.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553680/19572a28-a136-b793-ca4d-a9b088481e65.png)

ポップアップ、ダウンロードしたデータ両方とも25,254件（CSVはヘッダ行があるので1行多い）であることがわかりました。
データ件数が多い場合でもフィルタで絞り込んで分割することで、欲しいデータが取得できそうです。

# おわりに
今回は、「ローデータを納品する」という案件をQuickSightで出来ないか、という観点で機能を確認してみました。

あまり事例はないかもしれないですが、Office製品依存による色々な課題で苦労されている方は、QuickSightでのサービスで提供、という形もあるかと思います。