รู้จักกับ Microsoft Power Fx โปรแกรมภาษาแบบ Low Code
Microsoft Power Fx คืออะไร
Microsoft Power Fx เป็นภาษาในรูปแบบสูตร (Formula Language) ใช้สำหรับ Low-Code Platform เริ่มใช้งานใน Microsoft Power Platform ใน Canvas App ของ Power Apps โดยมีแรงบันดาลใจมาจากสูตรของ Microsoft Excel เพื่อให้การพัฒนานั้นเขียนโค้ดน้อยลง และยังประหยัดเวลาและค่าใช้จ่ายในการพัฒนาอีกด้วยภาษาใน Power Platform จะมีหลายภาษา ได้แก่ ภาษา M ใน Power Query และ DAX (Data Analysis Expression) ซึ่งเป็นภาษาในรูปแบบสูตร ใน Power BI, SSAS ส่วน Power Fx ที่จะอธิบายในบทความนี้
คุณลักษณะเด่น ของ Power Fx
- Power Fx สร้างมาเพื่อ Low-Code โดยหากใครได้ลองพัฒนา Canvas App ด้วย Power Apps น่าจะได้รู้จักกับการใช้งานมาบ้าง และ ในอนาคตจะถูกนำไปใช้งานในส่วนของ Microsoft Power Platform การทำงานกับ Microsoft Dataverse, Model-Driven App ของ Power Apps, Microsoft Power Automate, Microsoft Power Virtual Agents
- Power Fx มีพื้นฐานมาจาก Microsoft Excel ทำให้การใช้สูตรและการเรียนรู้สูตรต่าง ๆ เป็นเรื่องที่ใกล้ตัวมากขึ้น และเรียนรู้การใช้งานได้ง่าย มี learning curve ไม่มาก หรือบางครั้งอาจจะใช้งานได้เลยโดยที่ไม่ต้องเรียนรู้อะไรใหม่ เพราะเราใช้งาน Microsoft Excel เป็นประจำอยู่แล้ว
- Power Fx เป็น Open Source ซึ่งเป็นพื้นฐานสำคัญในการต่อยอดได้ในอนาคต เพื่อนำโลกในอนาคตให้สามารถเขียดโค้ดได้แบบ Low-Code หรือการเขียนโปรแกรมที่ใช้โค้ดน้อยลงมาก ๆ ซึ่งอยู่ใน GitHub https://github.com/microsoft/Power-Fx
Power Fx เป็น ภาษาแบบ Low Code Platform
ทำไมเรามีความจำเป็นสำหรับ low-code platform คำตอบคือจะช่วยทำให้การพัฒนาระบบต่าง ๆ การสร้าง Apps, Workflow, Bot สามารถทำได้อย่างง่ายขึ้น ไม่ซับซ้อน และมี learning curve ในการเรียนรู้ได้ไม่ยาก โดยทำให้คนในระดับ Power User สามารถทำงานที่ซับซ้อนขึ้นได้ง่ายขึ้น เพราะเป็นคนที่เข้าใจ business logic แต่ในอดีตเครื่องมือในการพัฒนานั้นซับซ้อน โดยอาจจะไม่จำเป็นต้องให้ IT หรือ Programmer ทำงานได้ ซึ่งถือเป็นการเพิ่มศักยภาพให้กับคนทำงานอีกระดับ (Empower People)Low-Code Platform
Low-Code Platform เป็น platform ที่จะทำให้การเขียนโค้ดน้อยลง หรือกระทั่งไม่มีโค้ดเลย โดยสำหรับ Power Fx นั้นมีความคล้ายกับ Excel โดยจะมีหลายฟังก์ชันที่เหมือน ๆ กับ Excel ตามในภาพนี้ที่สีเขียวเป็นรายชื่อฟังก์ชันที่ Power Fx มีเหมือนกับ Excel ซึ่งจะมีความหมายวิธีการใช้งานคล้าย ๆ กัน ทำให้เข้าใจได้ไม่ยาก ทำให้การเขียนโค้ดจะคล้ายกับการเขียนสูตรแทนตัวอย่างโค้ด Power Fx
ตัวอย่างที่แสดงคือการแสดงผลราคาสินค้า โดยนำเอาข้อความ "Price" มา เชื่อมต่อ (Concatenate) ด้วยเครื่องหมาย & แล้วทำการจัดรูปแบบตัวเลขด้วยฟังก์ชัน Text ในรูปแบบ #,##0 ซึ่งการอ้างอิงใน Excel อาจจะใช้ Cell เช่น A1 แต่ใน Power Apps จะเข้าถึงข้อมูลด้วย ThisItem.Price"Price : " & Text(Value(ThisItem.Price),"#,##0") & " Baht"
ตัวอย่างการใช้ Power Fx ใน Power Apps เพื่อทำการค้นหารายการสินค้า โดยใช้คำสั่ง If และ Filter ซึ่งเป็นฟังก์ชันที่มีใน Microsoft Excel
การใส่ Comment ใน Power Fx
เราสามารถใส่ Comment เพื่ออธิบายโค้ด หรือ ใส่เพื่อไม่ให้โค้ดทำงาน การใส่ Comment ให้กับ Power Fx ได้ โดยคล้าย ๆ กับ DAX (Data Analysis Expression) ใน Power BI หรือ Power Pivot ซึ่งก็คือ
1.Comment แบบ Single Line
โดยใช้เครื่องหมาย // หน้าข้อความที่ต้องการให้เป็น Comment
Power Fx Formula
"Price : " & Text(Value(ThisItem.Price),"#,##0") & " Baht" //ใส่ Comment
2.Comment แบบ Multiple Line
โดยใช้เครื่องหมาย /* หน้าข้อความที่ต้องการให้เป็น Comment และปิดท้ายด้วย */
Power Fx Formula
/*ใส่ Comment
แบบหลายบรรทัด*/
"Price : " & Text(Value(ThisItem.Price),"#,##0") & " Baht"
คุณลักษณะของภาษา Power Fx
1. สูตรมีความคล้าย Microsoft Excel
เครื่องหมายในการคำนวณ ไม่ว่าจะเป็น & หรือสูตรด้านต่าง ๆ เช่น Text, Value, Today ก็จะเหมือน ๆ กับ Excel ซึ่งทำให้การเรียกใช้งานทำได้ง่าย และใช้เวลาศึกษาไม่มากนัก
2. การคำนวณจะคล้าย Excel คือจะ Recalculate ตลอดเวลา
โดยหากเรากำหนดคุณสมบัติของ Items ให้กับ Gallery โดยเชื่อมโยงกับ TextBox เพื่อค้นหา โดยใช้สูตร Lookup, Filter หรือ Search การคำนวณและแสดงผลใน Gallery ก็จะเป็นในรูปแบบอัตโนมัติ
3. ชื่อของ object ใน Power Fx นั้น ยืดหยุ่นและอัตโนมัติ
ในสูตรของ Power Fx สามารถตั้งชื่อโดยมีเว้นวรรคได้ เช่น 'Course Name' ซึ่งในหลาย ๆ ภาษาอาจจะไม่ให้เว้นวรรค ซึ่งเหมาะสำหรับ Power Users ที่ไม่ได้จำเป็นจะต้องประกาศตัวแปร ให้ยุ่งยาก เสียเวลา เพียงแต่ตั้งชื่อให้สื่อความหมายก็เพียงพอ
4. การทำงานกับ Data ต่าง ๆ และ Relational Data ได้ง่าย
ใน Power Fx สามารถทำการเชื่อมโยงข้อมูล สืบค้นข้อมูลจากแหล่งต่าง ๆ ซึ่งมี Connection ต่าง ๆ ที่สามารถเชื่อมโยงเข้าถึงได้ โดยที่ไม่ต้องเขียน SQL ก็ได้ เพียงแต่ใช้ฟังก์ชัน เช่น Search, Filter, Lookup เป็นต้น ซึ่ง Power Fx จะจัดการเรื่องของการทำงานกับ SQL Statement ให้เราเอง พร้อมการ Optimize ต่าง ๆ
Power Fx เป็นภาษาหนึ่งที่เป็น Low-Code Platform ใน Microsoft Power Platform ซึ่งจะช่วยให้ Power Users สามารถเพิ่มศักยภาพในการพัฒนา Apps, Workflow, Business Login, Bot ได้นับเป็นภาษาที่ไม่ซับซ้อน มีความคล้ายกับ Microsoft Excel นับเป็นภาษาหนึ่งที่น่าสนใจในโลกอนาคต ด้วยหลักการว่า คนที่เข้าใจ Business ที่สุด คือเรา ดังนั้น หากมีเครื่องมือที่สามารถพัฒนาและต่อยอดได้ง่าย ๆ จะช่วยให้เกิด Apps และ นวัตกรรมต่าง ๆ ได้อย่างรวดเร็วและเพิ่มมากขึ้นได้อย่างมหาศาล ได้เวลาที่ Power Users จะต้องเรียนรู้ Power Fx และนำไปใช้ในโลกใบนี้ที่มีการเปลี่ยนแปลงตลอดเวลากัน ใครเริ่มก่อนย่อมได้เปรียบกว่าคู่แข่ง
แนะนำหลักสูตรการอบรม
เรียนรู้คำสั่ง Power Fx เพื่อพัฒนา Canvas App เพื่อใช้ใน Mobile และ Tablet ด้วย Microsoft Power Appsในหลักสูตร Power Apps for Business (2 Days)
- Power BI Desktop for Business Analytics (2 Days)
- Power BI Advanced Visualization and AI (2 Days)
- Power BI Advanced Power Query (2 Days)
- Data Analysis Expression (DAX) for Power BI (2 Days)
- Data Model for Power BI (2 Days)