テキストからタイムスタンプへの変更

”2018/06/09 24:12”のようなデータ(文字列)があるとします。これを「列を変更」などでタイムスタンプ形式に変更したいのですが、24時を超えてしまっているせいか、変換することができません。

データ元システム側での改修は困難なため、Domo側で"2018/06/10 00:12"のように整形したいのですが何か良い方法ないでしょうか?

答え

  • Shimoyama
    Shimoyama Member
    編集済: 6月 2023

    今は以下のような方法で考えておりますが、実際のデータは同じような状況のカラムが複数(10~20)あり、それぞれ以下の方法で対応するのは面倒&煩雑なので、少しでも簡単にできる方法があれば助かります。

    ※インプットのカラム名は”日付”で、”yyyy/mm/dd_hh:mm”(_は空白)がテキストで入っています。

    ①「列を分割」にて、日付を "yyyy/mm/mm"(カラム名:YMD)と”hh:mm"(カラム名:H:M)に分割

    ②「列を分割1」にて、H:Mを"hh"(H)と"mm"(M)に分割

    ③「スクリプトを追加」にて、

    H(修正)を作成 スクリプト:case WHEN H >= 24 then '00' else H END

    ※Hが24以上の場合は、00で置き換え

    YMD(修正)を作成 スクリプト:case WHEN H >= 24 then DATE_ADD(YMD,1) else YMD END

    ※Hが24以上の場合は、YMDを+1日する。

    ④「スクリプトを追加1」にて、

    YMD(新)を作成 スクリプト:CONCAT(YEAR(YMD(修正)),'/',MONTH(YMD(修正)),'/',DAY(YMD(修正)),' ',H(修正),':',M)

    ⑤「列を変更」にて、YMD(新)のデータタイプを タイムスタンプに変更。