หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
นําไปใช้กับ: แอป
พื้นที่ทํางาน Copilot Studio
Desktop โฟลว์
แอป
แบบจําลอง Power Platform CLI
ฟังก์ชัน Dataverse
จัดรูปร่างตารางหรือเรกคอร์ดโดยการเพิ่ม, ทิ้ง, เปลี่ยนชื่อ และเลือกคอลัมน์
ฟังก์ชัน ForAll ยังสามารถใช้จัดรูปร่างตารางโดยการส่งคืนตารางของเรกคอร์ดใหม่ที่สร้างขึ้นจากคอลัมน์ที่มีอยู่
ภาพรวม
ฟังก์ชันเหล่านี้จัดรูปร่างตารางหรือบันทึกโดยการปรับคอลัมน์:
- ลดตารางหรือระเบียนที่ประกอบด้วยหลายคอลัมน์ลงเหลือคอลัมน์เดียวสําหรับการใช้งานกับฟังก์ชันคอลัมน์เดียว เช่น Lower หรือ Sqrt
- เพิ่มคอลัมน์จากการคํานวณลงในตารางหรือระเบียน (ตัวอย่างเช่น คอลัมน์ ราคารวม ที่แสดงผลลัพธ์ของการคูณ Quantity กับ Unit Price)
- เปลี่ยนชื่อคอลัมน์เป็นชื่อที่สื่อความหมาย สำหรับแสดงให้ผู้ใช้ หรือใช้ในสูตร
ตารางคือค่าใน Power Apps ซึ่งก็เหมือนกับสตริงหรือตัวเลข คุณสามารถระบุตารางเป็นอาร์กิวเมนต์ในสูตร และฟังก์ชันสามารถส่งกลับตารางเป็นผลลัพธ์
หมายเหตุ
ฟังก์ชันที่หัวข้อนี้อธิบายไม่มีการปรับเปลี่ยนตารางต้นฉบับ แต่ ฟังก์ชันเหล่านี้รับตารางนั้นเป็นอาร์กิวเมนต์ และส่งกลับตารางใหม่ที่ผ่านการแปลงแล้ว สำหรับข้อมูลเพิ่มเติม โปรดดู การทำงานกับตาราง
คุณไม่สามารถปรับเปลี่ยนคอลัมน์ของ แหล่งข้อมูล โดยใช้ฟังก์ชันเหล่านี้ได้ คุณต้องปรับเปลี่ยนข้อมูลที่แหล่งข้อมูลโดยตรง คุณสามารถเพิ่มคอลัมน์ไปยัง คอลเลกชัน ด้วยฟังก์ชัน Collect ได้ สำหรับข้อมูลเพิ่มเติม โปรดดู การทำงานกับแหล่งข้อมูล
Description
ฟังก์ชัน AddColumns จะเพิ่มคอลัมน์ลงในตารางหรือระเบียน และสูตรกําหนดค่าในคอลัมน์นั้น คอลัมน์ที่มีอยู่แล้วยังคงไม่เปลี่ยนแปลง
สูตรจะถูกประเมินสําหรับระเบียนที่ระบุ หรือสําหรับแต่ละระเบียนของตารางที่ระบุ
ฟิลด์ของเรกคอร์ดที่กำลังประมวลผลอยู่สามารถใช้งานได้ภายในสูตร ใช้ ตัวดำเนินการ ThisRecord หรือเพียงแค่อ้างอิงชื่อของฟิลด์เหมือนที่คุณทำกับค่าอื่น ตัวดำเนินการ Asยังสามารถใช้เพื่อตั้งชื่อเรกคอร์ดที่กำลังประมวลผล ซึ่งสามารถช่วยให้สูตรของคุณง่ายต่อการเข้าใจมากขึ้น และทำให้สามารถเข้าถึงเรกคอร์ดที่ซ้อนกันได้ สำหรับข้อมูลเพิ่มเติม ดูตัวอย่างด้านล่างและ การทำงานกับขอบเขตเรกคอร์ด
ฟังก์ชัน DropColumns ไม่รวมคอลัมน์จากตารางหรือระเบียน คอลัมน์อื่นๆ ทั้งหมดยังคงไม่เปลี่ยนแปลง DropColumns ไม่รวมคอลัมน์ และมี ShowColumns คอลัมน์
RenameColumnsใช้ฟังก์ชันเพื่อเปลี่ยนชื่อคอลัมน์ของตารางหรือเรกคอร์ดอย่างน้อยหนึ่งรายการโดยมีคู่อาร์กิวเมนต์อย่างน้อยหนึ่งคู่ที่ระบุชื่อของคอลัมน์ที่ตารางหรือระเบียนมี (ชื่อเดิมซึ่งคุณต้องการแทนที่) และชื่อของคอลัมน์ที่ตารางหรือระเบียนไม่มีอยู่ (ชื่อใหม่ ซึ่งคุณต้องการใช้) ชื่อเดิมต้องมีอยู่ในตารางหรือเรกคอร์ดและต้องมีชื่อใหม่ ชื่อแต่ละคอลัมน์อาจปรากฏเพียงครั้งเดียวในรายการอาร์กิวเมนต์เป็นชื่อคอลัมน์เก่าหรือชื่อคอลัมน์ใหม่ หากต้องการเปลี่ยนชื่อคอลัมน์เป็นชื่อคอลัมน์ที่มีอยู่ ก่อนอื่นให้วางคอลัมน์ที่มีอยู่ด้วย DropColumnsหรือเปลี่ยนชื่อคอลัมน์ที่มีอยู่ออกไปโดยการซ้อนฟังก์ชันหนึ่งไว้ภายในอีกฟังก์ชันหนึ่งRenameColumns
ฟังก์ชัน ShowColumns ประกอบด้วยคอลัมน์ของตารางหรือเรกคอร์ด และทิ้งคอลัมน์อื่น ๆ ทั้งหมด คุณสามารถใช้ ShowColumns เพื่อสร้างตารางแบบคอลัมน์เดียวหรือระเบียนจากตารางแบบหลายคอลัมน์หรือระเบียนได้ ShowColumns รวมคอลัมน์และไม่ DropColumns รวมคอลัมน์
สําหรับฟังก์ชันเหล่านี้ทั้งหมด ผลลัพธ์คือตารางใหม่หรือระเบียนที่มีการแปลงนําไปใช้ ตารางหรือระเบียนต้นฉบับไม่ได้ถูกปรับเปลี่ยน คุณไม่สามารถปรับเปลี่ยนตารางหรือระเบียนที่มีอยู่ด้วยสูตร SharePoint, Microsoft Dataverse, SQL Server และแหล่งข้อมูลอื่นมีเครื่องมือสําหรับการปรับเปลี่ยนคอลัมน์ของรายการและตาราง ซึ่งมักจะเรียกว่า schema ฟังก์ชันในหัวข้อนี้จะแปลงเฉพาะตารางอินพุตหรือระเบียนโดยไม่ต้องปรับเปลี่ยนต้นฉบับลงในตารางผลลัพธ์หรือระเบียนสําหรับการใช้งานเพิ่มเติม
อาร์กิวเมนต์ของฟังก์ชันเหล่านี้รองรับการมอบสิทธิ์ ตัวอย่างเช่น ฟังก์ชัน Filter ที่ใช้เป็นอาร์กิวเมนต์เพื่อดึงเรกคอร์ดที่เกี่ยวข้องค้นหารายการทั้งหมด แม้ว่าแหล่งข้อมูล '[dbo].[AllListings]' มีหนึ่งล้านแถว:
AddColumns( RealEstateAgents,
Listings,
Filter( '[dbo].[AllListings]', ListingAgentName = AgentName )
)
อย่างไรก็ตาม การส่งออกของฟังก์ชันเหล่านี้จะขึ้นอยู่กับ ข้อจำกัดเรกคอร์ดที่มอบสิทธิ์ไม่ได้ ในตัวอย่างนี้ มีเพียง 500 เรกคอร์ดเท่านั้นที่ส่งกลับ แม้ว่าแหล่งข้อมูล RealEstateAgents มีเรกคอร์ดมากกว่า 501 รายการ
ถ้าคุณใช้ AddColumns ในลักษณะนี้ ตัวกรอง ต้องโทรไปยังแหล่งข้อมูลที่แยกต่างหากสําหรับแต่ละระเบียนแรกเหล่านั้นใน RealEstateAgents ซึ่งทําให้เกิดการสื่อสารบนเครือข่ายจํานวนมาก หาก [dbo](.[AllListings] มีขนาดเล็กพอและไม่เปลี่ยนแปลงบ่อย คุณสามารถเรียกฟังก์ชัน Collect ใน OnStart เพื่อแคชแหล่งข้อมูลในแอปของคุณเมื่อเริ่มทำงาน อีกทางเลือกหนึ่งคือ คุณสามารถปรับโครงสร้างแอปของคุณเพื่อดึงเรกคอร์ดที่เกี่ยวข้องเฉพาะเมื่อผู้ใช้ถามหา
หมายเหตุ
ใน Power Apps ก่อนเวอร์ชัน 3.24042 ชื่อคอลัมน์ถูกระบุด้วยสตริงข้อความโดยใช้เครื่องหมายคำพูดคู่ และหากเชื่อมต่อกับแหล่งข้อมูล ชื่อคอลัมน์ก็จะต้องเป็นชื่อเชิงตรรกะด้วย ตัวอย่างเช่น ชื่อตรรกะ "cr43e_name" ที่มีเครื่องหมายคำพูดคู่ถูกนำมาใช้แทนชื่อที่แสดง ชื่อ ที่ไม่มีเครื่องหมายคำพูด สำหรับแหล่งข้อมูล SharePoint และ Excel ที่มีชื่อคอลัมน์ที่มีการเว้นวรรค แต่ละช่องว่างจะถูกระบุด้วย "_x0020_" เช่น "ชื่อคอลัมน์" เป็น "Column_x0020_Name" หลังจากเวอร์ชันนี้ แอปทั้งหมดได้รับการอัปเดตโดยอัตโนมัติเป็นไวยากรณ์ใหม่ที่อธิบายไว้ในบทความนี้
ไวยากรณ์
AddColumns( TableOrRecord, ColumnName1, Formula1 [, ColumnName2, Formula2, ... ] )
- จําเป็นต้องมี TableOrRecord ตารางหรือระเบียนที่จะดําเนินการ
- ColumnNames - จำเป็น ชื่อของคอลัมน์ที่จะเพิ่ม
- สูตร - จำเป็น สูตรในการประเมินสำหรับแต่ละเรกคอร์ด ผลลัพธ์จะถูกเพิ่มเป็นค่าของคอลัมน์ใหม่ที่ตรงกัน คุณสามารถอ้างอิงคอลัมน์อื่นของตารางหรือระเบียนในสูตรนี้ได้
DropColumns( TableOrRecord, ColumnName1 [, ColumnName2, ... ] )
- จําเป็นต้องมี TableOrRecord ตารางหรือระเบียนที่จะดําเนินการ
- ColumnNames - จำเป็น ชื่อของคอลัมน์ที่จะวาง
RenameColumns( TableOrRecord, OldColumnName1, NewColumnName1 [, OldColumnName2, NewColumnName2, ... ] )
- จําเป็นต้องมี TableOrRecord ตารางหรือระเบียนที่จะดําเนินการ
- OldColumnNames - จำเป็น ชื่อของคอลัมน์ที่จะเปลี่ยนชื่อจากตารางหรือเรกคอร์ดต้นฉบับ องค์ประกอบนี้ปรากฏก่อนในคู่อาร์กิวเมนต์ (หรือก่อนในแต่ละคู่อาร์กิวเมนต์ หากสูตรมีมากกว่าหนึ่งคู่)
- NewColumnNames - จำเป็น ชื่อทดแทน องค์ประกอบนี้ปรากฏสุดท้ายในคู่อาร์กิวเมนต์ (หรือสุดท้ายในแต่ละคู่อาร์กิวเมนต์ หากสูตรมีมากกว่าหนึ่งคู่)
ShowColumns( TableOrRecord, ColumnName1 [, ColumnName2, ... ] )
- จําเป็นต้องมี TableOrRecord ตารางหรือระเบียนที่จะดําเนินการ
- ColumnNames - จำเป็น ชื่อของคอลัมน์ที่จะรวม
ตัวอย่าง
ตัวอย่างในส่วนนี้ ใช้แหล่งข้อมูล IceCreamSales ซึ่งประกอบด้วยข้อมูลในตารางนี้:
ตัวอย่างเหล่านี้ไม่ได้ปรับเปลี่ยนแหล่งข้อมูล IceCreamSales แต่ละฟังก์ชันแปลงค่าของแหล่งข้อมูลเป็นตาราง และส่งกลับค่าเป็นผลลัพธ์
| สูตร | Description | Result |
|---|---|---|
| AddColumns( IceCreamSales, Revenue, UnitPrice * QuantitySold ) | เพิ่มคอลัมน์ Revenue ไปยังผลลัพธ์ สำหรับแต่ละเรกคอร์ด UnitPrice * QuantitySold ถูกประเมิน และผลลัพธ์จะถูกวางในคอลัมน์ใหม่ |
|
| DropColumns( IceCreamSales, UnitPrice ) | ไม่รวมคอลัมน์ UnitPrice จากผลลัพธ์ ใช้ฟังก์ชันนี้เพื่อแยกคอลัมน์ออก และใช้ ShowColumns เพื่อรวมเข้าไว้ด้วย |
|
| ShowColumns( IceCreamSales, Flavor ) | รวมเฉพาะคอลัมน์ Flavor ในผลลัพธ์ ใช้ฟังก์ชันนี้รวมคอลัมน์ และใช้ DropColumns เพื่อแยกคอลัมน์ออก |
|
| RenameColumns( IceCreamSales, UnitPrice, Price) | เปลี่ยนชื่อคอลัมน์ UnitPrice ในผลลัพธ์ |
|
| RenameColumns( IceCreamSales, UnitPrice, Price, QuantitySold, Number) | เปลี่ยนชื่อคอลัมน์ UnitPrice และ QuantitySold ในผลลัพธ์ |
|
|
DropColumns( RenameColumns( AddColumns( IceCreamSales, Revenue, UnitPrice * QuantitySold), UnitPrice, Price), Quantity) |
ดำเนินการแปลงตารางต่อไปนี้ตามลำดับ เริ่มต้นจากสูตรที่อยู่ภายใน:
|
|
ทีละขั้นตอน
ลองตัวอย่างจากตัวอย่างก่อนหน้าในบทความนี้
สร้างคอลเลกชันโดยการเพิ่มตัวควบคุม ปุ่ม และการตั้งค่าคุณสมบัติ OnSelect ในสูตรนี้:
ClearCollect( IceCreamSales, Table( { Flavor: "Strawberry", UnitPrice: 1.99, QuantitySold: 20 }, { Flavor: "Chocolate", UnitPrice: 2.99, QuantitySold: 45 }, { Flavor: "Vanilla", UnitPrice: 1.50, QuantitySold: 35 } ) )เรียกใช้สูตรโดยการเลือกปุ่ม ในขณะที่กดแป้น Alt ค้างไว้
เพิ่มตัวควบคุม ปุ่ม ที่สอง ตั้งค่าคุณสมบัติ OnSelect ให้สูตรดังกล่าว และจากนั้นเรียกใช้:
ClearCollect( FirstExample, AddColumns( IceCreamSales, Revenue, UnitPrice * QuantitySold ) )บนเมนู ไฟล์ เลือก คอลเลกชัน จากนั้นเลือก IceCreamSales เพื่อแสดงคอลเลกชันนั้น
ดังที่ภาพนี้แสดงให้เห็น สูตรที่สองไม่ได้ปรับเปลี่ยนคอลเลกชันนี้ ฟังก์ชัน AddColumns ใช้ IceCreamSales เป็นอาร์กิวเมนต์แบบอ่านอย่างเดียว ฟังก์ชันไม่ได้ปรับเปลี่ยนตารางที่อาร์กิวเมนต์นั้นอ้างอิงถึง
เลือก FirstExample
ดังที่ภาพนี้แสดง สูตรที่สองส่งกลับตารางใหม่พร้อมคอลัมน์เพิ่ม ฟังก์ชัน ClearCollect บันทึกตารางใหม่ในคอลเลกชัน FirstExample การเพิ่มบางสิ่งลงในตารางต้นฉบับขณะที่ผ่านฟังก์ชันโดยไม่ปรับเปลี่ยนแหล่งที่มา:
แมปคอลัมน์ในส่วนประกอบ
ดูที่ แมปคอลัมน์