Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az egyszerűség és a könnyű használat lehetővé teszi, hogy a Power BI-felhasználók gyorsan gyűjtsenek adatokat, és érdekes és hatékony jelentéseket hozzanak létre az intelligens üzleti döntések meghozatalához, valamint lehetővé teszi a felhasználók számára a rosszul teljesítő lekérdezések létrehozását is. Ez gyakran akkor fordul elő, ha két tábla kapcsolódik ahhoz, ahogyan egy idegen kulcs sql-táblákhoz vagy SharePoint-listákhoz kapcsolódik. (A rekord esetében ez a probléma nem az SQL-hez vagy a SharePointhoz kapcsolódik, és számos háttérbeli adatkinyerési forgatókönyvben fordul elő, különösen akkor, ha a séma folyékony és testreszabható.) Az adatok közös kulccsal rendelkező különálló táblákban való tárolásával sincs semmi baj – valójában ez az adatbázis-tervezés és -normalizálás alapvető alapelve. De ez azt jelenti, hogy jobb módja annak, hogy bővítse a kapcsolatot.
Tekintse meg az alábbi példát egy SharePoint-ügyféllistára.
És az alábbi helylista, amelyre hivatkozik.
Amikor először csatlakozik a listához, a hely rekordként jelenik meg.
Elsődleges helyadatok.
Ezeket a legfelső szintű adatokat a SharePoint API egyetlen HTTP-hívásán keresztül gyűjti össze (a metaadat-hívás figyelmen kívül hagyásával), amelyet bármely webes hibakeresőben láthat.
A rekord kibontásakor a másodlagos táblához csatlakoztatott mezők jelennek meg.
A kapcsolódó sorok egyik táblából a másikba történő kibontásakor a Power BI alapértelmezett viselkedése létrehoz egy hívást a Table.ExpandTableColumn-hoz. Ezt a létrehozott képletmezőben tekintheti meg. Ez a metódus sajnos az első tábla minden sorához külön hívást generál a második táblához.
Ez az elsődleges lista minden sorához egyenként növeli a HTTP-hívások számát. Ez nem tűnik túl soknak a fenti öt-hat sor esetében, de azokban az éles rendszerekben, ahol a SharePoint-listák több százezer sort érnek el, ez jelentős tapasztalatcsökkenést okozhat.
Ha a lekérdezések elérik ezt a szűk keresztmetszetet, a legjobb megoldás, ha elkerüljük a hívássoronkénti viselkedést egy klasszikus táblaillesztés használatával. Ez biztosítja, hogy csak egy hívás legyen a második tábla lekéréséhez, és a további bővítés a memóriában is előfordulhat a két tábla közös kulcsával. A teljesítménybeli különbség bizonyos esetekben jelentős lehet.
Először kezdje az eredeti táblával, jegyezze fel a kibővíteni kívánt oszlopot, és győződjön meg arról, hogy rendelkezik az elem azonosítójával a megfeleltetés érdekében. Az idegen kulcs neve általában a hozzáfűzett azonosítóval rendelkező oszlop megjelenítendő nevéhez hasonló. Ebben a példában ez LocationId.
Másodszor töltse be a másodlagos táblát, és ügyeljen rá, hogy tartalmazza az azonosítót, amely az idegen kulcs. Új lekérdezés létrehozásához kattintson a jobb gombbal a Lekérdezések panelre.
Végül csatlakoztassa a két táblát a megfelelő oszlopnevek használatával. Ezt a mezőt általában úgy találja, hogy először kibontja az oszlopot, majd megkeresi a megfelelő oszlopokat az előnézetben.
Ebben a példában láthatja, hogy az elsődleges listában szereplő LocationId azonosító megegyezik a másodlagos listában szereplő azonosítóval . A felhasználói felület ezt átnevezi Location.Id az oszlopnév egyedivé tétele érdekében. Most ezeket az információkat használva egyesítsük a táblákat.
Ha a jobb gombbal a lekérdezési panelre kattint, és az Új lekérdezés>egyesítő>lekérdezések újként lehetőséget választja, megjelenik egy barátságos felhasználói felület, amellyel kombinálhatja ezt a két lekérdezést.
A legördülő menüben jelölje ki az egyes táblákat a lekérdezés előnézetének megtekintéséhez.
Miután kiválasztotta mindkét táblát, jelölje ki azt az oszlopot, amely logikailag csatlakozik a táblákhoz (ebben a példában ez az elsődleges tábla Helyazonosítója és a másodlagos tábla azonosítója ). A párbeszédpanel útmutatást ad arról, hogy hány sor felel meg az idegen kulcsnak. Az ilyen típusú adatokhoz valószínűleg az alapértelmezett illesztési típust (bal külső) kell használnia.
Válassza az OK gombot , és megjelenik egy új lekérdezés, amely az illesztés eredménye. A rekord bővítése nem vonja maga után a háttérrendszerben további hívásokat.
Az adatok frissítésekor csak két hívás érkezik a SharePointba – egy az elsődleges listához, egy pedig a másodlagos listához. Az illesztés a memóriában lesz végrehajtva, jelentősen csökkentve a SharePointba irányuló hívások számát.
Ez a módszer a PowerQuery bármely olyan táblájára használható, amely egyező idegen kulccsal rendelkezik.
Megjegyzés:
A SharePoint felhasználói listái és osztályozása táblákként is elérhető, és pontosan a fent leírt módon csatlakoztatható, feltéve, hogy a felhasználó megfelelő jogosultságokkal rendelkezik a listák eléréséhez.