LoginSignup
17
3

More than 3 years have passed since last update.

QuickSightの計算フィールドで色々やってみた

Last updated at Posted at 2020-12-13

QuickSightを1年ほど使って、簡単に出来そうで出来なかったことをまとめてみました。

正確な1ヶ月の平均値を出す

QuickSightの関数で1ヶ月の日数を取得する関数がなくて、正確な平均値を出力する際は以下の2つの計算フィールドを作る必要があった。(SQLで出力する方法もあるが、今回はSQLを使用しない方法で出力してみた。)

1ヶ月の日数を出力する計算フィールド.
dateDiff(truncDate('MM',{add_datetime}),truncDate('MM',addDateTime(1,'MM',{add_datetime})),'DD')
月日の平均値を出力する計算フィールド.
count(id) / MIN(1ヶ月の日数を出力する計算フィールド)

土曜・日曜日を考慮したグラフを作成する

営業日を考慮して着信〜完了までにかかったグラフを作成したかったが、営業日を取得する関数がいなかったので、以下の計算フィールドを作成して実現した。
参考にした記事
(tableauだと祝日も考慮したレポートが作成出来そうだったが、QuickSightはまだ使用できる関数が少ないので土曜・日曜のみを考慮したグラフしか出来なかった。)

起点日.
ifelse(extract('WD',{add_datetime}) = 1,addDateTime(1,'DD',{add_datetime}),ifelse(extract('WD',{add_datetime}) = 7,addDateTime(2,'DD',{add_datetime}),{add_datetime}))
終点日.
ifelse(extract('WD',{fix_datetime}) = 1,addDateTime(1,'DD',{fix_datetime}),ifelse(extract('WD',{fix_datetime}) = 7,addDateTime(2,'DD',{fix_datetime}),{fix_datetime}))
営業日計算.
MIN(dateDiff(起点日,終点日,'DD'))

コントロールを使用したフィルターで、「今月」や「先月」の制御をする

QuickSightのフィルターで期間指定する際、今月や先月の指定が簡単に出来ないのが、以下の計算フィールド・パラメータ・コントロールを作成することで、プルダウンで制御できるようになった。

期間指定プルダウン(計算フィールド).
ifelse(extract('YYYY',addDateTime(9,'HH',now())) = extract('YYYY',{add_datetime}) AND extract('MM',addDateTime(9,'HH',now())) = extract('MM',{add_datetime}),'1. 今月',ifelse(extract('YYYY',addDateTime(-1,'MM',addDateTime(9,'HH',now()))) = extract('YYYY',{add_datetime}) AND extract('MM',addDateTime(-1,'MM',addDateTime(9,'HH',now()))) = extract('MM',{add_datetime}),'2. 先月',ifelse(extract('YYYY',addDateTime(-2,'MM',addDateTime(9,'HH',now()))) = extract('YYYY',{add_datetime}) AND extract('MM',addDateTime(-2,'MM',addDateTime(9,'HH',now()))) = extract('MM',{add_datetime}),'3. 先々月','')))

パラメータ
スクリーンショット 2020-12-13 21.25.00.png
コントロール
スクリーンショット 2020-12-13 21.27.07.png
フィルター
スクリーンショット 2020-12-13 21.28.31.png
上記の設定が終わると、以下のようにプルダウンで期間の制御ができるようになる。
スクリーンショット 2020-12-13 21.31.30.png

最後に

他にも簡単に出来そうで出来なかったことたくさんあるので、気が向いたら記事書きます。

17
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
3