MENU

SharePointリストのテキスト列で保存した日付を数値に変換する

1行テキストに保存したスラッシュ付きの日付を、数値列に保存し直す時のAutomateです。

本当は数値列で作成したかったのに。
本当は日付列で作成したかったのに。

という時のための備忘録です。
日付を数値保存しておくと、Appsでは色々と使いやすかったりするので、ここでは数値列に保存し直しております。

SharePointリストの設定は以下の通り。

期限(txt):1行テキスト
 内部列:field_2
期限(int):数値
 内部列:field_2_2

※ちなみにintはintegerの略で、整数のこと

目次

簡易フロー

「項目の更新」の中に色んな変換をギュッと詰め込んでいます。
見た目シンプル、中身は可読性悪し? (;^_^A

詳細フロー

トリガーは割愛させて頂きます (*- -)(*_ _)

複数の項目の取得

変換したいリストを指定します

すべての行の値を変換したい場合、フィルタークエリに以下のような式を設定します

ID ne null

リストのシステムIDが空欄ではないものを取得するため、結果的にリストに登録されてる行すべてが対象となります。

※ただし100以上の行を対象とする場合、設定から「改ページ」をONにして、しきい値を「100000」にしておきましょう。デフォルトでは100行しか取得してこない設定になっています。

For each

繰り返しの設定には「複数の項目の取得」の「body/value」を設定します。

※ちなみに今回のフローをそのまま利用する場合は、並列処理が利用できます(変数を使用している場合もONにできますが、並列で何が先にくるか分からず、更新元と更新後の値がずれる可能性が高いため利用しません)

項目の更新

ID:複数の項目の取得で出力されたIDを設定

期限:テキスト列を取得して整数へ変換

int(
  formatDateTime(
    replace(
      items('For_each')?['field_2'],
      '/',
      '-'
    ),
    'yyyyMMdd'
  )
)

/ と _ をreplaceで置き換え、yyyyMMddで出力したものを、最終的にintで整数としています。

以上で設定は終了です。
お疲れ様でした (*- -)(*_ _)

広告

目次