Free Trial

ディスカッション - 日本語

答えを見つけ、質問し、Alteryx の専門知識を共有してください。
解決済み

日をまたぐ時間の計算をしたい

Marumouke
メテオール

以前サポートでも相談したのですが、
データの並びが変わったこともあり、こちらに投稿させていただきます。
テキストデータで取得したものがあります。
やりたいこととしては以下となります。サポートで聞いた手順も含めており、その際に頂いたWFも添付いたします。
■伝票番号ごとに最初の注文時間と最後の注文時間の差を出したい。

 ・差は「分」で出したい

 ・24時を過ぎた表示が例えば「24:10」→「0010」表示となっているため単純に分の計算ができない。

  -さらに、営業日「20200304」注文時間「0030」は実際は「2020年03月05日00時30分」となる

①営業日をDATE、注文時間をTIMEに変換

②①で変換した値を結合し、「yyyymmdd hhmm」とする

③0時から「06:59」までの時間は日付を+1個々の時点のフィールドを仮に「営業日+時間」とする

④「営業日」「営業日+時間」と「伝票番号」を昇順でソート

⑤集計ツールで「営業日」と「伝票番号」をグループ化し「営業日+時間」の最初と最後を表示する

⑥⑤で出した「最後」「最初」=「分」

がやりたいことになります。
※添付したExcelは本来CSVとなります。

データ型の設定が良くないのか、何度試してもうまくいきません。
ご教示いただけますと幸いです。

 

3件の返信3
AkimasaKajitani
16 - Nebula
16 - Nebula

@Marumouke さん

 

この部分を少し考え方を変えてみました。

 

>④「営業日」「営業日+時間」と「伝票番号」を昇順でソート

>⑤集計ツールで「営業日」と「伝票番号」をグループ化し「営業日+時間」の最初と最後を表示する

>⑥⑤で出した「最後」「最初」=「分」

 

④⑤で最初と最後としていますが、営業日、伝票番号でグループ化し、営業日+時間はDateTime型でやっていれば最小、最大でいけると思います(ソートツール不要)。

 

あと、サンプルのワークフローだと複数行フォーミュラ使っていますが、この場合は単純に差分取って合計で良いと思います。

 

書き下してある手順だけ見ると大きな問題はなさそうなのですが、営業日を0:00~06:59は実際の日付が異なるので+1されていると思いますが、+1された営業日でグループ化するとハマると思います・・・。

 

AkimasaKajitani_0-1632627061906.png

 

 

Marumouke
メテオール

@AkimasaKajitani さん
いつもありがとうございます!
なるほど!複雑な作業を自身のWFに当て込んでしまっていたように思います。
>④⑤で最初と最後としていますが、営業日、伝票番号でグループ化し、営業日+時間はDateTime型でやっていれば最小、最大でいけると思います(ソートツール不要)。
これですんなり行けそうな気がします!
ありがとうございます!

Marumouke
メテオール

@AkimasaKajitani さん
おかげ様で解決に至りました。ありがとうございます!!!