Power Fx เป็นภาษาแบบเขียนโค้ดเล็กน้อยที่จะใช้ทั่วทั้ง Microsoft Power Platform ซึ่งเป็นภาษาการเขียนโปรแกรมที่มีวัตถุประสงค์ทั่วไป แบบพิมพ์รัดกุม เปิดเผย และใช้งานได้จริง
Power Fx แสดงเป็นข้อความที่เป็นมิตรต่อมนุษย์ ซึ่งเป็นภาษาแบบเขียนโค้ดเล็กน้อยที่ผู้สร้างสามารถใช้งานได้โดยตรงในแถบสูตรเหมือน Excel หรือหน้าต่างข้อความ Visual Studio Code "ต่ำ" ในแบบเขียนโค้ดเล็กน้อย เกิดจากลักษณะของภาษาที่กระชับและเรียบง่าย ซึ่งทำให้งานเขียนโปรแกรมทั่วไปเป็นเรื่องง่ายสำหรับทั้งผู้สร้างและผู้พัฒนา ซึ่งช่วยให้การพัฒนาเต็มรูปแบบจากไม่มีโค้ดสำหรับผู้ที่ไม่เคยตั้งโปรแกรมมาก่อนจนถึง "โค้ดระดับสูง" สำหรับมืออาชีพที่ช่ำชอง โดยไม่ต้องเรียนรู้หรือเขียนซ้ำระหว่างนั้น ซึ่งทำให้ทีมต่างๆ สามารถทำงานร่วมกันและประหยัดเวลาและค่าใช้จ่าย
หมายเหตุ
Microsoft Power Fx เป็นชื่อใหม่สำหรับภาษาสูตรสำหรับแอปพื้นที่ทำงานใน Power Apps ภาพรวมนี้และบทความที่เกี่ยวข้องอยู่ระหว่างดำเนินการ ในขณะที่เราแยกภาษาจากแอปพื้นที่ทำงาน รวมเข้ากับผลิตภัณฑ์ Microsoft Power Platform อื่นๆ และทำให้พร้อมใช้งานในรูปแบบโอเพนซอร์ส หากต้องการเรียนรู้เพิ่มเติมและสัมผัสภาษาวันนี้ ให้เริ่มด้วย เริ่มต้นใช้งานสูตรในแอปพื้นที่ทำงาน ในคู่มือ Power Apps และลงทะเบียน Power Apps รุ่นทดลองใช้ ฟรี
Power Fx ผูกออบเจ็กต์เข้าด้วยกันด้วยสูตรที่เหมือนกระดาษคำนวณประกาศ ตัวอย่างเช่น ลองนึกถึงคุณสมบัติ มองเห็นได้ ของตัวควบคุม UI เป็นเซลล์ในเวิร์กชีต Excel พร้อมด้วยสูตรที่เกี่ยวข้องซึ่งคำนวณค่าตามคุณสมบัติของตัวควบคุมอื่นๆ ตรรกะของสูตรจะคำนวณค่าใหม่โดยอัตโนมัติ ซึ่งคล้ายกับวิธีการทำงานของสเปรดชีต ซึ่งส่งผลต่อการมองเห็นของตัวควบคุม
อกจากนี้ Power Fx เสนอตรรกะที่จำเป็นเมื่อจำเป็น โดยทั่วไปเวิร์กชีตไม่มีปุ่มที่สามารถส่งการเปลี่ยนแปลงไปยังฐานข้อมูลได้ แต่แอปมักจะมี ภาษานิพจน์เดียวกันนี้ใช้สำหรับทั้งตรรกะเชิงประกาศและแบบจำเป็น
Power Fx จะเปิดให้บริการเป็นซอฟต์แวร์โอเพนซอร์ส ขณะนี้ได้รวมเข้ากับแอปพื้นที่ทำงานแล้ว และเรากำลังอยู่ในขั้นตอนการดึงออกจาก Power Apps เพื่อใช้ในผลิตภัณฑ์ Microsoft Power Platform อื่นๆ และเป็นโอเพนซอร์ส ข้อมูลเพิ่มเติม: Microsoft Power Fx บน GitHub
บทความนี้เป็นภาพรวมของภาษาและหลักการออกแบบ เมื่อต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ Power Fx ให้ดูบทความต่อไปนี้:
เหล่านี้เป็นคำถามที่เป็นแรงบันดาลใจในการสร้าง Power Apps และ Power Fx ผู้คนหลายร้อยล้านคนสร้างเวิร์กชีตด้วย Excel ทุกวัน มาสร้างแอปที่ง่ายและใช้แนวคิดของ Excel ที่พวกเขารู้จักกันดีอยู่แล้ว โดยการแยก Power Fx ออกจาก Power Apps เราจะตอบคำถามเหล่านี้สำหรับการสร้างระบบอัตโนมัติ หรือตัวแทนเสมือน หรือโดเมนอื่นๆ
ภาษาโปรแกรมทั้งหมด รวมทั้ง Power Fx มี นิพจน์: วิธีแสดงการคำนวณตัวเลข สตริง หรือชนิดข้อมูลอื่นๆ ตัวอย่างเช่น,mass * acceleration ในภาษาส่วนใหญ่เป็นการแสดงออกถึงการคูณ mass และ acceleration ผลลัพธ์ของนิพจน์สามารถวางไว้ในตัวแปรใช้ เป็นอาร์กิวเมนต์ของกระบวนงาน หรือซ้อนอยู่ในนิพจน์ที่ใหญ่กว่า
Power Fx ก้าวไปอีกขั้น ตัวนิพจน์เองไม่ได้บอกอะไรเกี่ยวกับสิ่งที่กำลังคำนวณ จะขึ้นอยู่กับผู้สร้างที่จะวางไว้ในตัวแปร หรือส่งต่อไปยังฟังก์ชัน ใน Power Fx แทนที่จะเขียนเฉพาะนิพจน์ที่ไม่มีความหมายเฉพาะ คุณเขียน สูตร ที่ผูกนิพจน์กับตัวระบุ ที่คุณเขียน force = mass * acceleration เป็นสูตรในการคำนวณ force เมื่อ mass หรือ acceleration เปลี่ยนแปลง force จะได้รับการอัปเดตเป็นค่าใหม่โดยอัตโนมัติ นิพจน์อธิบายการคำนวณ สูตรตั้งชื่อการคำนวณนั้นและใช้เป็นสูตร นี่คือเหตุผลที่เราอ้างถึง Power Fx เป็น สูตรภาษา
เนื่องจากแถบเลื่อนถูกตั้งค่าเป็นสีเข้ม ป้ายสำหรับสีแดง สีเขียว และสีน้ำเงินจะเปลี่ยนเป็นสีขาวเพื่อชดเชย ซึ่งทำได้โดยใช้สูตรง่ายๆ ในคุณสมบัติ Color สำหรับการควบคุมป้ายชื่อแต่ละรายการ
สิ่งที่ยอดเยี่ยมเกี่ยวกับเรื่องนี้คือ มีการแยกออกจากสิ่งที่เกิดขึ้นสำหรับสี Fill: ซึ่งเป็นการคำนวณสองแบบที่แตกต่างกันอย่างสิ้นเชิง แทนที่จะเป็นกระบวนการก้อนขนาดใหญ่ ตรรกะ Power Fx มักจะประกอบด้วยสูตรที่มีขนาดเล็กกว่าจำนวนมากซึ่งไม่ขึ้นต่อกัน นี่จะทำให้เข้าใจง่ายขึ้น และเปิดใช้งานการปรับปรุงโดยไม่รบกวนตรรกะที่มีอยู่
Power Fx เป็นภาษาเชิงประกาศ เช่นเดียวกับ Excel ผู้สร้างจะกำหนดพฤติกรรมที่พวกเขาต้องการ แต่ขึ้นอยู่กับระบบที่จะกำหนดและเพิ่มประสิทธิภาพว่าจะทำอย่างไรและเมื่อใด เพื่อให้ใช้งานได้จริง งานส่วนใหญ่ทำผ่านฟังก์ชันล้วนๆ โดยไม่มีผลข้างเคียง Power Fx ยังเป็นภาษาที่ใช้งานได้ (เช่นเดียวกับ Excel)
Power Fx อธิบายตรรกะทางธุรกิจด้วยสูตรที่กระชับแต่ทรงพลัง ตรรกะส่วนใหญ่สามารถลดลงเหลือเพียงบรรทัดเดียว โดยมีการแสดงออกและการควบคุมมากมายสำหรับความต้องการที่ซับซ้อนมากขึ้น เป้าหมายคือเพื่อให้จำนวนแนวคิดที่ผู้ผลิตจำเป็นต้องเข้าใจให้น้อยที่สุดโดยที่ผู้ใช้ Excel จะไม่ทราบดีกว่า
ตัวอย่างเช่น หากต้องการค้นหาชื่อจริงของพนักงานสำหรับใบสั่ง คุณเขียน Power Fx ดังแสดงในภาพเคลื่อนไหวต่อไปนี้ นอกเหนือจากแนวคิดของ Excel แล้ว แนวคิดเพิ่มเติมเพียงอย่างเดียวที่ใช้ในที่นี้คือจุด "." เครื่องหมายสำหรับการเจาะลึกไปยังโครงสร้างข้อมูล ในกรณีนี้ .Employee.'First Name' ภาพเคลื่อนไหวแสดงการแมประหว่างส่วนต่างๆ ของสูตร Power Fx และแนวคิดที่ต้องเข้ารหัสอย่างชัดเจนใน JavaScript ที่เทียบเท่ากัน
มาเจาะลึกทุกเรื่องที่ Power Fx กำลังทำเพื่อเราและเสรีภาพที่ต้องปรับให้เหมาะสมเพราะสูตรมีการประกาศ:
อะซิงโครนัส: การดำเนินการข้อมูลทั้งหมดใน Power Fx จะเป็นแบบอะซิงโครนัส ผู้สร้างไม่จำเป็นต้องระบุสิ่งนี้ และผู้สร้างไม่จำเป็นต้องซิงโครไนซ์การดำเนินการหลังจากสิ้นสุดการโทร ผู้สร้างไม่จำเป็นต้องตระหนักถึงแนวคิดนี้เลย พวกเขาไม่จำเป็นต้องรู้ว่าสัญญาหรือฟังก์ชันแลมด้าคืออะไร
ในพื้นที่และระยะไกล: Power Fx ใช้รูปแบบและฟังก์ชันเดียวกันสำหรับข้อมูลที่อยู่ในหน่วยความจำภายในและเชื่อมต่อกับฐานข้อมูลหรือบริการจากระยะไกล ผู้ใช้ไม่จำเป็นต้องคิดถึงความแตกต่างนี้ Power Fx มอบหมายสิ่งที่สามารถทำได้ให้กับเซิร์ฟเวอร์โดยอัตโนมัติ เพื่อประมวลผลตัวกรองและจัดเรียงข้อมูลที่นั่นอย่างมีประสิทธิภาพมากขึ้น
ชื่อที่แสดงและการแปล: First Name ใช้ใน Power Fx สูตรในขณะที่ nwind_firstname ใช้ใน JavaScript ที่เทียบเท่า ใน Microsoft Dataverse และ SharePoint มีชื่อที่แสดงสำหรับคอลัมน์และตาราง นอกเหนือจากชื่อตรรกะที่ไม่ซ้ำกัน ชื่อที่แสดงมักจะใช้งานง่ายกว่ามาก ดังเช่นในกรณีนี้ แต่ก็มีคุณภาพที่สำคัญอีกประการหนึ่งที่สามารถแปลเป็นภาษาท้องถิ่นได้ หากคุณมีกลุ่มคนที่พูดได้หลายภาษา สมาชิกในกลุ่มคนแต่ละคนสามารถดูชื่อตารางและชื่อฟิลด์ในภาษาของตนเองได้ ในทุกกรณีการใช้งาน Power Fx ทำให้แน่ใจว่าชื่อตรรกะที่ถูกต้องถูกส่งไปยังฐานข้อมูลโดยอัตโนมัติ
ไม่มีโค้ด
คุณไม่จำเป็นต้องอ่านเขียน Power Fx เพื่อเริ่มแสดงตรรกะ มีการปรับแต่งและตรรกะมากมายที่สามารถแสดงผ่านสวิตช์ธรรมดาและตัวสร้าง UI เครื่องมือที่ไม่มีโค้ดเหล่านี้สร้างขึ้นเพื่ออ่านและเขียน Power Fx เพื่อให้แน่ใจว่ามีพื้นที่เหลือเฟือสำหรับคนที่จะก้าวไปอีกขั้น ในขณะที่ยอมรับว่าเครื่องมือที่ไม่มีโค้ดจะไม่มีวันนำเสนอความหมายทั้งหมดของภาษาเต็ม แม้เมื่อใช้กับตัวสร้างที่ไม่มีโค้ด แถบสูตรจะอยู่ด้านหน้าและตรงกลางใน Power Apps เพื่อให้ความรู้แก่ผู้สร้างเกี่ยวกับสิ่งที่ทำในนามของพวกเขาเพื่อที่พวกเขาจะได้เริ่มเรียนรู้ Power Fx
สิ่งเหล่านี้เป็นตัวอย่างง่าย ๆ พวกเราเชื่อว่า Power Fx สร้างภาษาที่ยอดเยี่ยมสำหรับการอธิบายการโต้ตอบแบบไม่ใช้โค้ด ซึ่งมีความกระชับ มีประสิทธิภาพ และง่ายต่อการแยกวิเคราะห์ และให้พื้นที่ว่างที่มักจะต้องการโดย "ไม่มีการใช้" จนถึงแบบเขียนโค้ดเล็กน้อย
โค้ดมืออาชีพ
ผู้สร้างแบบเขียนโค้ดเล็กน้อยบางครั้งสร้างสิ่งที่ต้องการความช่วยเหลือจากผู้เชี่ยวชาญ หรือถูกยึดครองโดยนักพัฒนามืออาชีพเพื่อรักษาและปรับปรุง ผู้เชี่ยวชาญยังชื่นชมว่าการพัฒนาแบบโค้ดเล็กน้อยสามารถทำได้ง่ายกว่า เร็วกว่า และเสียค่าใช้จ่ายน้อยกว่าการสร้างเครื่องมือระดับมืออาชีพ ไม่ใช่ทุกสถานการณ์ที่ต้องการ Visual Studio เต็มประสิทธิภาพ
ผู้เชี่ยวชาญต้องการใช้เครื่องมือระดับมืออาชีพเพื่อให้เกิดประสิทธิผลสูงสุด สูตร Power Fx สามารถเก็บไว้ใน ไฟล์ต้นฉบับ YAML ซึ่งง่ายต่อการแก้ไขด้วย Visual Studio Code, Visual Studio หรือโปรแกรมแก้ไขข้อความอื่น ๆ และเปิดใช้งาน Power Fx ให้อยู่ภายใต้การควบคุมต้นทางด้วย GitHub, Azure DevOps หรือระบบควบคุมโค้ดต้นฉบับอื่นๆ
Power Fx รองรับส่วนประกอบตามสูตรสำหรับการแบ่งปันและนำกลับมาใช้ใหม่ เราได้ประกาศการสนับสนุนพารามิเตอร์สำหรับคุณสมบัติของส่วนประกอบ ซึ่งทำให้สามารถสร้างฟังก์ชันที่ผู้ใช้กำหนดเองเท่านั้นได้โดยมีการปรับปรุงเพิ่มเติมระหว่างทาง
ยอกจากนี้ Power Fx เป็นเลิศในการรวมส่วนประกอบและบริการที่สร้างขึ้นโดยผู้เชี่ยวชาญ ตัวเชื่อมต่อที่พร้อมใช้งานทันทีช่วยให้เข้าถึงแหล่งข้อมูลและบริการเว็บหลายร้อยแห่ง ตัวเชื่อมต่อแบบกำหนดเองเปิดใช้งาน Power Fx เพื่อพูดคุยกับบริการเว็บ REST และส่วนประกอบโค้ดที่เปิดใช้งาน Power Fx เพื่อโต้ตอบกับ JavaScript ที่กำหนดเองอย่างสมบูรณ์บนหน้าจอและหน้า
หลักการออกแบบ
แบบธรรมดา
Power Fx ออกแบบมาเพื่อกำหนดเป้าหมายผู้ชมที่เป็นผู้สร้าง ซึ่งสมาชิกยังไม่ได้รับการฝึกอบรมให้เป็นนักพัฒนา ทุกที่เป็นไปได้ เราใช้ความรู้ที่ว่าผู้ชมนี้จะรู้อยู่แล้วหรือสามารถรับได้อย่างรวดเร็ว จำนวนแนวคิดที่ต้องใช้ในการประสบความสำเร็จจะถูกจำกัดไว้ให้น้อยที่สุด
การพัฒนาภาษาโปรแกรมเป็นสิ่งที่จำเป็นและยุ่งยาก ทุกคน—โดยชอบธรรม—มีความกังวลว่าการเปลี่ยนแปลง ไม่ว่าจะมีเจตนาดีเพียงใดก็ตาม อาจทำลายรหัสที่มีอยู่และต้องการให้ผู้ใช้เรียนรู้รูปแบบใหม่ Power Fx ให้ความสำคัญกับความเข้ากันได้แบบย้อนหลังอย่างจริงจัง แต่เรายังเชื่อมั่นอย่างยิ่งว่าเราไม่สามารถทำให้ถูกต้องได้ในครั้งแรกเสมอไป และเราจะร่วมกันเรียนรู้สิ่งที่ดีที่สุดในฐานะชุมชน เราต้องวิวัฒนาการและรองรับที่ออกแบบโดย Power Fx ให้วิวัฒนาการทางภาษาตั้งแต่เริ่มต้น
ตราประทับรุ่นภาษารวมอยู่ในทุกเอกสาร Power Fx ที่บันทึกไว้ หากเราต้องการทำการเปลี่ยนแปลงที่เข้ากันไม่ได้ เราจะเขียนสิ่งที่เราเรียกว่า "ตัวแปลงความเข้ากันได้ย้อนกลับ" ซึ่งจะเขียนสูตรใหม่โดยอัตโนมัติในครั้งถัดไปที่มีการแก้ไข หากการเปลี่ยนแปลงเป็นสิ่งสำคัญที่เราต้องให้ความรู้แก่ผู้ใช้ เราจะแสดงข้อความพร้อมลิงก์ไปยังเอกสารด้วย เมื่อใช้สิ่งอำนวยความสะดวกนี้ เรายังสามารถโหลดแอปที่สร้างขึ้นด้วยเวอร์ชันพรีวิวของ Power Apps ในหลายปีที่ผ่านมา แม้จะมีการเปลี่ยนแปลงทั้งหมดที่เกิดขึ้นตั้งแต่นั้นมา
Demonstrate the business value and product capabilities of Microsoft Power Platform, such as Power Apps, data connections with Dataverse, and Power Automate.