Több tábla kombinálása egy táblában

Befejeződött

A lekérdezések kombinálásának lehetősége azért rendkívül hasznos, mert így különböző táblákat vagy lekérdezéseket fűzhet össze vagy egyesíthet. Több tábla az alábbi feltételek esetén kombinálható egyetlen táblában:

  • Túl sok tábla létezik, ami megnehezíti a túl bonyolult szemantikai modellek közötti navigálást.

  • Több tábla szerepe hasonló.

  • Egy tábla csak egy vagy két oszlopból áll, amelyek beleillenek egy másik táblába.

  • Különböző táblák több oszlopát szeretné használni egy egyéni oszlopban.

A táblákat két módon kombinálhatja: egyesítéssel vagy összefűzéssel.

Tegyük fel, hogy Power BI-jelentéseket fejleszt az értékesítési és HR-csapatok számára. Felkérték, hogy hozzon létre kapcsolattartási jelentést, amely minden alkalmazott, beszállító és ügyfél kapcsolattartási adatait és címét tartalmazza.  Az adatokat a HR.Employees, a Production.Suppliers és a Sales.Customers tábla tartalmazza, ahogyan az alábbi ábrán látható.

Képernyőkép a táblák kiválasztásáról a Power Query-szerkesztőben

Ezek az adatok azonban több táblából származnak, ezért a megoldandó feladat annak eldöntése, hogy hogyan egyesítheti a több táblában elhelyezkedő adatokat, és hozhat létre egyetlen forrástáblát, amelyből elkészítheti a jelentést. A Power BI funkciói eredendően lehetővé teszik a lekérdezések egyetlen táblába kombinálását és egyesítését.

Lekérdezések összefűzése

Lekérdezések hozzáfűzésekor adatsorokat fog hozzáadni egy másik táblához vagy lekérdezéshez. Lehet például két tábla, egy 300 sorból és egy másikból 100 sorból, a lekérdezések hozzáfűzésekor pedig 400 sor lesz. Lekérdezések egyesítésekor oszlopokat fog hozzáadni az egyik táblából (vagy lekérdezésből) egy másikba.  Két tábla egyesítéséhez szükség van egy oszlopra, amely kulcsként szerepel a két tábla között.

A korábban említett forgatókönyvhöz hozzáfűzi a HR-t. Az Employees tábla a Production.Suppliers és a Sales.Customers táblával, így egy fő partneradat-listával rendelkezik.  Mivel olyan táblát szeretne létrehozni, amely az alkalmazottak, beszállítók és ügyfelek összes kapcsolattartási adatát tartalmazza, a lekérdezések kombinálásakor az eredménytáblában szükséges oszlopok nevének az eredeti táblákban is egyezniük kell, hogy egyetlen összevont nézetben jelenhessenek meg.

A lekérdezések kombinálásának megkezdése előtt eltávolíthatja a táblákból az ehhez a feladathoz nem szükséges, felesleges oszlopokat. A feladat elvégzéséhez formázza meg mindegyik táblát úgy, hogy csak a négy lényeges információt tartalmazó oszlopból álljon, azokat pedig nevezze át úgy, hogy az oszlopfejlécek meggyezzenek: ID, company, name, és phone.  Az alábbi képek az átformált Sales.Customers, Production.Suppliers és HR.Employees tábla részletei.

átformázás összefűzéshez

A formázás befejezése után már kombinálhatja a lekérdezéseket. A Power Query-szerkesztő menüszalag Kezdőlap lapján válassza a Lekérdezések hozzáfűzése legördülő listát. Választhatja a Lekérdezések hozzáfűzése újként lehetőséget, ami azt jelenti, hogy a hozzáfűzés kimenete egy új lekérdezést vagy táblát eredményez, vagy kiválaszthatja a Lekérdezések hozzáfűzése lehetőséget, amely egy meglévő táblából egy másikba adja a sorokat.

A következő feladat egy új főtábla létrehozása, ezért a Lekérdezések hozzáfűzése újként lehetőséget kell választania. Ez a kijelölés egy olyan ablakba nyitja meg, ahol hozzáadhatja az Elérhető táblákból a Hozzáfűzendő táblákhoz hozzáfűzni kívánt táblákat az alábbi képen látható módon.

Lekérdezések összefűzése újként a Power Query-szerkesztőben

Miután felvette az összefűzni kívánt táblákat, válassza az OK lehetőséget. A rendszer átirányítja egy új lekérdezésre, amely mindhárom tábla összes sorát tartalmazza, az alábbi képen látható módon.

összefűzés újként – végeredmény

Ezzel sikeresen létrehozott egy fő táblát, amely az alkalmazottak, beszállítók és ügyfelek adatait is tartalmazza. Kiléphet a Power Query-szerkesztőből, és bármilyen jelentést készíthet ezzel a fő táblával.

Ha azonban a táblák adatainak összefűzése helyett egyesíteni szeretné a táblákat, az eljárás is más lenne.

Lekérdezések egyesítése

Lekérdezések egyesítésekor több táblából származó adatokat egyesít a táblák közötti közös oszlop alapján.  Az eljárás az SQL JOIN záradékához hasonló.  Képzelje el azt a helyzetet, hogy az értékesítési csapat kérésére a rendeléseket és az azokhoz tartozó részletes adatokat (amelyek most két külön táblában vannak) kell egyetlen táblában összevonnia. Ezt a feladatot két tábla, az Orders és az OrderDetails egyesítésével oldhatja meg, ahogyan az alábbi ábrán látható. A két tábla között megosztott oszlop az OrderID.

Az egyesítendő Orders és OrderDetails tábla

Lépjen a kezdőlapra a Power Query-szerkesztő menüszalagon, és válassza a Lekérdezések egyesítése legördülő menüt, ahol kiválaszthatja a Lekérdezések egyesítése újként lehetőséget. Ez a kijelölés megnyit egy új ablakot, ahol kiválaszthatja az egyesíteni kívánt táblákat a legördülő listából, majd kiválaszthatja a táblák között egyező oszlopot, amely ebben az esetben orderid.

lekérdezések egyesítése ablak

Azt is kiválaszthatja, hogy a két tábla hogyan legyen összekapcsolva. Ez is az SQL-ben használt JOIN utasításokhoz hasonló.  Az összekapcsolási lehetőségek a következők:

  • Left outer (bal szélső) – az első tábla összes sorát megjeleníti, a másodikból pedig csak az ezeknek megfelelőket.

  • Full outer (teljes külső) – mindkét tábla összes sorát megjeleníti.

  • Inner (belső) – A két tábla egyező sorait jeleníti meg.

Ebben a forgatókönyvben bal oldali külső illesztést fog használni. Válassza az OK lehetőséget, amely egy új ablakba viszi át, ahol megtekintheti az egyesített lekérdezést.

Egyesített lekérdezések végső nézete

Most többféle módon is összekapcsolhat két lekérdezést vagy táblát, hogy az üzleti igényeknek leginkább megfelelően jelenítse meg az adatokat.

A témakörről további információt az Adatok formázása és egyesítése a Power BI-ban című dokumentációban talál.