Mai multe lucruri ciudate de la autorul www.excelguru.ca ...

A existat o nouă funcție foarte interesantă adăugată în cea mai recentă actualizare Power Query: abilitatea de a împărți interogările Power. Acest lucru a fost întotdeauna posibil prin editarea manuală a codului M, dar acest lucru îl face foarte simplu.

Unde poate fi foarte util acest lucru atunci când ați creat o interogare plăcută pentru a vă remodela datele. Funcționează bine puțin, apoi îți dai seama că trebuie să creezi un model de date mai mare din date. De exemplu, să presupunem că avem aceste date:

divizate

Și îl parcurgem prin acești pași:

Pentru a veni cu acest lucru:

Toate acestea sunt destul de ușoare pe măsură ce Power Query merge, dar acum modelul trebuie să crească. Pentru a-l extinde, dorim, de asemenea, să creăm un tabel cu articole de inventar unice și un tabel cu oameni de vânzări unici. Practic, vrem să dezagregăm datele care ar fi trebuit să vină din tabele separate, în primul rând.

Ca întotdeauna, există o varietate de moduri de a face acest lucru. Puteți crea noi interogări pentru a încărca datele din tabelul original, apoi le puteți reduce la coloanele necesare în fiecare caz. Dar asta cauzează și cerința de încărcare suplimentară.

Puteți tăia manual codul până la pasul necesar, puteți crea o nouă interogare necompletată, apoi faceți referire la noua interogare din cea anterioară. Dar acest lucru necesită un anumit know-how și jocuri cu care mulți oameni nu se vor simți confortabil.

Începând cu Power Query versiunea 2.26 (lansată astăzi), avem o modalitate MULT mai ușoară. Să presupunem că dorim să împărțim această interogare imediat după pasul Tip modificat, astfel încât să putem crea un tabel Articole și un tabel Saleperson în plus față de interogarea Tranzacții pe care o avem deja.

Pentru început, trebuie să înțelegem pașii și ceea ce ne oferă aceștia. Putem parcurge fiecare etapă a interogării și găsim pasul care ne oferă punctul de săritură de care avem nevoie. În cazul meu, acesta este pasul Tip modificat. Apoi facem clic dreapta pe pasul DUPĂ modificarea tipului și alegem Extrageți anterior:

Vi se va solicita să introduceți un nume (voi folosi „Încărcare de bază”) și, când faceți clic pe OK, veți vedea câteva lucruri care se întâmplă:

  • Se creează o interogare de încărcare de bază
  • Navigatorul pentru interogări se deschide în stânga, arătând că aveți acum mai multe interogări
  • Interogarea Tranzacții (cea la care am lucrat) devine mai scurtă
  • Pasul sursă al interogării Tranzacții este actualizat la # „Încărcare de bază”

Puteți vedea aceste modificări aici:

Deci interogarea Tranzacții conține în continuare toți pașii ulteriori, dar pasul Sursă s-a modificat, iar pasul Tip modificat este acum în interogarea de încărcare de bază:

Cu toate acestea, cea mai mare parte din acest lucru este că interogarea de încărcare de bază indică în continuare tabelul sursă brută, dar interogarea Tranzacții se încarcă acum din încărcarea de bază, NU sursa de date originală. Așadar, urmează abordarea de etapizare/încărcare despre care vorbesc în această postare de blog.

Acum, cum putem folosi asta ...?

Până în prezent, foarte puțin diferă de obiectivul general, cu excepția faptului că încărcăm în două etape. Să schimbăm acest lucru creând o nouă interogare care face referire la interogarea de încărcare de bază:

  • Faceți clic dreapta pe interogarea de încărcare de bază în Navigatorul de interogări (în stânga)
  • Alegeți Referință
  • Schimbați numele interogării în Agenții de vânzări
  • Faceți clic dreapta pe coloana Vândut după -> Eliminați alte coloane
  • Selectați coloana Vândut după -> Acasă -> Eliminați duplicatele
  • Faceți clic dreapta pe coloana Vândut după -> Redenumiți -> SalesPerson

Și acum avem o interogare plăcută care arată lista noastră unică de oameni de vânzări:

Acum să construim tabelul SalesItems:

  • Faceți clic dreapta pe interogarea de încărcare de bază din Navigatorul de interogări
  • Alegeți Referință
  • Schimbați numele interogării în SalesItems
  • Faceți clic dreapta pe coloana Articol de inventar -> Eliminați alte coloane
  • Selectați coloana Articol de inventar -> Acasă -> Eliminați duplicatele
  • Faceți clic dreapta pe coloana Articol de inventar -> Redenumiți -> SalesItem

Și acest tabel este realizat și acum:

Ultimul pas este încărcarea acestora în Modelul de date. De fapt, am creat trei noi interogări în această sesiune, dar nu avem libertatea de a alege o destinație nouă pentru una dintre ele. În schimb, vom alege un singur stil de încărcare care va fi aplicat tuturor. (Dacă aveți îndoieli, vă sugerez să încărcați mai întâi interogările doar pentru conexiune, apoi să le schimbați după ce, dacă trebuie să alegeți destinații diferite. Acest lucru vă va economisi așteptarea în timp ce Power Query vă așeză registrul de lucru cu foi de lucru suplimentare și încarcă datele în ele .)

În scopurile noastre de aici, le voi încărca direct în Modelul de date:

  • Acasă -> Închidere și încărcare în ...
    • Selectați Creați doar conexiune
    • Selectați Adăugați la modelul de date
    • Faceți clic pe Încărcare

Singurul efect secundar aici este că interogarea de încărcare de bază a fost încărcată și în modelul de date și nu am nevoie de asta. Deci, acum voi schimba rapid asta.

  • Mergeți la panoul Interogări de registru de lucru -> faceți clic dreapta pe Încărcare de bază -> Încărcare în ...
  • Debifați „Adăugați aceste date la modelul de date” -> Încărcați

Și acum am mesele mele unde am nevoie de ele, astfel încât să le pot relaționa și să-mi construiesc soluția.

Aceasta este o caracteristică fantastică și, de fapt, aveam să fac un blog despre cum să fac asta la fel, până când m-au surprins cu această actualizare. Sunt un mare fan al abordării de etapizare/încărcare și acest lucru va face cu siguranță mai ușoară adaptarea unei interogări după ce a fost deja construită.