แชร์ผ่าน


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"}
)

ฟังก์ชันตัวเปรียบเทียบ