Table.Group
ไวยากรณ์
Table.Group(table as table, key as any, aggregatedColumns as list, optional groupKind as nullable number, optional comparer as nullable function) as table
เกี่ยวกับ
จัดกลุ่มแถวของ table
ตามคอลัมน์คีย์ที่กําหนดโดยkey
key
สามารถเป็นชื่อคอลัมน์เดียวหรือรายการของชื่อคอลัมน์ สําหรับแต่ละกลุ่ม ระเบียนจะถูกสร้างขึ้นโดยประกอบด้วยคอลัมน์คีย์ (และค่าต่าง ๆ) พร้อมกับคอลัมน์รวมใด ๆ ที่ระบุโดยaggregatedColumns
นอกจากนี้ groupKind
อาจมีการระบุ และ comparer
ด้วย
ถ้าข้อมูลมีการเรียงลําดับตามคอลัมน์ groupKind
คีย์แล้ว จากนั้นก็สามารถระบุ ของ GroupKind.Local ได้ ซึ่งอาจปรับปรุงประสิทธิภาพของการจัดกลุ่มในบางกรณี เนื่องจากแถวทั้งหมดที่มีชุดค่าคีย์ที่กําหนดจะถือว่าอยู่ติดกัน
เมื่อส่งผ่าน comparer
โปรดทราบว่าหากถือว่ามีคีย์ที่แตกต่างกันเท่ากัน แถวอาจถูกวางในกลุ่มที่มีคีย์แตกต่างจากของตัวเอง
ฟังก์ชันนี้ไม่รับประกันการจัดลําดับของแถวที่ส่งกลับ
ตัวอย่าง 1
จัดกลุ่มตารางโดยเพิ่มคอลัมน์รวม [total] ซึ่งมีผลรวมของราคา ("each List.Sum([price])")
การใช้งาน
Table.Group(
Table.FromRecords({
[CustomerID = 1, price = 20],
[CustomerID = 2, price = 10],
[CustomerID = 2, price = 20],
[CustomerID = 1, price = 10],
[CustomerID = 3, price = 20],
[CustomerID = 3, price = 5]
}),
"CustomerID",
{"total", each List.Sum([price])}
)
เอาท์พุท
Table.FromRecords(
{
[CustomerID = 1, total = 30],
[CustomerID = 2, total = 30],
[CustomerID = 3, total = 25]
},
{"CustomerID", "total"}
)