Alăturarea la mese nu este un concept nou, pun pariu că toți cititorii blogului meu au cel puțin o idee despre asta. Cu toate acestea, există diferite tipuri de asocieri, iar aplicarea acestor tipuri de asocieri nu este posibilă prin intermediul interfeței grafice Power Query. Power BI a făcut recent un pas și l-a implementat în GUI, cu toate acestea s-ar putea să doriți să știți cum să aplicați acest lucru în Power Query. Trucul este că M este prietenul tău, poți face orice vrei în culise cu script M.

îmbinare

Nu vreau să trec prin detaliile explicării fiecărui tip de aderare aici. Imaginea de mai jos a ilustrat-o perfect;

Acum să vedem cum să folosim îmbinările prin Power BI și Power Query;

În Power BI Desktop puteți asocia două tabele cu elementul de meniu Merge din Editorul de interogări, în fila Acasă, Sub Combinați, Merge interogări.

Fereastra Merge va apărea cu posibilitatea de a selecta primul tabel (partea stângă a asocierii) și al doilea tabel (partea dreaptă a asocierii). Puteți alege coloanele la care doriți să participați ca cheie de asociere într-o comandă (puteți alege mai multe coloane cu Ctrl Key). Și există un tip de unire pe care îl puteți alege.

Comportamentul implicit este unirea exterioară lăsată, ceea ce înseamnă toate înregistrările din primul tabel, dacă există vreo înregistrare în primul tabel care se potrivește cu înregistrările din al doilea tabel, ar fi listată și.

După alăturarea tabelelor, al doilea tabel va apărea ca un câmp care are valoarea tabelului în celulele sale. Ce trebuie să faceți este să selectați coloanele pe care doriți să le afișați în setul de rezultate.

Alegeți coloanele după cum urmează:

Puteți alege, de asemenea, dintre unul dintre celelalte tipuri de asociere, după cum se menționează mai jos:

  • Stânga exterioară (toate de la prima, potrivite de la a doua): această opțiune a fost comportamentul implicit anterior în dialogul Merge
  • Dreapta exterioară (toate din a doua, potrivite din prima)
  • Complet exterior (toate rândurile din ambele)
  • Interior (numai rânduri potrivite); această opțiune era disponibilă anterior prin opțiunea „Alegeți doar rândurile potrivite” din dialogul Îmbinare
  • Anti stânga (rânduri numai în primul)
  • Anti dreapta (rânduri doar în secundă)

În momentul redactării acestei postări pe blog, Power Query Editor (GUI) acceptă doar două tipuri de asocieri menționate mai sus: Asociere la stânga și Asociere interioară.

Ar trebui să urmați aceeași cale prin Merge Interogări, apoi veți vedea opțiunile de asociere ca mai jos:

După cum vedeți, comportamentul implicit este Îmbinare stângă. Puteți să o schimbați la îmbinare interioară selectând „Includeți doar rândurile potrivite”.

Schimbarea prin M

Puteți aplica orice tip de asociere doriți pur și simplu accesând editorul avansat și schimbând scriptul M după cum urmează:

Accesați fila Vizualizare și faceți clic pe Advanced Editor:

În fereastra de interogare Advanced Editor puteți vedea scriptul M care creează setul de rezultate. Găsiți funcția de unire și schimbați JoinKind.

JoinKind este un tip de enumerare care poate avea valori mai mici:

  • JoinKind.Inner = 0
  • JoinKind.LeftOuter = 1
  • JoinKind.RightOuter = 2
  • JoinKind.FullOuter = 3
  • JoinKind.LeftAnti = 4
  • JoinKind.RightAnti = 5

Deci, îl puteți schimba pur și simplu după cum doriți.

Cred că această caracteristică va fi disponibilă în curând și pe GUI Editor Query Editor, dar până în acel moment descrierea de mai sus vă va ajuta în orice situație în care doriți să setați un tip de alăturare.

Video

Postări asemănatoare:

8 gânduri despre „Cum să schimbați tipurile de îmbinare în Power BI și Power Query”

Bună ziua Reza, este frumos, dar există vreo modalitate de a efectua alte alăturări? Adică se alătură condițiilor precum LIKE sau BETWEEN? Mulțumesc, Lea

Mulțumiri,
Din păcate, asocierile Not-Equi (cu condiții precum „like”, între…) nu sunt acceptate în funcțiile existente. Trebuie scris personalizat. Sperăm că acest lucru vine într-un anumit stadiu ca funcții încorporate.

Mulțumesc, nu mi-ai făcut plăcere: o) Știi o sursă de informații, unde aș putea găsi asta? Un exemplu ar fi minunat.

Nu am găsit niciun link care să fi implementat o înscriere non-equi cu Power Query. Ideea pe care [încercam] să o spun este că: deoarece nu este o caracteristică sau o funcție care nu este disponibilă, atunci trebuie scrisă manual. În acest moment, din păcate, sunt ocupat și nu am timp să dezvolt o astfel de funcție. Cu toate acestea, vă pot ghida în direcția corectă;
- ca: pentru asocierea pe baza asemănătorului, puteți filtra al doilea tabel pe baza înregistrărilor că cheia lor de asociere este ca una dintre înregistrările din primul tabel. apoi încrucișați prima înregistrare a primului tabel cu fiecare înregistrare a celui de-al doilea tabel filtrat. apoi faceți-o pentru a doua înregistrare a primului tabel ... . până la capăt.
- între: pentru asociere bazată pe între, puteți filtra al doilea tabel pe baza înregistrărilor, iar cheia lor de asociere este ÎNTRE valorile menționate în prima înregistrare a primului tabel, apoi unirea încrucișată așa cum s-a menționat mai sus.
Aceste două metode sunt doar ceva care îmi vine în minte chiar acum, acestea nu sunt cu siguranță cea mai bună soluție pentru asta, dar ar trebui să fie viabilă. Ați putea găsi și alte metode pe care le cred.

Bună Reza,
Iti multumesc foarte mult pentru raspunsul tau. Voi încerca metoda propusă și voi continua să caut altă soluție. Poate că „M” ar putea ajuta. Este interesant faptul că multe instrumente de BI vă permit doar să faceți (vreau să spun într-un mod ușor) unirea „=” și doar una pe care am găsit-o până acum vă permite să efectuați confortabil orice unire de care aveți nevoie.
Noroc,
Lea

M ajută cu siguranță. Spuneți-mi dacă aveți întrebări.
Noroc,
Reza

Putem adăuga interogări personalizate pentru Join in Power BI. Dacă da, cum putem face asta.

Salut.
Vrei să spui interogări SQL personalizate? da, puteți lipi interogarea dvs. SQL în Obțineți date de la SQL Server, în modul avansat în caseta de text
Noroc
Reza