การฝึกอบรม
โมดูล
Combine multiple tables with JOINs in T-SQL - Training
Combine multiple tables with JOINs in T-SQL
เบราว์เซอร์นี้ไม่ได้รับการสนับสนุนอีกต่อไป
อัปเกรดเป็น Microsoft Edge เพื่อใช้ประโยชน์จากคุณลักษณะล่าสุด เช่น การอัปเดตความปลอดภัยและการสนับสนุนด้านเทคนิค
Table.FuzzyNestedJoin(table1 as table, key1 as any, table2 as table, key2 as any, newColumnName as text, optional joinKind as nullable number, optional joinOptions as nullable record) as table
รวมแถวของ table1
กับแถวของ table2
โดยยึดตามการจับคู่ค่าของคอลัมน์คีย์แบบไม่น่าเบื่อซึ่งถูกเลือกโดย key1
(สําหรับ table1
) และ key2
(สําหรับ table2
) ผลลัพธ์จะถูกส่งกลับในคอลัมน์ใหม่ที่ชื่อ newColumnName
การจับคู่แบบไม่ชัดเจนคือการเปรียบเทียบตามความคล้ายคลึงกันของข้อความมากกว่าความเท่าเทียมกันของข้อความ
joinKind
ที่เลือกได้จะระบุชนิดของการรวมที่จะดําเนินการ ตามค่าเริ่มต้น การรวมภายนอกด้านซ้าย (left outer join) จะดําเนินการหากไม่ได้ระบุ joinKind
ไว้ ตัวเลือกได้แก่:
อาจมีชุด joinOptions
ที่เลือกได้เพื่อระบุวิธีการเปรียบเทียบคอลัมน์คีย์ ตัวเลือกได้แก่:
ConcurrentRequests
: ตัวเลขระหว่าง 1 ถึง 8 ที่ระบุจํานวนเธรดขนานที่จะใช้สําหรับการจับคู่แบบไม่ชัดเจน ค่าเริ่มต้นคือ 1Culture
: อนุญาตให้มีระเบียนที่ตรงกันตามกฎเฉพาะของวัฒนธรรม ซึ่งอาจเป็นชื่อวัฒนธรรมที่ถูกต้อง ตัวอย่างเช่น ตัวเลือกวัฒนธรรมของ "ja-JP" จะจับคู่ระเบียนตามวัฒนธรรมญี่ปุ่น ค่าเริ่มต้นคือ "" ซึ่งจะจับคู่ตามวัฒนธรรมอังกฤษที่ไม่แปรเปลี่ยนIgnoreCase
: ค่าตรรกะ (จริง/เท็จ) ที่อนุญาตให้มีการจับคู่คีย์แบบไม่เทียบตรงตามตัวพิมพ์ใหญ่-เล็ก ตัวอย่างเช่น เมื่อเป็นจริง "Grapes" จะถูกจับคู่กับ "grapes" ค่าเริ่มต้นคือ จริงIgnoreSpace
: ค่าตรรกะ (จริง/เท็จ) ที่อนุญาตให้มีการรวมส่วนของข้อความเพื่อค้นหารายการที่ตรงกัน ตัวอย่างเช่น เมื่อเป็นจริง "Gra pes" จะถูกจับคู่กับ "Grapes" ค่าเริ่มต้นคือ จริงNumberOfMatches
: จํานวนเต็มที่ระบุจํานวนแถวที่ตรงกันสูงสุดที่สามารถแสดงได้สําหรับแถวอินพุตทั้งหมด ตัวอย่างเช่น ค่า 1 จะส่งกลับในแถวที่ตรงกันมากที่สุดสําหรับแต่ละแถวอินพุต ถ้าไม่ได้ระบุตัวเลือกนี้ แถวที่ตรงกันทั้งหมดจะถูกส่งกลับSimilarityColumnName
: ชื่อสําหรับคอลัมน์ที่แสดงความคล้ายคลึงกันระหว่างค่าอินพุตและค่าตัวแทนสําหรับอินพุตนั้น ค่าเริ่มต้นเป็น null ซึ่งในกรณีนี้จะไม่มีการเพิ่มคอลัมน์ใหม่สําหรับความคล้ายคลึงกันThreshold
: ตัวเลขระหว่าง 0.00 ถึง 1.00 ที่ระบุคะแนนความคล้ายคลึงกันที่จะจับคู่ค่าสองค่า ตัวอย่างเช่น "Grapes" และ "Graes" ("p" หายไป) จะจับคู่ก็ต่อเมื่อตั้งค่าตัวเลือกนี้น้อยกว่า 0.90 ค่าเกณฑ์ 1.00 จะอนุญาตให้จับคู่ตรงกันทั้งหมดเท่านั้น (โปรดทราบว่า "การจับคู่ที่แน่นอน" แบบไม่ชัดเจนอาจละเว้นความแตกต่าง เช่น การกําหนดลําดับคํา และเครื่องหมายวรรคตอน) ค่าเริ่มต้นคือ 0.80TransformationTable
: ตารางที่อนุญาตให้มีระเบียนที่ตรงกันตามการแมปค่าแบบกําหนดเอง ซึ่งควรประกอบด้วยคอลัมน์ "From" และ "To" ตัวอย่างเช่น "Grapes" จับคู่กับ "Raisins" ถ้ามีตารางการแปลงที่มีคอลัมน์ "From" ที่มี "Grapes" และคอลัมน์ "To" ที่มี "Raisins" โปรดทราบว่าการแปลงจะนําไปใช้กับข้อความทั้งหมดที่เกิดขึ้นในตารางการแปลง ด้วยตารางการแปลงข้างต้น "Grapes are sweet" จะจับคู่กับ "Raisins are sweet"การรวมภายในด้านซ้ายแบบไม่เป็นทางการของสองตารางโดยยึดตาม [FirstName]
การใช้งาน
Table.FuzzyNestedJoin(
Table.FromRecords(
{
[CustomerID = 1, FirstName1 = "Bob", Phone = "555-1234"],
[CustomerID = 2, FirstName1 = "Robert", Phone = "555-4567"]
},
type table [CustomerID = nullable number, FirstName1 = nullable text, Phone = nullable text]
),
{"FirstName1"},
Table.FromRecords(
{
[CustomerStateID = 1, FirstName2 = "Bob", State = "TX"],
[CustomerStateID = 2, FirstName2 = "bOB", State = "CA"]
},
type table [CustomerStateID = nullable number, FirstName2 = nullable text, State = nullable text]
),
{"FirstName2"},
"NestedTable",
JoinKind.LeftOuter,
[IgnoreCase = true, IgnoreSpace = false]
)
ผลลัพธ์ของ
Table.FromRecords({
[
CustomerID = 1,
FirstName1 = "Bob",
Phone = "555-1234",
NestedTable = Table.FromRecords({
[
CustomerStateID = 1,
FirstName2 = "Bob",
State = "TX"
],
[
CustomerStateID = 2,
FirstName2 = "bOB",
State = "CA"
]
})
],
[
CustomerID = 2,
FirstName1 = "Robert",
Phone = "555-4567",
NestedTable = Table.FromRecords({})
]
})
การฝึกอบรม
โมดูล
Combine multiple tables with JOINs in T-SQL - Training
Combine multiple tables with JOINs in T-SQL
เอกสาร
Table.FuzzyJoin - PowerQuery M
Learn more about: Table.FuzzyJoin
Table.FuzzyGroup - PowerQuery M
Learn more about: Table.FuzzyGroup
Table.NestedJoin - PowerQuery M
Learn more about: Table.NestedJoin