$30 off During Our Annual Pro Sale. View Details »

20210902_デスクトップの自動化で目指す業務効率化

 20210902_デスクトップの自動化で目指す業務効率化

20210902_デスクトップの自動化で目指す業務効率化「Power Automate DesktopとNode-RED連携でAPIからExcelにデータ収集やってみた」の登壇資料です。

◆スライド内の素材は以下を使用させて頂いております。ありがとうございます!

・シルエットデザイン http://kage-design.com/
・human pictogram 2.0 http://pictogram2.com
・ICOOON MONO http://icooon-mono.com/

1ft-seabass
PRO

September 02, 2021
Tweet

More Decks by 1ft-seabass

Other Decks in Technology

Transcript

  1. デスクトップの自動化で目指す業務効率化
    Power Automate DesktopとNode-RED連携で
    APIからExcelにデータ収集やってみた
    ワンフットシーバス 田中正吾

    View Slide

  2. 私の話はスライドを後ほど共有します。
    話す内容に注力いただいて大丈夫です!

    View Slide

  3. 田中正吾(たなかせいご)
    屋号:ワンフットシーバス
    2004年よりフリーランス。以後、FLASH制作を
    中心にインタラクティブコンテンツを主に行い現
    在に至る。
    最近ではWEBフロントエンドをベースにしなが
    らも、情報とインターフェースが合わさるアプ
    ローチという視点でIoTやMixed Realityといった
    技術も取り入れながら活動しています。

    View Slide

  4. インターネット上の情報を持ってきて
    手元の Excel に保存してみる
    今回は例としてユーロ為替情報を取ってきて Excel に保存します

    View Slide

  5. Power Automate Desktopと
    Node-RED連携でAPIからExcelにデータ収集
    Power Automate
    Desktop
    Node-RED
    (enebular editor)
    為替 API

    View Slide

  6. こんな感じで保存できる

    View Slide

  7. Power Automate Desktop で
    データ取得して Excel にガンガン保存していく
    実際に動かしてみる

    View Slide

  8. 為替 API の話
    Power Automate
    Desktop
    Node-RED
    (enebular editor)
    為替 API

    View Slide

  9. Exchange Rates API
    https://exchangeratesapi.io/ が提供している色々な通貨の為替情報をフリーで提供してくれる

    View Slide

  10. 実際の様子
    ユーロの為替情報を表示する API の URL
    https://cdn.jsdelivr.net/gh/fawazahmed0/currency-api@1/latest/currencies/eur.json

    View Slide

  11. まず Power Automate Desktop の話
    間に挟まる Node-RED (enebular editor) の話はこのあとで
    Power Automate
    Desktop
    Node-RED
    (enebular editor)
    為替 API

    View Slide

  12. Power Automate Desktop

    View Slide

  13. Power Automate Desktop
    Power Automate ファミリーのひとつ
    https://powerautomate.microsoft.com/ja-jp/

    View Slide

  14. コネクタ
    Webブラウザ上でコネクタを使って WEB サービス同士をつなげられる

    View Slide

  15. Power Automate のクラウド フロー
    Webブラウザ上でコネクタを使って WEB サービス同士をつなげられて
    トリガー(きっかけ)とアクション(何かする)という構成でワークフローを作成する機能

    View Slide

  16. Power Automate Desktop
    デスクトップと Web の操作をドラッグアンドドロップのフローを作って自動化するツール

    View Slide

  17. 今回の Power Automate Desktop は無償版のお話
    Windows 10 に無償で手軽に入れれるけど、有償版と違って、作成したフローの共有や
    クラウド版 Power Automateサイトとの連携、接続クラウドフローとの連携による自動実行ができない
    Power Automate
    Desktop

    View Slide

  18. アクションの様子
    デスクトップで便利そうなアクションいろいろ

    View Slide

  19. アクションの様子
    外部サービスやWebとの連携もできる

    View Slide

  20. 「Web サービスを呼び出します」アクションで
    為替 API のデータを取得してみた
    Power Automate
    Desktop
    為替 API

    View Slide

  21. データの取得はイイ感じだけど
    取得後のデータ加工が結構大変だった
    プログラムで使う最低限の機能はあるけど(私の今のスキルでは)柔軟に扱えなさそう

    View Slide

  22. Web から取得後の JSON データの加工に
    強くないのでそれなりの気合が必要
    実は JSON で受け取ったオブジェクトを for in で回したり難しい 配列は行けることはわかった、などなど

    View Slide

  23. Power Automate Desktop の習熟は
    もちろん頑張りたいが、他と連携して模索したい!
    データ加工のところをうまくやりたい
    Power Automate
    Desktop
    為替 API

    View Slide

  24. 間に挟まる Node-RED (enebular editor) の話
    Power Automate
    Desktop
    Node-RED
    (enebular editor)
    為替 API

    View Slide

  25. Node-RED

    View Slide

  26. IoTなど様々なAPI/Data連携をGUIで
    直感的に構築できるオープンソースソフトウェア

    View Slide

  27. Node-RED の画面

    View Slide

  28. ノードをつないでフローという
    データの流れを作ります
    ノード
    ノード ノード

    View Slide

  29. WEB まわりで使われる HTTP ノードもあります

    View Slide

  30. API のデータ取得後のデータ加工についても
    いろいろな標準ノードがある
    split join で配列やオブジェクトを分解・結合したり、switch で分岐を作ったり、change でデータ加工したり

    View Slide

  31. 為替 API のデータを Power Automate Desktop で
    使いやすくする橋渡しのフローはこんな感じ

    View Slide

  32. 扱いやすく加工する様子
    Power Automate Desktop で扱いやすい JSON 配列にしつつ col1 , col2 という名称で Excel 列に当てやすく

    View Slide

  33. 地味だけど、まあまあ加工のための手順あるし
    任せたのは良かったと思っている
    きっと取得したい API によって加工方法変わるだろうし
    Power Automate Desktop だけで頑張りすぎないのも自分にとっては良かった

    View Slide

  34. なぜ enebular editor を使ったか
    Power Automate
    Desktop
    Node-RED
    (enebular editor)
    為替 API

    View Slide

  35. Node-RED のインストールは手軽とはいえ
    Node.js や npm が必要だったり手間はかかる
    みんなができるといいな、と考えると、もっとやりやすい方法を考えたくなる
    https://nodered.jp/docs/getting-started/local
    sudo npm install -g --unsafe-perm node-red

    View Slide

  36. enebular を使うと他の人のフローを共有出来たり
    enebular editor ですぐ Node-RED を使える
    Node-RED に複数ユーザーで開発(フロー共有)したり運用面を包括的に支援するプラットフォーム
    https://www.enebular.com/ja/
    Node-RED
    (enebular editor)

    View Slide

  37. enebular の Discover Flow から持ってきています
    https://enebular.com/discover/flow/ef829af6-e61c-4e2c-8544-4bae73efe937

    View Slide

  38. ということで動かしてみる
    Power Automate
    Desktop
    Node-RED
    (enebular editor)
    為替 API

    View Slide

  39. こちらを起動して使う
    http://localhost:1888/api でアクセスできる

    View Slide

  40. Power Automate Desktop の仕組み

    View Slide

  41. まず呼び出してデータを取得して
    1行ごと動かすための変数 CurrentCount を用意

    View Slide

  42. その後、1データごとループで回して
    Excel に書き込んでいく

    View Slide

  43. もう一度、やってみる

    View Slide

  44. ふりかえり
    Power Automate
    Desktop
    Node-RED
    (enebular editor)
    為替 API

    View Slide

  45. Node-RED と Power Automate Desktop で
    バランスよく自動化が作れた
    Power Automate
    Desktop
    Node-RED
    (enebular editor)

    View Slide

  46. Power Automate Desktop は
    デスクトップの自動化に関しては多彩で素敵
    Excel の読み書き、ダイアログや音を出したり Node-RED では手間がかかることが手軽にできる
    Power Automate
    Desktop

    View Slide

  47. Node-RED はいろいろな API へつなぎやすく
    その後のデータ加工が得意
    Power Automate Desktop では手間が多くなる部分がやりやすい
    Node-RED
    (enebular editor)

    View Slide

  48. 取得したい API が変わっても対応しやすそう
    つど Node-RED でデータ加工をうまくやり Power Automate Desktop がデータ保存を担う
    Power Automate
    Desktop
    Node-RED
    (enebular editor)
    何かの API

    View Slide

  49. 2つのアプリの起動を忘れないなど注意点はある
    もちろん1ツールに寄せるのもアリだと思うし、こういう連携でやりたいことに辿り着くのもアリだと思う
    Power Automate
    Desktop
    Node-RED
    (enebular editor)

    View Slide

  50. Excel 入力も色々できることがありそう
    請求書を経理データから自動入力作成とか作業報告書とか予定表とかを自動で入れるとか
    Power Automate
    Desktop
    Node-RED
    (enebular editor)

    View Slide

  51. Node-RED と Power Automate Desktop で
    よき業務自動化ライフを!
    Power Automate
    Desktop
    Node-RED
    (enebular editor)

    View Slide