Kapcsolatok létrehozása és kezelése a Power BI Desktopban
Ha több táblával rendelkezik, valószínű, hogy az összes táblából származó adatokkal végez elemzést. Az ezen táblák közötti kapcsolatok szükségesek az eredmények pontos kiszámításához, valamint a megfelelő adatok megjelenítéséhez. A legtöbb esetben nem kell semmit tennie. Az automatikus észlelés funkció elvégzi Önnek. Előfordulhat azonban, hogy saját maga kell létrehoznia a kapcsolatokat, vagy módosítania kell egy kapcsolatot. Akárhogy is, fontos megérteni a Power BI Desktopban lévő kapcsolatokat, valamint azok létrehozását és szerkesztését.
Automatikus észlelés a betöltés során
Ha egyszerre két vagy több táblát kérdez le, az adatok betöltésekor a Power BI Desktop megkísérli megkeresni és létrehozni a kapcsolatokat. A számosság, a keresztszűrés iránya és a Kapcsolat aktívvá tétele beállítás automatikusan be van állítva. A Power BI Desktop a lekérdezett táblák oszlopneveit vizsgálja annak megállapításához, hogy vannak-e lehetséges kapcsolatok. Ha vannak ilyenek, ezek a kapcsolatok automatikusan létrejönnek. Ha a Power BI Desktop nem tudja nagy megbízhatósággal meghatározni, hogy van-e egyezés, akkor nem hozza létre a kapcsolatot. A Kapcsolatok kezelése párbeszédpanelen azonban manuálisan is létrehozhat vagy szerkeszthet kapcsolatokat.
Kapcsolat létrehozása automatikus észleléssel
A Modellezés lapon válassza a Kapcsolatok>kezelése automatikus észlelés lehetőséget.
Kapcsolat manuális létrehozása
A Modellezés lapon válassza az Új kapcsolatok>kezelése lehetőséget.
A Kapcsolat létrehozása párbeszédpanel első legördülő listájában válasszon ki egy táblát. Jelölje ki a kapcsolatban használni kívánt oszlopot.
A második tábla legördülő listájában válassza ki a másik táblát a kapcsolatban. Jelölje ki a másik használni kívánt oszlopot, majd kattintson az OK gombra.
A Power BI Desktop alapértelmezés szerint automatikusan konfigurálja a Számosság (irány), a Keresztszűrés iránya és a Kapcsolat aktívvá tétele lehetőséget az új kapcsolatban. Szükség esetén azonban módosíthatja ezeket a beállításokat. További információ: További lehetőségek ismertetése.
Ha a kapcsolathoz kijelölt táblák egyike sem tartalmaz egyedi értékeket, a következő hibaüzenet jelenik meg: Az egyik oszlopnak egyedi értékekkel kell rendelkeznie. A kapcsolat legalább egy táblájának külön, egyedi kulcsértéklistával kell rendelkeznie, ami az összes relációs adatbázis-technológia esetében gyakori követelmény.
Ha ezt a hibát tapasztalja, többféleképpen is kijavíthatja a problémát:
- Az Ismétlődések eltávolítása használatával egyedi értékeket tartalmazó oszlopot hozhat létre. Ennek a megközelítésnek az a hátránya, hogy az ismétlődő sorok eltávolításakor elveszhetnek az információk. Gyakran előfordul, hogy egy kulcs (sor) ismétlődik, jó okból.
- Adjon hozzá egy közvetítő táblát a modellhez a különböző kulcsértékek listájából, amely ezután a kapcsolat mindkét eredeti oszlopához kapcsolódik.
További információkért tekintse meg ezt a blogbejegyzést.
Másik lehetőségként a Modell nézet diagramelrendezéseiben egy oszlopot húzhat az egyik táblából egy másik táblázat egyik oszlopára egy kapcsolat létrehozásához.
Kapcsolat szerkesztése
A Power BI-ban kétféleképpen szerkeszthet kapcsolatokat.
A kapcsolatok szerkesztésének első módszere a Kapcsolatok szerkesztése a Modell nézetben a Tulajdonságok panelen, ahol két tábla közötti bármelyik sort kiválasztva megtekintheti a kapcsolatok beállításait a Tulajdonságok panelen. A kapcsolatok beállításainak megtekintéséhez bontsa ki a Tulajdonságok panelt.
A kapcsolatok szerkesztését bemutató videó is látható a Tulajdonságok panelen.
A kapcsolatok szerkesztésének másik módja a Kapcsolatszerkesztő párbeszédpanel használata, amelyet számos módon nyithat meg a Power BI Desktopban. Az alábbi listában különböző módokon nyithatja meg a Kapcsolatszerkesztő párbeszédpanelt:
A Jelentés nézetben tegye az alábbiak bármelyikét:
- Válassza a Modellezés menüszalag >Kapcsolatok kezelése elemét, majd a kapcsolatot, és válassza a Szerkesztés lehetőséget.
- Jelöljön ki egy táblát a Mezők listában, majd válassza a Táblaeszközök menüszalag >Kapcsolatok kezelése, majd a kapcsolat kijelölése, majd a Szerkesztés lehetőséget.
Az Adatok nézetben válassza a Táblaeszközök menüszalag> Kapcsolatok kezelése, majd a kapcsolat kijelölése, majd a Szerkesztés parancsot.
A Modell nézetben tegye az alábbiak bármelyikét:
- Válassza a Kezdőlap menüszalag >Kapcsolatok kezelése elemét, majd a kapcsolatot, majd a Szerkesztés lehetőséget.
- Kattintson duplán bármelyik sorra két tábla között.
- Kattintson a jobb gombbal bármelyik sorra két tábla között, majd válassza a Tulajdonságok parancsot.
- Jelöljön ki egy tetszőleges sort két tábla között, majd a Tulajdonságok panelen válassza a Kapcsolatszerkesztő megnyitása lehetőséget.
Végül bármelyik nézetből szerkesztheti a kapcsolatot, a jobb gombbal kattintva vagy a három pontra kattintva bármelyik tábla helyi menüjét elérheti, majd a Kapcsolatok kezelése lehetőséget, a kapcsolatot, majd a Szerkesztés lehetőséget
Az alábbi képen a Kapcsolat szerkesztése ablak képernyőképe látható.
Kapcsolatok szerkesztése különböző módszerekkel
A Kapcsolatok szerkesztése párbeszédpanel használata irányítottabb felület a Kapcsolatok szerkesztéséhez a Power BI-ban, és jelenleg előzetes verzióban érhető el. Az egyes táblákban megtekintheti az adatok előnézetét. A különböző oszlopok kijelölésekor az ablak automatikusan ellenőrzi a kapcsolatot, és megfelelő számosságot és keresztszűrési beállításokat kínál.
A Kapcsolatok szerkesztése a Tulajdonságok panelen egyszerűbb módszer a kapcsolatok szerkesztésére a Power BI-ban. Csak azokat a táblázatneveket és oszlopokat látja, amelyek közül választhat, nem jelenik meg adatelőnézet, és a megadott kapcsolati beállítások csak a Módosítások alkalmazása lehetőség kiválasztásakor lesznek érvényesítve. A Tulajdonságok panel és annak egyszerűsített megközelítése csökkenti a kapcsolatok szerkesztésekor generált lekérdezések számát, ami fontos lehet big data-forgatókönyvek esetén, különösen DirectQuery-kapcsolatok használatakor. A Tulajdonságok panelen létrehozott kapcsolatok is fejlettebbek lehetnek, mint a Kapcsolatok szerkesztése párbeszédpanelen létrehozható kapcsolatok.
A Modell nézet diagramelrendezéseiben több kapcsolatot is kijelölhet a Ctrl billentyűt lenyomva, és több sort kijelölve több kapcsolatot is kijelölhet. A gyakori tulajdonságok szerkeszthetők a Tulajdonságok panelen, és a módosítások alkalmazása egy tranzakció módosításait dolgozza fel.
Az egy vagy több kijelölt kapcsolat a Delete billentyű lenyomásával is törölhető. A törlési művelet nem vonható vissza, ezért egy párbeszédpanel kéri, hogy erősítse meg a kapcsolatok törlését.
Fontos
A kapcsolatok szerkesztése a Tulajdonságok panel funkcióban jelenleg előzetes verzióban érhető el. Az előzetes verzióban várhatóan változni fognak a funkciók és dokumentáció. Ezt a funkciót engedélyeznie kell a Power BI Desktopban a Fájlbeállítások > és beállítások > előzetes > verziójú funkcióinak megtekintésével, majd a GLOBÁLIS szakaszban jelölje be a Kapcsolat panel melletti jelölőnégyzetet.
További beállítások konfigurálása
Kapcsolat létrehozásakor vagy szerkesztésekor további beállításokat is konfigurálhat. Alapértelmezés szerint a Power BI Desktop a legjobb becslése alapján automatikusan konfigurál további beállításokat, amelyek az oszlopok adatai alapján minden kapcsolat esetében eltérőek lehetnek.
Számosság
A Számosság beállítás az alábbi beállítások egyikével rendelkezhet:
Több az egyhez (*:1):: A több az egyhez kapcsolat a leggyakoribb, alapértelmezett kapcsolattípus. Ez azt jelenti, hogy egy adott tábla oszlopának több példánya is lehet egy értéknek, a másik kapcsolódó tábla pedig, amelyet gyakran keresési táblaként ismernek, csak egy értékpéldánysal rendelkezik.
Egy az egyhez (1:1): Egy-az-egyhez kapcsolat esetén az egyik tábla oszlopa csak egy adott érték egy példányával rendelkezik, a másik kapcsolódó táblában pedig csak egy adott érték egy példánya található.
Egy-a-többhöz (1:*): Egy-a-többhöz kapcsolatokban az egyik tábla oszlopa csak egy adott értékkel rendelkezik, a másik kapcsolódó tábla pedig egynél több értékkel.
Több-a-többhöz (*:*): Összetett modellekkel több-a-többhöz kapcsolatot hozhat létre a táblák között, ami eltávolítja a táblák egyedi értékeire vonatkozó követelményeket. Ez továbbá a korábbi megkerülő megoldásokat is eltávolítja, például új táblák bevezetését kizárólag kapcsolatok létrehozásához. További információ: Több-több számosságú kapcsolatok.
A számosság módosításának időpontjáról további információt a további lehetőségek ismertetése című témakörben talál.
Keresztszűrés iránya
A Keresztszűrés iránya beállítás a következő beállításokkal rendelkezhet:
Mindkettő: Szűrési célokra a rendszer mindkét táblát egyetlen táblaként kezeli. A Mindkét beállítás jól működik egyetlen táblával, amely számos keresési táblával rendelkezik, amelyek körülveszi. Ilyen például az értékesítési tényleges adatok táblája, amelynek a részlegéhez tartozik egy keresési tábla. Ezt a konfigurációt gyakran csillagséma-konfigurációnak (több keresési táblával rendelkező központi táblázatnak) nevezik. Ha azonban két vagy több olyan táblája van, amelyek keresési táblákkal is rendelkeznek (néhány közös), akkor nem szeretné használni a Mindkettő beállítást. Az előző példa folytatásához ebben az esetben egy költségvetési értékesítési táblával is rendelkezik, amely az egyes részlegek tervezett költségvetését rögzíti. A részlegtábla pedig az értékesítéshez és a költségvetési táblához is kapcsolódik. Kerülje az ilyen típusú konfiguráció mindkét beállítását.
Egyetlen: A leggyakoribb alapértelmezett irány, ami azt jelenti, hogy a csatlakoztatott táblákban a szűrési lehetőségek azon a táblán működnek, ahol az értékek összesítése történik. Ha Power Pivotot importál az Excel 2013-ban vagy korábbi adatmodellben, minden kapcsolatnak egyetlen iránya van.
A keresztszűrés irányának módosításáról további információt a További lehetőségek ismertetése című témakörben talál.
Kapcsolat aktívvá tétele
Ha be van jelölve, a kapcsolat az aktív, alapértelmezett kapcsolatként szolgál. Olyan esetekben, amikor két tábla között több kapcsolat is van, az aktív kapcsolat lehetővé teszi, hogy a Power BI Desktop automatikusan olyan vizualizációkat hozzon létre, amelyek mindkét táblát tartalmazzák.
Ha többet szeretne tudni arról, hogy mikor legyen aktív egy adott kapcsolat, olvassa el a További lehetőségek ismertetése című témakört.
Kapcsolatok ismertetése
Miután összekapcsolt két táblát egy kapcsolattal, mindkét táblában úgy dolgozhat az adatokkal, mintha egyetlen tábla lennének. Ezután nem kell aggódnia a kapcsolat részletei miatt, vagy a táblákat egyetlen táblába kell egyesítenie, mielőtt importálja őket. A Power BI Desktop számos esetben automatikusan létrehozhat kapcsolatokat. Ha azonban a Power BI Desktop nem tudja nagy bizonyossággal meghatározni, hogy léteznie kell-e két tábla közötti kapcsolatnak, akkor nem hozza létre automatikusan a kapcsolatot. Ebben az esetben ezt kell tennie.
Tekintsünk át egy gyors oktatóanyagot, amelyből jobban megismerheti, hogyan működnek a kapcsolatok a Power BI Desktopban.
Tipp.
Ezt a leckét saját maga is elvégezheti:
- Másolja a következő ProjectHours táblázatot egy Excel-munkalapra (a cím kivételével), jelölje ki az összes cellát, majd válassza a Táblázat beszúrása lehetőséget>.
- A Tábla létrehozása párbeszédpanelen válassza az OK gombot.
- Jelöljön ki egy táblázatcellát, válassza a Táblatervező>tábla neve lehetőséget, majd írja be a ProjectHours nevet.
- Tegye ugyanezt a CompanyProject tábla esetében is.
- Importálja az adatokat az Adatok lekérése a Power BI Desktopban használatával. Válassza ki a két táblát adatforrásként, majd válassza a Betöltés lehetőséget.
Az első tábla, a ProjectHours a munkajegyek rekordja, amely rögzíti, hogy egy személy hány órát dolgozott egy adott projekten.
ProjectHours
Jegy | SubmittedBy | Óra | Projekt | DateSubmit |
---|---|---|---|---|
1001 | 1002 Brewer, Alan | 22 | Kék | 1/1/2013 |
1002 | 1002 Brewer, Alan | 26 | Piros | 2/1/2013 |
1003 | Ito, Shu | 34 | Sárga | 12/4/2012 |
1004 | 1002 Brewer, Alan | 13 | Narancssárga | 1/2/2012 |
1005 | Bowen, Eli | 29 | Purple | 10/1/2013 |
1006 | Bento, Nuno | 35 | Zöld | 2/1/2013 |
1007 | Hamilton, David | 10 | Sárga | 10/1/2013 |
1008 | Han, Mu | 28 | Narancssárga | 1/2/2012 |
1009 | Ito, Shu | 22 | Purple | 2/1/2013 |
1010 | Bowen, Eli | 28 | Zöld | 10/1/2013 |
1011 | Bowen, Eli | 9 | Kék | 10/15/2013 |
Ez a második tábla, a CompanyProject a hozzárendelt prioritású projektek listája: A, B vagy C.
CompanyProject
ProjName | Priority (Prioritás) |
---|---|
Kék | A |
Piros | h |
Zöld | C |
Sárga | C |
Purple | h |
Narancssárga | C |
Figyelje meg, hogy minden tábla rendelkezik egy projektoszloppal. Mindegyik neve kissé eltérő, de az értékek úgy néznek ki, mintha ugyanazok lennének. Ez a különbség fontos, és hamarosan visszatérünk hozzá.
Most, hogy a két táblát egy modellbe importáltuk, hozzunk létre egy jelentést. Elsőként a projektprioritás által elküldött órák számát szeretnénk megkapni, ezért a Mezők panelen a Prioritás és az Órák lehetőséget választjuk.
Ha a jelentésvásznon tekintjük meg a táblázatot, látni fogja, hogy az órák száma minden projekt esetében 256, ami egyben az összeg is. Nyilvánvaló, hogy ez a szám nem helyes. Miért? Ennek az az oka, hogy a két tábla közötti kapcsolat nélkül nem tudjuk kiszámítani az egyik táblából (a Projekt táblában lévő órák) származó értékek összegét egy másik táblában (Prioritás a Vállalatiprojekt táblában) lévő értékek szerint.
Tehát hozzunk létre egy kapcsolatot a két tábla között.
Emlékszik azokra az oszlopokra, amelyeket mindkét táblában láttunk projektnévvel, de hasonló értékekkel? Ezt a két oszlopot használva hozzunk létre kapcsolatot a táblák között.
Miért ezek az oszlopok? Nos, ha megnézzük a ProjectHours tábla Projekt oszlopát, olyan értékeket látunk, mint a Kék, a Piros, a Sárga, a Narancssárga stb. Valójában több olyan sort látunk, amelyek azonos értékkel rendelkeznek. Valójában számos színértékünk van a Projecthez.
Ha megnézzük a CompanyProject tábla ProjName oszlopát, azt látjuk, hogy a projektnévhez csak egy színérték tartozik. A táblázat minden színértéke egyedi, és ez azért fontos, mert kapcsolatot hozhatunk létre a két tábla között. Ebben az esetben egy több az egyhez kapcsolat. Több-az-egyhez kapcsolat esetén az egyik tábla legalább egy oszlopának egyedi értékeket kell tartalmaznia. Néhány kapcsolathoz további lehetőségek is rendelkezésre állnak, amelyeket később áttekintünk. Egyelőre hozzunk létre kapcsolatot a két tábla projektoszlopai között.
Az új kapcsolat létrehozása
Válassza a Kapcsolatok kezelése lehetőséget a Modellezés lapon.
A Kapcsolatok kezelése területen az Új lehetőséget választva nyissa meg a Kapcsolat létrehozása párbeszédpanelt, ahol kiválaszthatjuk a kapcsolathoz használni kívánt táblákat, oszlopokat és egyéb beállításokat.
Az első legördülő listában válassza a ProjectHours elemet első táblázatként, majd válassza ki a Project oszlopot. Ez az oldal a kapcsolatunk sok oldala.
A második legördülő listában a CompanyProject elő van jelölve második táblaként. Válassza ki a ProjName oszlopot. Ez az oldal a kapcsolatunk egyik oldala.
Fogadja el a kapcsolat beállításainak alapértelmezett beállításait, majd kattintson az OK gombra.
A Kapcsolatok kezelése párbeszédpanelen válassza a Bezárás lehetőséget.
A teljes nyilvánosságra hozatal érdekében most hozta létre ezt a kapcsolatot a legnehezebb módon. Az Automatikus észlelés lehetőséget a Kapcsolatok kezelése párbeszédpanelen is kiválaszthatja. Valójában az automatikus észlelés automatikusan létrehozta volna a kapcsolatot az adatok betöltésekor, ha mindkét oszlopnak ugyanaz a neve.
Most nézzük meg újra a táblázatot a jelentésvászonon.
Ez sokkal jobban néz ki, nem igaz?
Amikor prioritás szerint összegzünk órákat, a Power BI Desktop megkeresi a CompanyProject keresési táblában lévő egyedi színértékek minden példányát, megkeresi a ProjectHours tábla egyes értékeinek minden példányát, majd kiszámítja az egyes egyedi értékek összegét.
Az automatikus észlelés miatt előfordulhat, hogy nem is kell ennyit tennie.
További lehetőségek ismertetése
Ha létrejön egy kapcsolat, akár automatikus észleléssel, akár manuálisan hoz létre egyet, a Power BI Desktop automatikusan további beállításokat konfigurál a táblák adatai alapján. Ezek a további kapcsolati beállítások a Kapcsolat létrehozása és a Kapcsolat szerkesztése párbeszédpanel alsó részén találhatók.
A Power BI általában automatikusan beállítja ezeket a beállításokat, és nem kell őket módosítania. Azonban számos olyan helyzet van, amikor ezeket a beállításokat saját maga szeretné konfigurálni.
Automatikus kapcsolatfrissítések
Kezelheti, hogy a Power BI hogyan kezeli és automatikusan módosítja a kapcsolatokat a jelentésekben és modellekben. Ha meg szeretné adni, hogy a Power BI hogyan kezeli a kapcsolatok beállításait, válassza a Fájlbeállítások>és beállítások>lehetőséget a Power BI Desktopban, majd válassza az Adatbetöltés lehetőséget a bal oldali panelen. Megjelennek a kapcsolatok beállításai.
Három lehetőség közül választhat és engedélyezhet:
Kapcsolatok importálása adatforrásokból az első betöltéskor: Ez a beállítás alapértelmezés szerint be van jelölve. Ha ki van választva, a Power BI ellenőrzi az adatforrásban definiált kapcsolatokat, például az adattárházban lévő külső kulcs-/elsődlegeskulcs-kapcsolatokat. Ha ilyen kapcsolatok léteznek, az adatok első betöltésekor a Power BI-adatmodellbe lesznek tükrözve. Ez a beállítás lehetővé teszi, hogy gyorsan elkezdjen dolgozni a modellel, ahelyett, hogy saját maga kellene megkeresnie vagy definiálnia ezeket a kapcsolatokat.
Kapcsolatok frissítése vagy törlése az adatok frissítésekor: Ez a beállítás alapértelmezés szerint nincs kijelölve. Ha kiválasztja, a Power BI ellenőrzi az adatforrás-kapcsolatok változásait a szemantikai modell frissítésekor. Ha ezek a kapcsolatok megváltoztak vagy el lettek távolítva, a Power BI a saját adatmodelljében tükrözi ezeket a változásokat, és frissíti vagy törli őket az egyezésre.
Figyelmeztetés
Ha a megadott kapcsolatokra támaszkodó sorszintű biztonságot használ, nem javasoljuk a beállítás kiválasztását. Ha eltávolít egy kapcsolatot, amelyre az RLS-beállítások támaszkodnak, előfordulhat, hogy a modell kevésbé biztonságos.
Új kapcsolatok automatikus észlelése az adatok betöltése után: Ezt a beállítást az Automatikus észlelés a betöltés során című témakörben ismertetjük.
Az adatok jövőbeli frissítése eltérő számosságot igényel
A Power BI Desktop általában automatikusan meg tudja határozni a kapcsolat legjobb számosságát. Ha felül kell bírálnia az automatikus beállítást, mert tudja, hogy az adatok a jövőben megváltoznak, módosíthatja azt a Számosság vezérlővel. Tekintsünk meg egy példát, ahol egy másik számosságot kell kiválasztanunk.
A CompanyProjectPriority tábla az összes vállalati projekt és azok prioritásának listája. A ProjectBudget tábla azoknak a projekteknek a készlete, amelyekhez a költségvetést jóváhagyták.
CompanyProjectPriority
ProjName | Priority (Prioritás) |
---|---|
Kék | A |
Piros | h |
Zöld | C |
Sárga | C |
Purple | h |
Narancssárga | C |
ProjectBudget tábla
Jóváhagyott projektek | BudgetAllocation | AllocationDate |
---|---|---|
Kék | 40 000 | 12/1/2012 |
Piros | 100 000 | 12/1/2012 |
Zöld | 50 000 | 12/1/2012 |
Ha kapcsolatot hozunk létre a ProjectBudget tábla Jóváhagyott projektek oszlopa és a CompanyProjectPriority tábla ProjectName oszlopa között, a Power BI automatikusan egyre állítja a számosságot (1:1), a keresztszűrési irányt pedig mindkettőre.
A Power BI azért teszi ezeket a beállításokat, mert a Power BI Desktopban a két táblázat legjobb kombinációja a következő:
ProjName | Priority (Prioritás) | BudgetAllocation | AllocationDate |
---|---|---|---|
Kék | A | 40 000 | 12/1/2012 |
Piros | h | 100 000 | 12/1/2012 |
Zöld | C | 50 000 | 12/1/2012 |
Sárga | C | ||
Purple | h | ||
Narancssárga | C |
A két tábla között egy-az-egyhez kapcsolat van, mert a kombinált tábla ProjName oszlopában nincsenek ismétlődő értékek. A ProjName oszlop egyedi, mert minden érték csak egyszer fordul elő, ezért a két tábla sorai közvetlenül, duplikáció nélkül kombinálhatók.
Tegyük fel azonban, hogy tudja, hogy az adatok a következő frissítéskor megváltoznak. A ProjectBudget tábla frissített verziója mostantól további sorokat tartalmaz a Kék és a Piros projektekhez:
ProjectBudget
Jóváhagyott projektek | BudgetAllocation | AllocationDate |
---|---|---|
Kék | 40 000 | 12/1/2012 |
Piros | 100 000 | 12/1/2012 |
Zöld | 50 000 | 12/1/2012 |
Kék | 80 000 | 6/1/2013 |
Piros | 90,000 | 6/1/2013 |
Ezek a további sorok a két tábla legjobb kombinációját jelentik:
ProjName | Priority (Prioritás) | BudgetAllocation | AllocationDate |
---|---|---|---|
Kék | A | 40 000 | 12/1/2012 |
Piros | h | 100 000 | 12/1/2012 |
Zöld | C | 50 000 | 12/1/2012 |
Sárga | C | ||
Purple | h | ||
Narancssárga | C | ||
Kék | A | 80000 | 6/1/2013 |
Piros | h | 70 000 | 6/1/2013 |
Ebben az új kombinált táblában a ProjName oszlop ismétlődő értékekkel rendelkezik. A két eredeti tábla nem lesz egy-az-egyhez kapcsolat a tábla frissítése után. Ebben az esetben, mivel tudjuk, hogy a jövőbeli frissítések miatt a ProjName oszlop duplikációkat fog eredményezni, a Számosság értékét egy (*:1) értékre szeretnénk állítani, a ProjectBudget és a CompanyProjectPriority több oldalán.
Keresztszűrés irányának módosítása összetett táblák és kapcsolatok halmazához
A legtöbb kapcsolat esetében a keresztszűrés iránya Mindkettő értékre van állítva. Vannak azonban szokatlanabb körülmények, amikor előfordulhat, hogy ezt a beállítást az alapértelmezetttől eltérően kell beállítania. Ilyen például, ha a Power Pivot egy régebbi verziójából importál egy modellt, ahol minden kapcsolat egyetlen irányba van beállítva.
A Mindkét beállítás lehetővé teszi, hogy a Power BI Desktop úgy kezelje a csatlakoztatott táblák minden aspektusát, mintha egyetlen tábla lennének. Vannak azonban olyan helyzetek, amikor a Power BI Desktop nem tudja beállítani egy kapcsolat keresztszűrésének irányát Mindkettő értékre, és nem egyértelmű alapértelmezett értékeket biztosít jelentéskészítési célokra. Ha a kapcsolat keresztszűrésének iránya nem mindkettő, akkor az általában azért van, mert kétértelműséget eredményezne. Ha az alapértelmezett keresztszűrő beállítás nem működik Önnél, próbálja meg egy adott táblára vagy mindkettőre beállítani.
Az egyirányú keresztszűrés számos esetben működik. Ha az Excel 2013-ban vagy korábbi verzióiban importált egy modellt a Power Pivotból, az összes kapcsolat egyetlen irányba lesz beállítva. Az egyetlen irány azt jelenti, hogy a csatlakoztatott táblák szűrési lehetőségei azon a táblán működnek, ahol az összesítési munka történik. Néha a keresztszűrés megértése kissé nehéz lehet, ezért nézzünk meg egy példát.
Egyirányú keresztszűrés esetén, ha olyan jelentést hoz létre, amely összegzi a projektórákat, akkor a CompanyProject tábla és annak Prioritás oszlopa, illetve a CompanyEmployee tábla és annak Város oszlopa alapján is összegzheti (vagy szűrheti). Ha azonban projektenként meg szeretné számolni az alkalmazottak számát (ez kevésbé gyakori kérdés), az nem fog működni. Egy olyan értékoszlopot fog kapni, amely megegyezik. Az alábbi példában mindkét kapcsolat keresztszűrési iránya egyetlen irányra van beállítva: a ProjectHours tábla felé. Az Értékek mezőben a Projekt mező a Count (Darabszám) értékre van állítva:
A szűrőspecifikáció a CompanyProjecttől a ProjectHoursig fog áramlani (az alábbi képen látható módon), de nem fog a CompanyEmployee-be áramlani.
Ha azonban a keresztszűrési irányt Mindkettő értékre állítja, az működni fog. A Mindkét beállítás lehetővé teszi, hogy a szűrőspecifikáció a CompanyEmployee felé haladjon.
Ha a keresztszűrési irány mindkettőre van állítva, a jelentés helyesen jelenik meg:
Mindkét irány keresztszűrése jól működik a táblázatkapcsolatok mintájához, például a korábban bemutatott mintához. Ezt a sémát leggyakrabban csillagsémaként nevezik, például a következőhöz:
A keresztszűrés iránya nem működik jól az adatbázisokban gyakran előforduló általánosabb mintával, például az alábbi ábrán:
Ha egy ilyen táblázatminta hurkokkal rendelkezik, akkor a keresztszűrés kétértelmű kapcsolatok készletét hozhatja létre. Ha például összead egy mezőt a TableX-ből, majd úgy dönt, hogy a TableY egy mezője alapján szűr, akkor nem egyértelmű, hogy a szűrő hogyan haladjon a felső vagy az alsó táblán keresztül. Az ilyen típusú mintára gyakori példa, hogy a TableX értékesítési táblázatként tényleges adatokat tartalmaz, a TableY pedig költségvetési adatokat tartalmaz. Ezután a középső táblák olyan keresési táblák, amelyeket mindkét tábla használ, például osztás vagy régió.
Az aktív/inaktív kapcsolatokhoz hasonlóan a Power BI Desktop nem engedélyezi a kapcsolatok mindkettőre való beállítását, ha kétértelműséget hoz létre a jelentésekben. Ezt a helyzetet többféleképpen is kezelheti. Íme a két leggyakoribb:
- A kétértelműség csökkentése érdekében törölje vagy jelölje meg a kapcsolatokat inaktívként. Ezután lehet, hogy beállíthat egy kapcsolat keresztszűrését mindkettőként.
- Hozzon be kétszer egy táblát (a második alkalommal más néven), hogy kiküszöbölje a hurkokat. Így a kapcsolatok mintája olyan, mint egy csillagséma. Csillagséma esetén az összes kapcsolat beállítható mindkettőre.
Helytelen aktív kapcsolat
Amikor a Power BI Desktop automatikusan hoz létre kapcsolatokat, néha több kapcsolat is létrejön két tábla között. Ha ez a helyzet áll fenn, a kapcsolatok közül csak az egyik aktív. Az aktív kapcsolat az alapértelmezett kapcsolat, így ha két különböző tábla mezőit választja ki, a Power BI Desktop automatikusan létrehozhat egy vizualizációt. Bizonyos esetekben azonban az automatikusan kiválasztott kapcsolat hibás lehet. A Kapcsolatok kezelése párbeszédpanelen beállíthatja a kapcsolatot aktívként vagy inaktívként, vagy beállíthatja az aktív kapcsolatot a Kapcsolat szerkesztése párbeszédpanelen.
Az alapértelmezett kapcsolat biztosításához a Power BI Desktop egyszerre csak egyetlen aktív kapcsolatot engedélyez két tábla között. Ezért először inaktívként kell beállítania az aktuális kapcsolatot, majd be kell állítania az aktív kapcsolatot.
Lássunk egy példát. Az első tábla a ProjectTickets, a második pedig az EmployeeRole.
ProjectTickets
Jegy | OpenedBy | SubmittedBy | Óra | Projekt | DateSubmit |
---|---|---|---|---|---|
1001 | Perham, Tom | 1002 Brewer, Alan | 22 | Kék | 1/1/2013 |
1002 | Római, Dániel | 1002 Brewer, Alan | 26 | Piros | 2/1/2013 |
1003 | Roth, Daniel | Ito, Shu | 34 | Sárga | 12/4/2012 |
1004 | Perham, Tom | 1002 Brewer, Alan | 13 | Narancssárga | 1/2/2012 |
1005 | Római, Dániel | Bowen, Eli | 29 | Purple | 10/1/2013 |
1006 | Roth, Daniel | Bento, Nuno | 35 | Zöld | 2/1/2013 |
1007 | Roth, Daniel | Hamilton, David | 10 | Sárga | 10/1/2013 |
1008 | Perham, Tom | Han, Mu | 28 | Narancssárga | 1/2/2012 |
1009 | Római, Dániel | Ito, Shu | 22 | Purple | 2/1/2013 |
1010 | Roth, Daniel | Bowen, Eli | 28 | Zöld | 10/1/2013 |
1011 | Perham, Tom | Bowen, Eli | 9 | Kék | 10/15/2013 |
EmployeeRole
Alkalmazott | Szerepkör |
---|---|
Bento, Nuno | Projektmenedzser |
Bowen, Eli | Projekt érdeklődője |
1002 Brewer, Alan | Projektmenedzser |
Hamilton, David | Projekt érdeklődője |
Han, Mu | Projekt érdeklődője |
Ito, Shu | Projekt érdeklődője |
Perham, Tom | Projektszponzor |
Római, Dániel | Projektszponzor |
Roth, Daniel | Projektszponzor |
Valójában két kapcsolat van itt:
Az EmployeeRole tábla Alkalmazottja és a ProjectTickets táblában lévő SubmittedBy között.
A ProjectTickets tábla OpenedBy és az EmployeeRole tábla Alkalmazottja között.
Ha mindkét kapcsolatot hozzáadjuk a modellhez (először OpenedBy ), akkor a Kapcsolatok kezelése párbeszédpanelen látható, hogy az OpenedBy aktív:
Most, ha létrehozunk egy jelentést, amely az EmployeeRole szerepkör- és alkalmazottmezőit használja, és a ProjectTickets Órák mezőjét egy táblavizualizációban a jelentésvásznon, csak a projektszponzorokat látjuk, mert csak ők nyitottak meg egy projektjegyet.
Módosíthatjuk az aktív kapcsolatot, és az OpenedBy helyett lekérhetjük a SubmittedByt. A Kapcsolatok kezelése területen törölje a jelet a ProjectTickets(OpenedBy) és az EmployeeRole(Employee) kapcsolatból, majd ellenőrizze az EmployeeRole(Employee) to Project Tickets(SubmittedBy) kapcsolatot.
Az összes kapcsolat megtekintése Kapcsolat nézetben
Előfordulhat, hogy a modell több táblával és összetett kapcsolatokkal rendelkezik közöttük. A Power BI Desktop kapcsolatnézete egy könnyen érthető és testreszabható diagramon jeleníti meg a modellben lévő összes kapcsolatot, azok irányát és számosságát.
További információ: Kapcsolat nézet a Power BI Desktopban.
Hibaelhárítás
Ez a szakasz útmutatást és hibaelhárítási információkat nyújt a Power BI-kapcsolatok használatakor.
A mezők közötti kapcsolatok nem határozhatók meg
A Power BI a használt modell kapcsolatainak következtetésével megkísérli megjeleníteni a releváns adatokat a vizualizációkban. Néha az ilyen következtetések nem egyértelműek, és előfordulhat, hogy meglepődve lát egy hibát a vizualizációban, ami azt jelzi, hogy bizonyos oszlopok között nincs kapcsolat.
Ha meg szeretné magyarázni, hogy a Power BI hogyan határozza meg, hogy a mezők összefüggnek-e, használjunk példamodellt a következő szakaszok néhány forgatókönyvének szemléltetéséhez. Az alábbi képen a példaforgatókönyvekben használt mintamodell látható.
1. forgatókönyv: Hagyományos csillagséma, és nincs megadva mértékkorlátozás. Az előző képen szereplő mintamodellre hivatkozva először a képek jobb felében tekintsük meg a Vendor – Purchases – Product táblákat. Ez a példa egy hagyományos csillagséma a Tény táblával (Vásárlások) és két Dimenzió táblával (Product and Vendor). A dimenziótáblák és a ténytábla közötti kapcsolat 1 és több között van (egy termék több vásárlásnak felel meg, egy szállító pedig több vásárlásnak felel meg). Az ilyen típusú sémákban olyan kérdésekre is választ kaphatunk, mint az X termékhez tartozó Értékesítések és Milyen értékesítések vannak az Y szállítóhoz? és Milyen termékeket ad el a Vendor Y?
Ha a termékeket és szállítókat korrelálni szeretnénk, a Vásárlások táblában megnézve megállapíthatjuk, hogy van-e egy bejegyzés ugyanazzal a termékkel és szállítóval. Egy mintalekérdezés a következő példához hasonlóan nézhet ki:
Correlate Product[Color] with Vendor[Name] where CountRows(Purchases)>0
Ez where CountRows(Purchases)>0
egy implicit korlátozás, amelyet a Power BI a releváns adatok visszaadása érdekében adna hozzá.
Ha ezt a korrelációt a Vásárlások táblán keresztül végezzük, visszaadhatjuk a termék-szállítók olyan párosítását, amelyek egy ténytáblában legalább egy bejegyzéssel rendelkeznek, az adat szempontjából értelmes párosításokat. Számíthat arra, hogy a Product-Vendor olyan nem érzékeny kombinációi, amelyekhez soha nem volt értékesítés (ami elemzésre használhatatlan lenne) nem jelenik meg.
2. forgatókönyv: Hagyományos csillagséma és mértékkorlátozás. Az 1. forgatókönyv előző példájában, ha a felhasználó összegzett oszlop formájában (például vásárlások összege/átlaga/darabszáma) vagy modellmértékként (VendID eltérő száma) biztosít kényszert, a Power BI a következő példa formájában tud lekérdezést létrehozni:
Correlate Product[Color] with Vendor[Name] where MeasureConstraint is not blank
Ilyen esetben a Power BI olyan kombinációkat kísérel meg visszaadni, amelyek a felhasználó által megadott korlátozás szempontjából jelentőséggel bíró értékekkel rendelkeznek (nem üres). A Power BI-nak nem kell hozzáadnia a CountRows(Purchases)>0 saját implicit korlátozását is, például azt, hogy mi történt az előző 1. forgatókönyvben, mert a felhasználó által megadott korlátozás elegendő.
3. forgatókönyv: Nem csillagséma és nincs megadva mértékkorlátozás. Ebben a forgatókönyvben a modell középpontjára összpontosítjuk a figyelmünket, ahol a Sales – Product – Purchases táblák találhatók, ahol egy dimenziótábla (Termék) és két ténytábla (Értékesítés, Vásárlások) található. Mivel ez a példa nem csillagséma, nem tudjuk megválaszolni ugyanazokat a kérdéseket, mint az 1. forgatókönyvben. Tegyük fel, hogy megpróbáljuk korrelálni a vásárlásokat és az értékesítéseket, mivel a vásárlások több-1 kapcsolatban vannak a Termékkel, a Product pedig 1–1 kapcsolattal rendelkezik a Sales szolgáltatással. Az értékesítések és a vásárlások közvetetten több a többhöz. Egy terméket számos vásárláshoz és egy termékhez kapcsolhatunk számos értékesítéshez, de egy értékesítést nem kapcsolhatunk össze több vásárláshoz , vagy fordítva. Számos vásárlást csak számos értékesítéshez kapcsolhatunk össze.
Ebben az esetben, ha a Vásárlás[VenID] és a Sales[CustID] függvényt egy vizualizációban próbáljuk kombinálni, a Power BI nem rendelkezik konkrét korlátozással, amely a táblák közötti Sok-sok kapcsolat miatt alkalmazható. Bár lehetnek olyan egyéni kényszerek (nem feltétlenül a modellben létrehozott kapcsolatokból erednek), amelyek különböző forgatókönyvekre alkalmazhatók, a Power BI nem tudja kizárólag a kapcsolatok alapján következtetni az alapértelmezett kényszerre. Ha a Power BI megpróbálja visszaadni a két tábla összes kombinációját, akkor nagy keresztcsatlakozás jön létre, és nem releváns adatokat ad vissza. Ehelyett a Power BI hibát jelez a vizualizációban, például az alábbiakat.
4. forgatókönyv: Nem csillagséma és mértékkorlát van megadva. Ha a 3. forgatókönyvből vesszük a példát, és egy felhasználó által megadott kényszert adunk hozzá egy összegzett oszlop (például Termék száma[ProdID] vagy modellmérték (Sales[Total Qty]) formájában, a Power BI létrehozhat egy lekérdezést korrelátumvásárlás[VenID] és Sales[CustID] formájában, ahol a MeasureConstraint nem üres.
Ebben az esetben a Power BI tiszteletben tartja a felhasználó kényszerét, mivel ez az egyetlen kényszer, amelyet a Power BI-nak alkalmaznia kell, és visszaadja a nem üres értékeket eredményező kombinációkat. A felhasználó végigvezette a Power BI-t a kívánt forgatókönyvre, és a Power BI alkalmazza az útmutatást.
5. forgatókönyv: Ha meg van adva egy mértékkorlátozás, de részben kapcsolódik az oszlopokhoz. Vannak olyan esetek, amikor a felhasználó által megadott mértékkorlátozás nem kapcsolódik teljesen a vizualizáció összes oszlopához. A modellmértékek mindig mindent összekapcsolnak. A Power BI fekete dobozként kezeli ezt a forgatókönyvet, amikor megpróbál kapcsolatot keresni a vizualizáció oszlopai között, és feltételezi, hogy a felhasználó tudja, mit csinál a használatával. A felhasználói felületen kiválasztott Összeg, Átlag és hasonló összegzések formájában szereplő összesített oszlopok azonban csak a vizualizációban használt oszlopok/táblák egy részhalmazához kapcsolódhatnak annak a táblának a kapcsolatai alapján, amelyhez az oszlop tartozik. Ezért a korlátozás egyes oszlopok párosítására vonatkozik, de nem mindenkire. Ebben az esetben a Power BI megpróbálja megkeresni azokat az alapértelmezett korlátozásokat, amelyeket a felhasználó által megadott kényszer nem kapcsolódó oszlopokra alkalmazhat (például az 1. forgatókönyvben). Ha a Power BI nem talál ilyent, a következő hibaüzenet jelenik meg.
Kapcsolati hibák elhárítása
Amikor megjelenik a Mezőhiba közötti kapcsolatok nem határozhatók meg, a következő lépéseket követve megpróbálhatja megoldani a hibát:
Ellenőrizze a modellt. Megfelelően van beállítva az elemzésből megválaszolni kívánt kérdések típusaihoz? Meg tudja változtatni a táblák közötti kapcsolatokat? El tudja kerülni, hogy közvetett sok-sokhoz hozzon létre?
Fontolja meg a fordított V alakzatséma két táblává alakítását, és használjon közvetlen Több-többhöz kapcsolatot közöttük a Power BI Desktopban a több-többhöz kapcsolatok alkalmazásában leírtak szerint.
Adjon hozzá egy korlátozást a vizualizációhoz összegzett oszlop vagy modellmérték formájában.
Ha összegzett oszlopot ad hozzá, és továbbra is hiba van, érdemes lehet modellmértékeket használni.
Kapcsolódó tartalom
A modellekről és kapcsolatokról az alábbi cikkekben talál további információt: