# 7.22 Merge Queries आणि सहा join kinds

Source: https://ravindrabagale.com/mr/powerbi/ch07-data-cleaning-a-z-in-power-query/7-22-merge-queries-and-all-join-kinds.html
Language: mr (Marathi with English technical terms)

Merge समान key वापरून tables बाजूने जोडतो. Append rows वाढवतो; Merge matching data चे columns आणतो. Append साठी matching names, Merge साठी Product ID सारखी common key लागते.

उदाहरणात Orders डावीकडे आणि Product उजवीकडे आहे. P-999 Product मध्ये नाही; P-310 अजून विकला गेलेला नाही.

 | Order ID
 | Product ID

 | BLK-1
 | P-101

 | BLK-2
 | P-205

 | BLK-3
 | P-999

 | Product ID
 | Product Name

 | P-101
 | Gokul Cow Milk 500 ml

 | P-205
 | Poha 1 kg

 | P-310
 | Solapuri Chaddar

 | Join | कोणत्या rows? | Sample result / उपयोग

 | Left Outer | डाव्या सर्व, उजवीकडचे matches | BLK-1 Milk, BLK-2 Poha, BLK-3 null; lookup.

 | Right Outer | उजव्या सर्व, डावीकडचे matches | Milk BLK-1, Poha BLK-2, Chaddar null.

 | Full Outer | दोन्हीकडच्या सर्व | दोन्ही unmatched प्रकारही; reconciliation.

 | Inner | फक्त matches | BLK-1 व BLK-2.

 | Left Anti | डाव्या unmatched | BLK-3 / P-999; चुकीचा code शोधा.

 | Right Anti | उजव्या unmatched | P-310 Solapuri Chaddar; न विकलेला product.

Orders › Home › Merge Queries as New निवडा.

वर Orders मधला Product ID, खाली Product मधला Product ID निवडा.

Left Anti निवडा; match count वाचा आणि OK करा.

Query ला DQ_Unknown_Products नाव द्या. Data-quality page हवी असल्यास load करा; अन्यथा helper ठेवा.

नेहमीच्या lookup साठी Left Outer करून आवश्यक Product Name / Category fields expand करा. Sample छोट्या table मध्ये Category नाही; पूर्ण Product table वापरा किंवा code मधून तो field वगळा.

City + Platform सारख्या दोन keys असतील तर दोन्ही tables मध्ये त्याच क्रमाने Ctrl-click करा.

Lookup  = Table.NestedJoin(Orders, {"Product ID"}, Product, {"Product ID"}, "Product", JoinKind.LeftOuter),
Expand  = Table.ExpandTableColumn(Lookup, "Product", {"Product Name", "Category"}),
Unknown = Table.NestedJoin(Orders, {"Product ID"}, Product, {"Product ID"}, "P", JoinKind.LeftAnti)

Merge की model relationship?

प्रत्येक dimension fact table मध्ये merge करण्याची गरज नाही. Star schema मध्ये dimensions वेगळ्या ठेऊन relationships बनवणं योग्य असू शकतं. Standardisation, snowflake flatten किंवा quality checks साठी Merge वापरा.

Practice

Orders व DarkStore वर Right Anti वापरून order नसलेले stores शोधा, उदा. काल्पनिक नवीन Wakad store.

रवींद्र बागले यांची tip

Keys चे types, case व spaces जुळवा. Lookup मध्ये P-101 दोनदा असेल तर expand केल्यावर त्या product च्या orders दुप्पट होऊ शकतात. Lookup key unique आहे का तपासा.
