スタッフの1ヶ月の勤務予定表と、
実際の勤務内容をを表した表を差異がわかるように
ひとつにまとめることは可能でしょうか?
予定の日付は
truncDate(‘DD’, parseDate(予定勤務終了時刻, ‘yyyy-MM-dd’))
実際に勤務した日付は
truncDate(‘DD’, parseDate(勤務終了時刻, ‘yyyy-MM-dd’))
で作成しています。
スタッフの1ヶ月の勤務予定表と、
実際の勤務内容をを表した表を差異がわかるように
ひとつにまとめることは可能でしょうか?
予定の日付は
truncDate(‘DD’, parseDate(予定勤務終了時刻, ‘yyyy-MM-dd’))
実際に勤務した日付は
truncDate(‘DD’, parseDate(勤務終了時刻, ‘yyyy-MM-dd’))
で作成しています。
QuickSight Communityにお問い合わせいただき、ありがとうございます!
どのような表を作成することを想定されていますか?具体的に示していただけると助かります。合わせて、データセットにどのようにデータが格納されているのかもご教示いただけると、回答しやすくなります。お手数ですが、よろしくお願いします。
添付した表をイメージしています。
データセットには、予定配達開始時刻、予定配達終了時刻、実際の配達開始時刻、実際の配達終了時刻が’yyyy-MM-dd HH:mm:ss’の文字列で入っています。
そこから勤務予定時間や実際の勤務時間は計算フィールドで作成しました。
配達回数は配達IDとして文字列で入っています。distinct_count(配達ID)で計算したものを使っています。
データセット上に、日付とスタッフのレコードが必ず存在するようであれば、日付で集計できればいいようなので、予定か実勤務のどちらかを指定して「日」で集計設定することで、ピボットテーブルは作成できるように思います。
予定か実勤務のデータがない日の日付レコードが存在しないようであれば、どちらかの日付を取得する日付フィールドを別途生成し、その日付フィールドで集計する必要があるかと思います。
こちらご記載のイメージに沿いテーブルを再現してみました。
段階的に計算用の項目を作成し、最終的に見た目を整える形になるかと思います。
入力データは想定で作成しておりますので、内容ご確認頂けますと幸いです。
■ 実現イメージ
Fig.1 想定入力データ
Fig.2 実現テーブルイメージ
■ 作成の流れ
Step1.データ準備で計算フィールドを作成
作成対象
(1) 配達日付
=> 配達予定日を truncDate() して作成
例:
truncDate("DD",{予定配達開始})
(2) 予定時間/実績時間
=> dateDiff() を使用し予定・実績それぞれの時間の差を求める
例:
dateDiff({予定配達開始},{予定配達終了},"MI")
dateDiff({実績配達開始},{実績配達終了},"MI")
(3) 予定勤務/実績勤務
=> 各開始時間が Not Null かどうかで当日勤務フラグを作成する
例:
ifelse(isNotNull({予定配達開始}),1,0)
ifelse(isNotNull({実績配達開始}),1,0)
Fig.3 データ準備画面イメージ
STEP2.ビジュアル上で計算フィールドを作成
(1) 時間・勤務日数予実
=> 実績 - 予定のフィールドを作成する
{c_haitatsuActual}-{c_haitatsuPlan}
{c_diffActual}-{c_diffPlan}
(2) ビジュアルを作成
=> これまでに作成した項目を並べ、ピボットテーブルを作成
Fig.4 ピボット選択イメージ
上記、ご確認ください。
@tarmiyaz さんの回答で解決しておりますでしょうか?
Solutionとしてマークさせていただきますが、もし解決していないようでしたら、お知らせください。
QuickSight Communityにご質問いただき、ありがとうございます。
ありがとうございます。
イメージ通りにできました。