Lekérdezés összecsukása natív lekérdezéseken
A Power Queryben meghatározhat egy natív lekérdezést, és futtathatja azt az adatforráson. Az adatok importálása adatbázisból natív adatbázis-lekérdezéssel című cikk bemutatja, hogyan hajthatja végre ezt a folyamatot több adatforrással. A cikkben ismertetett folyamat használatával azonban a lekérdezés nem fogja kihasználni a lekérdezés további lépéseiből származó összecsukható lekérdezések előnyeit.
Ez a cikk egy alternatív módszert mutat be, amellyel natív lekérdezéseket hozhat létre az adatforráson a Value.NativeQuery függvénnyel, és aktív marad a lekérdezés összecsukási mechanizmusa a lekérdezés későbbi lépéseihez.
Feljegyzés
Javasoljuk, hogy olvassa el a lekérdezés-összecsukási dokumentációt és a lekérdezés-összecsukási mutatókat, hogy jobban megértse a cikkben használt fogalmakat.
Támogatott adatösszekötők
A következő szakaszokban ismertetett módszer a következő adatösszekötőkre vonatkozik:
- Amazon Redshift
- Dataverse (továbbfejlesztett számítás használatakor)
- Google BigQuery
- PostgreSQL
- SAP HANA
- Snowflake
- SQL Server
Csatlakozás célként adatforrásból
Feljegyzés
A folyamat bemutatásához ez a cikk az SQL Server-összekötőt és az AdventureWorks2019 mintaadatbázist használja. A felhasználói élmény összekötőnként eltérő lehet, de ez a cikk bemutatja, hogyan engedélyezheti a lekérdezések összecsukási képességeit a támogatott összekötők natív lekérdezéseihez.
Az adatforráshoz való csatlakozáskor fontos, hogy a natív lekérdezés végrehajtásához használt csomóponthoz vagy szinthez csatlakozzon. A cikkben szereplő példában ez a csomópont lesz az adatbázis szintje a kiszolgálón belül.
A kapcsolati beállítások megadása és a kapcsolat hitelesítő adatainak megadása után a rendszer az adatforrás navigációs párbeszédpanelére kerül. Ebben a párbeszédpanelen láthatja az összes elérhető objektumot, amelyhez csatlakozhat.
Ebben a listában ki kell választania azt az objektumot, amelyben a natív lekérdezés fut (más néven cél). Ebben a példában ez az objektum az adatbázis szintje.
A Power Query kezelőablakában kattintson a jobb gombbal az adatbáziscsomópontra a kezelőablakban, és válassza az Adatok átalakítása lehetőséget. Ha ezt a lehetőséget választja, új lekérdezést hoz létre az adatbázis teljes nézetéről, amely a natív lekérdezés futtatásához szükséges cél.
Ha a lekérdezés a Power Query-szerkesztőbe kerül, csak a Forrás lépés jelenik meg az Alkalmazott lépések panelen. Ez a lépés tartalmaz egy táblát, amely tartalmazza az adatbázis összes elérhető objektumát, hasonlóan ahhoz, ahogyan azok a Kezelő ablakban voltak megjelenítve.
A Value.NativeQuery függvény használata
Ennek a folyamatnak a célja a következő SQL-kód végrehajtása, és további átalakítások alkalmazása a Power Queryvel, amelyek visszahajthatók a forrásra.
SELECT DepartmentID, Name FROM HumanResources.Department WHERE GroupName = 'Research and Development'
Az első lépés a megfelelő cél meghatározása volt, amely ebben az esetben az az adatbázis, ahol az SQL-kód fut.
Ha egy lépés rendelkezik a megfelelő célval, kiválaszthatja ezt a lépést – ebben az esetben a Forrás az alkalmazott lépésekben –, majd a szerkesztőlécen az fx gombot választva hozzáadhat egy egyéni lépést. Ebben a példában cserélje le a Source
képletet a következő képletre:
Value.NativeQuery(Source, "SELECT DepartmentID, Name FROM HumanResources.Department WHERE GroupName = 'Research and Development' ", null, [EnableFolding = true])
A képlet legfontosabb összetevője az opcionális rekord használata annak a függvénynek a következő paraméteréhez, amelynél az EnableFolding rekordmező értéke igaz.
Feljegyzés
A Value.NativeQuery függvényről a hivatalos dokumentációs cikkben olvashat bővebben.
Miután megadta a képletet, megjelenik egy figyelmeztetés, amely megköveteli a natív lekérdezések futtatását az adott lépéshez. A folytatás gombra kattintva kiértékelheti ezt a lépést.
Ez az SQL-utasítás csak három sorból és két oszlopból álló táblát eredményez.
Lekérdezés összecsukásának tesztelése
A lekérdezés lekérdezés-összecsukásának teszteléséhez megpróbálhat szűrőt alkalmazni bármelyik oszlopra, és ellenőrizheti, hogy az alkalmazott lépések szakaszában látható-e a lekérdezés összecsukható jelzője. Ebben az esetben szűrheti a DepartmentID oszlopot, hogy két érték ne legyen egyenlő.
A szűrő hozzáadása után ellenőrizheti, hogy a lekérdezés összecsukási mutatói továbbra is azt mutatják-e, hogy a lekérdezés összecsukása az új lépésben történik-e.
Az adatforrásnak küldött lekérdezés további ellenőrzéséhez kattintson a jobb gombbal a Szűrt sorok lépésre, és válassza ki azt a beállítást, amely beolvassa a Lekérdezésterv megtekintése lehetőséget az adott lépés lekérdezési tervének ellenőrzéséhez.
A lekérdezésterv nézetben láthatja, hogy egy Value.NativeQuery nevű csomópont a képernyő bal oldalán, amely egy hivatkozásszöveggel rendelkezik, amely beolvassa a Nézet részleteit. Erre a hivatkozásszövegre kattintva megtekintheti az SQL Server-adatbázisnak küldött pontos lekérdezést.
A natív lekérdezés egy másik Standard kiadás LECT utasítás köré van burkolva az eredeti rész lekérdezésének létrehozásához. A Power Query a lehető legoptimálisabb lekérdezést hozza létre a használt átalakítások és a natív lekérdezések alapján.
Tipp.
Azokban az esetekben, amikor hibák lépnek fel, mert a lekérdezések összecsukása nem lehetséges, javasoljuk, hogy próbálja meg ellenőrizni a lépéseket az eredeti natív lekérdezés allekérdezéseként, hogy ellenőrizze, vannak-e szintaxis- vagy környezeti ütközések.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: