Community Spring Cleaning week is here! Join your fellow Maveryx in digging through your old posts and marking comments on them as solved. Learn more here!
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
17 - Castor
17 - Castor

@Marumouke さん

 

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

 

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

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

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

 

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

 

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

 

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

 

AkimasaKajitani_0-1632627061906.png

 

 

Marumouke
メテオール

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

Marumouke
メテオール

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