แชร์ผ่าน


Table.FuzzyGroup

ไวยากรณ์

Table.FuzzyGroup(table as table, key as any, aggregatedColumns as list, optional options as nullable record) as table

เกี่ยวกับ

จัดกลุ่มแถวของ table ตามการจับคู่ค่าที่ไม่จําเป็นในคอลัมน์ keyที่ระบุ สําหรับแต่ละแถว สําหรับแต่ละกลุ่ม ระเบียนจะถูกสร้างขึ้นโดยประกอบด้วยคอลัมน์คีย์ (และค่าต่าง ๆ) พร้อมกับคอลัมน์รวมใด ๆ ที่ระบุโดยaggregatedColumns ฟังก์ชันนี้ไม่สามารถรับประกันได้ว่าจะแสดงลําดับแบบคงที่ของแถว

อาจรวมชุด options ที่เลือกได้ เพื่อระบุวิธีการเปรียบเทียบคอลัมน์คีย์ ตัวเลือกมีดังนี้

  • Culture: อนุญาตให้จัดกลุ่มระเบียนตามกฎเฉพาะของวัฒนธรรม ซึ่งอาจเป็นชื่อวัฒนธรรมที่ถูกต้อง ตัวอย่างเช่น ตัวเลือกวัฒนธรรมของ "ja-JP" จะจัดกลุ่มระเบียนตามวัฒนธรรมญี่ปุ่น ค่าเริ่มต้นคือ "" ซึ่งจัดกลุ่มตามวัฒนธรรมอังกฤษที่ไม่แปรเปลี่ยน
  • IgnoreCase: ค่าตรรกะ (จริง/เท็จ) ที่อนุญาตให้มีการจัดกลุ่มคีย์แบบไม่ตรงตามตัวพิมพ์ใหญ่-เล็ก ตัวอย่างเช่น เมื่อเป็นจริง "Grapes" จะถูกจัดรวมกลุ่มกับ "grapes" ค่าเริ่มต้นคือ จริง
  • IgnoreSpace: ค่าตรรกะ (จริง/เท็จ) ที่อนุญาตให้มีการรวมส่วนของข้อความเพื่อค้นหากลุ่ม ตัวอย่างเช่น เมื่อเป็นจริง "Gra pes" จะถูกจัดรวมกลุ่มกับ "Grapes" ค่าเริ่มต้นคือ จริง
  • SimilarityColumnName: ชื่อสําหรับคอลัมน์ที่แสดงความคล้ายคลึงกันระหว่างค่าอินพุตและค่าตัวแทนสําหรับอินพุตนั้น ค่าเริ่มต้นเป็น null ซึ่งในกรณีนี้จะไม่มีการเพิ่มคอลัมน์ใหม่สําหรับความคล้ายคลึงกัน
  • Threshold: ตัวเลขระหว่าง 0.00 และ 1.00 ที่ระบุคะแนนความคล้ายคลึงกันที่จะจัดกลุ่มค่าสองค่า ตัวอย่างเช่น "Grapes" และ "Graes" ("p" หายไป) จะถูกจัดกลุ่มเข้าด้วยกันก็ต่อเมื่อตั้งค่าตัวเลือกนี้น้อยกว่า 0.90 ค่าเกณฑ์ 1.00 จะอนุญาตให้จับคู่ตรงกันทั้งหมดเท่านั้น (โปรดทราบว่า "การจับคู่ที่แน่นอน" แบบไม่ชัดเจนอาจละเว้นความแตกต่าง เช่น การกําหนดลําดับคํา และเครื่องหมายวรรคตอน) ค่าเริ่มต้นคือ 0.80
  • TransformationTable: ตารางที่อนุญาตให้จัดกลุ่มระเบียนโดยยึดตามการแมปค่าแบบกําหนดเอง ซึ่งควรประกอบด้วยคอลัมน์ "From" และ "To" ตัวอย่างเช่น "Grapes" จัดรวมกลุ่มกับ "Raisins" ถ้ามีตารางการแปลงที่มีคอลัมน์ "From" ที่มี "Grapes" และคอลัมน์ "To" ที่มี "Raisins" โปรดทราบว่าการแปลงจะนําไปใช้กับข้อความทั้งหมดที่เกิดขึ้นในตารางการแปลง ด้วยตารางการแปลงข้างต้น "Grapes are sweet" จะถูกจัดรวมกลุ่มกับ "Raisins are sweet"

ตัวอย่างที่ 1

จัดกลุ่มตารางโดยเพิ่มคอลัมน์รวม [Count] ที่มีจํานวนพนักงานในแต่ละตําแหน่งที่ตั้ง (each Table.RowCount(_))

การใช้งาน

Table.FuzzyGroup(
    Table.FromRecords(
        {
            [EmployeeID = 1, Location = "Seattle"],
            [EmployeeID = 2, Location = "seattl"],
            [EmployeeID = 3, Location = "Vancouver"],
            [EmployeeID = 4, Location = "Seatle"],
            [EmployeeID = 5, Location = "vancover"],
            [EmployeeID = 6, Location = "Seattle"],
            [EmployeeID = 7, Location = "Vancouver"]
        },
        type table [EmployeeID = nullable number, Location = nullable text]
    ),
    "Location",
    {"Count", each Table.RowCount(_)},
    [IgnoreCase = true, IgnoreSpace = true]
)

เอาท์พุท

Table.FromRecords({
    [Location = "Seattle", Count = 4],
    [Location = "Vancouver", Count = 3]
})