DBからCSVに落としたファイルをQuicksightにアップロードしようとしています。
日付がうまく取り込まれずデータセットする際に加工できる方法があればご教示頂けまないでしょうでしょうか?
施設毎にB列に2023/10のデータ、C列に2024/11のデータと行ではなく列になっており、値として追加できる数に限りがありX軸に日付(月)、Y軸にデータというグラフが描けません。
ご質問ありがとうございます。
現在のデータは以下のようにいわゆる横持のテーブルになっているかと思います。
| 施設 | 2023/10 | 2023/11 | 2023/12 |
| 施設A | 100 | 110 | 200 |
| 施設B | 130 | 140 | 150 |
| 施設C | 120 | 160 | 190 |
日付データをX軸として可視化したい場合、まずは以下のような縦持テーブルに変換してあげる必要があります。
| 施設 | 月 | 値 |
| 施設A | 2023/10 | 100 |
| 施設A | 2023/11 | 110 |
| 施設A | 2023/12 | 200 |
| 施設B | 2023/10 | 130 |
| 施設B | 2023/11 | 140 |
| 施設B | 2023/12 | 150 |
| 施設C | 2023/10 | 120 |
| 施設C | 2023/11 | 160 |
| 施設C | 2023/12 | 190 |
現状、このような横持→縦持の変換(UNPIVOT)はQuickSight内に完結して行うことはできないため、上流のデータソース側での変換をご検いただけますでしょうか。
また、QuickSightではこちらに記載の各種データベースへの接続をサポートしておりますので、もし対応しているDBをお使いでしたら、ファイルアップロードではなく、DBのデータセットを作成し、その際にカスタムSQLでUNPIVOTを使ってUNPIVOT化した状態で取り込むことが可能です。
ご連絡ありがとうございます。
手元で容易する場合は変換が必要なのですね。
先程修正して解決いたしました。
現在ステージング環境のため、現時点では対応はしていなかったのですが、UNPIVOTを使う方法で進めてみます。
上記の件は解決したのですが、施設毎のデータを見たいと思い、施設情報をドリルダウンできるよう試しましたが、”これ以上フィールドウェルに追加できない”とアラームが出ます。
施設情報としては2000行ほどで、データ形式も以下のような情報が2000行あるものです。
| 施設 | 月 | 値 |
| 施設A | 2023/10 | 100 |
| 施設A | 2023/11 | 110 |
| 施設A | 2023/12 | 200 |
| 施設B | 2023/10 | 130 |
| 施設B | 2023/11 | 140 |
| 施設B | 2023/12 | 150 |
| 施設C | 2023/10 | 120 |
| 施設C | 2023/11 | 160 |
| 施設C | 2023/12 | 190 |
ハンズオン資料にあるデータでは10000行の情報でも取り込めることを確認し、データ形式も揃えてはいますが取り込めません。
何か解決策ありますでしょうか?
@Betts さん、ご質問ありがとうございます。
ビジュアルやデータ型によってサポートされるドリルダウンが異なる [1] ため、もう少し具体的に理解したいのですが、どのビジュアルタイプで、どのようにフィールドウェルに配置しようとしているか(どのフィールドで階層構造を作りたいのか)を教えていただけますでしょうか。
ダミーデータで構いませんので、実際の画面ショットなどがあれば、それも添えていただけると助かります。
[1] Amazon QuickSight のビジュアルデータへのドリルダウンの追加 - Amazon QuickSight
ご連絡ありがとうございます。
施設情報を日付の箇所にドリルダウンしたいです。
ハンズオンの資料にあるデータではドリルダウンできること確認済みです。
以下、ハンズオン資料
Amazon QuickSight - Visualization Basics (Japanese)
ハンズオン資料では顧客名を別エクセルと紐づけされていましたので、同じく施設名だけのエクセルも作成し、編集で紐づけてみましたが結果は同じで配置できませんでした。
@Betts さん、ご説明ありがとうございます。
X軸に日付型のデータを配置している場合、折れ線のデータポイント部分(山・谷)をクリックしていただくと分かるのですが、以下のように日付の階層構造(年・四半期・月・週・日・時間・分・秒)で自動でドリルダウンが構成されるため、他のディメンションを組み合わせることができません。(ハンズオンの方はテキスト型なので問題無いのですが)
恐らく最終的に実現されたいのは、デフォルトでは全施設合計の線だけ見せておき、ドリルダウンで各施設の線を個別に見せることではないかと想像しております。その場合は、以下のように “全施設” とだけ返すダミーのディメンション用の計算フィールド「全施設ゼンシセツ」を作り、「施設名シセツメイ」と階層にすることで実現が可能です。
こちらでご要望に沿いそうでしょうか?
ご連絡ありがとうございます。
計算フィールドに全施設作成にて思っていた通りの階層となりましたが、施設(項目)が50件以上の場合はその他になってしまいます。
エリア毎など運用でカバーするように致します。
そうですね、仰るようにグループ(表示できる線)の上限は50までのため、施設数がそれよりも多い場合は中間の階層を作ってあげるのも一つの手かと思います。
以下は施設数が100あるとして、1-50、51-100、のそれぞれでディメンションを作る計算フィールドの例です。
ご参考になれば幸いです。
ifelse(
parseInt(substring({ 施設 }, 3, strlen({ 施設 })-2)) <= 50,
'施設1-50',
ifelse(
parseInt(substring({ 施設 }, 3, strlen({ 施設 })-2)) > 50,
'施設51-100',
'その他'
)
)
ご連絡感謝致します。
見せ方は工夫して対応致します。