異なる内容のピポットテーブルのまとめ

スタッフの1ヶ月の勤務予定表と、
実際の勤務内容をを表した表を差異がわかるように
ひとつにまとめることは可能でしょうか?

予定の日付は
truncDate(‘DD’, parseDate(予定勤務終了時刻, ‘yyyy-MM-dd’))
実際に勤務した日付は
truncDate(‘DD’, parseDate(勤務終了時刻, ‘yyyy-MM-dd’))
で作成しています。


@miya07

QuickSight Communityにお問い合わせいただき、ありがとうございます!

どのような表を作成することを想定されていますか?具体的に示していただけると助かります。合わせて、データセットにどのようにデータが格納されているのかもご教示いただけると、回答しやすくなります。お手数ですが、よろしくお願いします。

添付した表をイメージしています。

データセットには、予定配達開始時刻、予定配達終了時刻、実際の配達開始時刻、実際の配達終了時刻が’yyyy-MM-dd HH:mm:ss’の文字列で入っています。
そこから勤務予定時間や実際の勤務時間は計算フィールドで作成しました。
配達回数は配達IDとして文字列で入っています。distinct_count(配達ID)で計算したものを使っています。

@miya07

データセット上に、日付とスタッフのレコードが必ず存在するようであれば、日付で集計できればいいようなので、予定か実勤務のどちらかを指定して「日」で集計設定することで、ピボットテーブルは作成できるように思います。

予定か実勤務のデータがない日の日付レコードが存在しないようであれば、どちらかの日付を取得する日付フィールドを別途生成し、その日付フィールドで集計する必要があるかと思います。

@miya07

こちらご記載のイメージに沿いテーブルを再現してみました。
段階的に計算用の項目を作成し、最終的に見た目を整える形になるかと思います。
入力データは想定で作成しておりますので、内容ご確認頂けますと幸いです。

■ 実現イメージ

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 ピボット選択イメージ

上記、ご確認ください。

@miya07

@tarmiyaz さんの回答で解決しておりますでしょうか?
Solutionとしてマークさせていただきますが、もし解決していないようでしたら、お知らせください。
QuickSight Communityにご質問いただき、ありがとうございます。

ありがとうございます。
イメージ通りにできました。