Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Power Automate の新関数について

MiyakeMito
December 03, 2022

Power Automate の新関数について

MiyakeMito

December 03, 2022
Tweet

More Decks by MiyakeMito

Other Decks in Technology

Transcript

  1. Power Automate に追加された 新関数たち 2022/9 気ままに勉強会 #39 1

  2. 今日の目標 新しく追加された 強力な関数を知ろう 2

  3. Miyake Mito @MiTo60448639 https://qiita.com/MiyakeMito 株式会社アイシーソフト Technical Manager www.icsoft.jp https://speakerdeck.com/miya kemito

    3 ななもじさん @sumiika88 感謝
  4. connpass (独立発行者) コネクタ が認定されました 4 https://learn.microsoft.com/ja-jp/connectors/connpassip/ イベント情報のキャッチ や管理などに便利です 是非ご活用ください!

  5. 本日の参考サイト 5 ◼ Azure Logic Apps および Power Automate のワークフロー式関数のリファレン

    ス ガイド hhttps://learn.microsoft.com/ja-jp/azure/logic-apps/workflow-definition- language-functions-reference ◼ Power Automate 2022年9月に追加された強力な新関数の紹介 https://qiita.com/MiyakeMito/items/b25be62405c04aca2e9c
  6. 免責事項 当スライドは、 2022年12月現在のバージョンでの情報です 今後のアップデート等により、 仕様変更する可能性があります また、私の見解による内容が含まれます 間違いなどありましたらご指摘ください 6

  7. きょうの関数

  8. きょうの関数 8 ➢ sort 配列内の項目を並べ替えます ➢ reverse 配列内の項目の順序を逆にします ➢ chunk

    文字列または配列を等しい長さのチャンクに分割します ➢ isInt 文字列が整数かどうかを示すブール値を返します ➢ isFloat 文字列が浮動小数点数かどうかを示すブール値を返します ➢ dateDifference 2 つの日付の差をタイムスパンとして返します
  9. sort()

  10. sort([<collection>], <sortBy>?) 10 ◼ 配列の構造を持つ、コレクション内のアイテムを昇順(asc)に並べ替え ることができます。 ◼ ソートの対象は Array である必要があります。

    ◼ 降順(desc)に並べる場合は、後述の reverse() 関数と組み合わせます。 [ "パンダ", "ライオン", "ペンギンロボ" ] [ "パンダ", "ペンギンロボ", "ライオン" ] [ 3, 1, 2 ] [ 1, 2, 3 ] sort(Array) sort(Array)
  11. sort([<collection>], <sortBy>?) 11 ◼ ソートキーとしてカラムを指定可能です。 [ {"col1":"1","col2":35}, {"col1":"2","col2":22}, {"col1":"3","col2":10} ]

    [ {"col1":"3","col2":10} {"col1":"2","col2":22}, {"col1":"1","col2":35}, ] sort(Array, 'col2') ◼ 複数のソートキーを指定不可。よっては工夫が必要です。 [ {"col1":"1","col2":3,"col3":2}, {"col1":"2","col2":3,"col3":1}, {"col1":"3","col2":2,"col3":2} ] [ {"col1":"3","col2":2,"col3":2 ,"col4":"22"}, {"col1":"2","col2":3,"col3":1 ,"col4":"31"}, {"col1":"1","col2":3,"col3":2 ,"col4":"32"} ] [ {"col1":"1","col2":3,"col3":2 ,"col4":"32"}, {"col1":"2","col2":3,"col3":1 ,"col4":"31"}, {"col1":"3","col2":2,"col3":2 ,"col4":"22"} ] sort(Array, 'col4')
  12. reverse()

  13. reverse([<collection>]) 13 ◼ コレクション内の項目の順序を逆にします。 ◼ sort() と組み合わせると、コレクションを降順(desc)にソートできます。 [ "パンダ", "ライオン",

    "ペンギンロボ" ] [ "ライオン", "ペンギンロボ", "パンダ" ] [ 3, 1, 2 ] [ 2, 1, 3 ] reverse(Array) reverse(sort(Array)) [ 3, 1, 2 ] [ 3, 2, 1 ] reverse(sort(Array))
  14. chunk()

  15. chunk('<collection>', '<length>') 15 ◼ 文字列または配列を同じ長さのチャンクに分割します。 ➢ 文字列をチャンクすると、第2パラメータで指定した長さ毎に、単一な 配列が返ります。 'パンダとライオンとペンギンロボ' [

    "パンダと", "ライオン", "とペンギ", "ンロボ", ] chunk( Array, 4 )
  16. chunk('<collection>', '<length>') 16 ➢ 配列をチャンクすると、指定した長さ毎に要素を分割した配列が返ります。 [ 1, 2, 3, 4,

    5, 6, 7, 8, 9, 10 ] chunk( Array, 4 ) [ [ 1, 2, 3, 4 ], [ 5, 6, 7, 8 ], [ 9, 10 ] ]
  17. chunk('<collection>', '<length>') 17 ➢ 要素がオブジェクトの構造を持つ配列のチャンクも同様の動きです。 chunk( Array, 4 ) [

    {"col1":"1","col2":35}, {"col1":"2","col2":22}, {"col1":"3","col2":33}, {"col1":"4","col2":84}, {"col1":"5","col2":21}, {"col1":"6","col2":95}, {"col1":"7","col2":35}, {"col1":"8","col2":96}, {"col1":"9","col2":24}, {"col1":"10","col2":1} ] [ [ {"col1":"1","col2":35}, {"col1":"2","col2":22}, {"col1":"3","col2":33}, {"col1":"4","col2":84} ], [ {"col1":"5","col2":21}, {"col1":"6","col2":95}, {"col1":"7","col2":35}, {"col1":"8","col2":96} ], [ {"col1":"9","col2":24}, {"col1":"10","col2":1} ] ]
  18. isInt()

  19. isInt('<string>') 19 ◼ 文字列が整数かどうかを示すブール値を返します。 引数は文字列型である必要があります。 isInt('1234') true isInt('panda') false int()

    前のチェックに
  20. isFloat()

  21. 21 isFloat('<string>', '<locale>'?) ◼ 文字列が浮動小数点数であるかどうかを示すブール値を返します。 第1引数は文字列型である必要があります。 isFloat('10.000,00', 'de-DE') true isFloat('-1.7976931348623e+308')

    true ➢ ロケール固有の形式で表される浮動小数点数を識別するには、オプションで第2引数に RFC4646ロケール・コード を指定します。 (既定ではインバリアント カルチャが適用される) isFloat('123') true
  22. dateDifference()

  23. dateDifference('<startDate>', '<endDate>') 23 ◼ endDateからstartDateを減算し、結果を文字列形式でタイムスタンプと して返します。 ◼ 日付の形式は、ISO 8601 に準拠していれば、正常に動作します。

    dateDifference('2022-09-28', '2022-09-23') "-5.00:00:00" dateDifference('2022-12-03T20:20:30.000', '2022-12-25T00:00:00.000') "21.03:39:30" ➢ 時間の計算も可能な模様(リファレンスに記載が無いので注意)
  24. まとめ

  25. まとめ sort(),chunk(),dateDifference() といった、待望の強力な関数が 追加されました。 使いこなして素敵なフローの作成に お役立てください。 25

  26. ありがとうございました 26