■やりたいこと
以下のデータをQuickSightに渡しています。
各項目で1と-1の時間差分を1の行に表示したいです。
■渡しているデータ
・各項目には1,-1,0,(null)の4種類が出現します。
・1と-1は必ず交互に出現します。(ただし、1と-1の間に0や(null)は出現します。)
時間 項目A 項目B 項目C
13:06 1 1 1
13:10 -1 0 (null)
14:00 (null) -1 0
14:21 1 1 -1
15:01 -1 -1 0
■実現したいQuickSightの表
時間 項目A 項目B 項目C 項目A時間 項目B時間 項目C時間
13:06 1 1 1 00:04:00 00:54:00 01:15:00
13:10 -1 0 (null) - - -
14:00 (null) -1 0 - - -
14:21 1 1 -1 00:50:00 00:50:00 -
15:01 -1 -1 0 - - -
■補足
現時点では、妥協案として以下を使用しています。
以下の計算フィールドを作成し、フィルターで1,-1のみを表示した表に計算フィールドを値として持たせています。
この方法には以下の欠点がありました。
・-1の行にも時間が入ってしまう。
・単純に上下行の差分を見ているため、1項目のみの表であれば正しい時間になるが、複数項目の表の場合は正しい時間にならないケースがある。
・時間をhh:mm:ss表記にできるのか不明。
dateDiff(
min(time),
lag(max(time),[time DESC],1),
"SS"
)
実現できる方法がありましたらご教示お願いいたします。