iT邦幫忙

2024 iThome 鐵人賽

DAY 28
0
Software Development

想要工作更輕鬆? 跟著我一起用 Power Automate 自動化吧!系列 第 28

利用多重條件式 - Switch 自行整理紊亂紀錄並分送給各組長

  • 分享至 

  • xImage
  •  

💡 在本文章你將學到:具體利用 Power Automate 的多重條件式 - Switch 做到分送未整理的資訊以 Mail 方式給組長

前言


上一篇我們已經瞭解 Switch 的概念以及與 Condition 的比較和差別,接下來我們利用一個範例實作看看吧!

內文


情境

上篇的範例是以狀態為例,這次我們利用組別訊息通知各組組長。我們有許多組員訊息要個別通知各組組長該組員的工時,裡面有 4 個組別,而各組組長各為一位。這些資料我們都放在 Excel 存成 Table

  • Table Name: WorkTime 組員工時表
  • Table Name: LeaderList 組長清單
    • 清單不選擇寫死在 Power Automate 而是選擇利用 Excel Table,是為了可以開放部分權限讓相關工作人維護組長名單
Name Team Time
Dong A 12
Eal C 55
Pom A 50
Polar C 60
Carol A 10
Ram B 22
Rom B 55
Dan B 100
A B C
組長名稱 polartsai@gmail.com aaa@gmail.com ccc@gmail.com

限制

本範例全程利用免費帳號即可達成目的
https://ithelp.ithome.com.tw/upload/images/20241012/20168562HOwrzHC1BX.png

步驟

  1. 觸發器,可以以一天為基準觸發

  2. List Present into a table - 引入 Table: WorkTime, Table: LeaderList

  3. Initialize Variable - 建立三個空變數,以存取各組組員與其工時

    請記得選對資料類型,由於我們的結果只需要組員名稱和工時,然後用: 合併,因此選擇使用 String 即可

    https://ithelp.ithome.com.tw/upload/images/20241012/20168562nnXFkSulLe.png

  4. Switch_1 - 萃取各組工時紀錄後存入 String Variable

    1. 由於我們要以 WorkTime 的 Team 做為比較對象,因此 On 要選擇 ⚡ 的 Team

    2. 一個 Case 代表一個組別,因此我們在 Equals 後面要個別寫入 A, B, C 作為判斷對象。白話文就是,我們要求 WorkTime 在進行一一閱覽時,要將每一筆紀錄的組別都與 Cases 一一比較,如果有相同時,就要掉入個別漏斗中

      https://ithelp.ithome.com.tw/upload/images/20241012/20168562bhFzZBSMYE.jpg

    3. 在 Case 裡的 Action 加入 Append to String Variable

      為了要讓篩選後的各筆資料可以依照我們要求的格式走,我們要在 Expression 寫下以下 Code,可以讓結果能用 : 隔開組員名稱和工時,並且在各筆紀錄之間隔行 <br>

      concat(items('Apply_to_each-WorkTime')?['Name'],':',items('Apply_to_each-WorkTime')?['Time'],'<br>')
      
  5. Switch_2 - 將整理好的紀錄一一分送給各組組長

    1. 一樣,我們依然要利用 WorkTime 的 Team 做為比較對象,因此 On 要選擇 ⚡ 的 Team
    2. 跟步驟 4 的概念相同,只是我們在 Case 的 Action 要做的是 Send to mail
      1. To: 各組組長 Mail items('Apply_to_each_Leader')?['A']
      2. Body: 個別 Variable
  6. 信件結果就會分送如下訊息,大功告成!

    https://ithelp.ithome.com.tw/upload/images/20241012/20168562irnRkRcv6n.png

後話


以上分享來自於工作上的煩惱,當時生管同仁希望能有個自動化流程協助將每天都要將這些計算好的工時紀錄截圖後分送給組長們,這個動作雖然不難但很花時間,因此他們希望可以在這項工作之中解脫,而這個案例正好讓我學到如何使用 Switch。

列點摘要 by GenAI

  • 情境:
    • 通知各組組長其組員工時。
    • 使用 Excel 表格儲存資料。
    • 資料表名稱:
      • WorkTime 組員工時表
      • LeaderList 組長清單
  • 資料表內容:
    • WorkTime 表格包含組員姓名、所屬團隊及工時。
    • LeaderList 表格列出各組的組長電子郵件。
  • 限制:
    • 本範例可使用免費帳號完成。
  • 步驟:
    1. 設定觸發器(以一天為基準)。
    2. 引入 Excel 表格資料。
    3. 初始化變數以存取組員與工時。
    4. 使用 Switch 控制結構根據 Team 分類工時紀錄。
    5. 將整理好的紀錄發送給各組組長的電子郵件。
    6. 完成信件通知的發送。

上一篇
Switch vs. Condition:Power Automate 中的條件處理比較
下一篇
擔心被生成式 AI 取代?打不贏就加入它!與生成式 AI 協作 Power Automate
系列文
想要工作更輕鬆? 跟著我一起用 Power Automate 自動化吧!31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言