Ebben az oktatóanyagban megtudjuk, hogyan csatlakozhatunk SQL szerverhez. Azt is megvitatjuk, hogyan működik a lekérdezés hajtogatása a Power Queryben, és hogyan futtathatunk SQL-parancsokat a LuckyTemplatesben. A Power Queryn belül különféle forrásokból kinyerhetjük és kezelhetjük az adatokat. A lekérdezés hajtogatásával az adatátalakításokat a LuckyTemplates helyett le tudjuk tölteni a forrásba.
A lekérdezés hajtogatása nagyon hatékony nagy adatbázisok esetén a jelentések teljesítményének javítása érdekében.
Tartalomjegyzék
Csatlakozás egy SQL Server adatbázishoz a lekérdezés hajtogatásához
Ezt az oktatóanyagot egy Power Query szerkesztőben fogjuk elvégezni. Először kattintson az SQL Server elemre az Új forrás alatt .

Ha már telepített egy SQL-kiszolgáló gépet, és önállóan dolgozik, a kiszolgáló neve localhost lesz . Ha azonban egy szervezetben dolgozik, akkor megadják a kiszolgáló nevét és hozzáférést az adatbázisukhoz. Meg kell adnunk az adatbázis nevét is. Ebben a példában az AdventureWorksDW2012-t fogom használni . Ebből az oktatóanyagból megtudhatja, hogyan töltheti le ezt a mintaadatbázist .

Az adatkapcsolati módban az összes kiválasztott adat betöltődik a modellbe, ha az Importálás lehetőséget választjuk . De ha a DirectQuery -t választjuk , akkor semmi nem töltődik be az adatmodellbe, de minden benne lesz az adatbázisban. Amikor szűrőt alkalmazunk, a lekérdezés visszaküldésre kerül az SQL Servernek.
De ez nem hatékony, mert több időt vesz igénybe a frissítés. Ezért az Importálást választjuk adatkapcsolati módként .

Ezután, ha rákattintunk a Speciális beállítások lehetőségre , akkor megjelenik egy szakasz, ahol SQL utasítást írhatunk. Később megtanuljuk, hogyan kell ezt csinálni.
Ebben a példában egyszerre csak egy táblát akarunk, így nem viszünk be kapcsolatoszlopokat vagy táblákat. Ebben az esetben törölnünk kell az opció pipáját.

Végül kattintson az OK gombra .

Ezt követően láthatjuk a rendelkezésre álló táblázatokat, és onnantól lehet némi információnk. Ebből a példából az internetes eladások adatait kell megszereznünk. Ezért keressen és válassza ki a FactInternetSales lehetőséget , majd kattintson az OK gombra .

Ennek eredményeként az adatok mostantól a Power Query szerkesztőben lesznek.

A Query Folding megértése a Power Queryben
A Forrás panelen kattintson a jobb gombbal a Navigáció elemre , majd válassza a Natív lekérdezés megtekintése lehetőséget .

Ezzel láthatjuk a gép által végrehajtott parancsot. A Power Query motor létrehozta ezt a parancsot az SQL Serverben való futtatáshoz. Most kattintson az OK gombra .

Példaként véletlenszerűen létrehoztam egy szűrőt ebben a táblázatban, hogy megmutassam, hogy miután létrehoztuk ezeket, látni fogjuk őket az ALKALMAZOTT LÉPÉSEK panelen.

Ha jobb gombbal kattintunk az egyik szűrőre, látni fogjuk, hogy a Natív lekérdezés megtekintése opció továbbra is elérhető.

Ez a szűrőnkből származó SQL-lekérdezés az SQL Serveren futott . Ha nem alkalmaztuk a szűrőt, 5 millió sort kapunk. Most, hogy alkalmaztunk egy szűrőt, csak 4 millió sort kapunk.

Ez azt jelenti, hogy a LuckyTemplates 5 millió sor helyett 4 millió sort nyer ki az SQL Serverből. Ezzel csökkent a sorok száma és a hálózatunkról érkező terhelések száma is.
Ne feledje, hogy amíg a Natív lekérdezést látjuk , az azt jelenti, hogy a lekérdezés hajtogatása működik. Ezért minden feldolgozás a forrásrendszeren belül történik. Ez a leghatékonyabb módja az adatok feldolgozásának, különösen akkor, ha nagy mennyiségű adattal rendelkezik.
Hozzáadtunk egy újabb lépést, amelynek során eltávolítottunk egy oszlopot a táblázatunkból. Ha rákattintunk a jobb gombbal, a Natív lekérdezés megtekintése opciót látjuk, ami azt jelenti, hogy továbbra is működik.

Meghibásodott lekérdezés hajtogatásának azonosítása és javítása
Bizonyos átalakításokkal, például egy oszlop adattípusának megváltoztatásával a lekérdezés összehajtása megszakad. Például a TaxAmt oszlop adattípusát egész számra módosítjuk .

Ezzel hozzáad egy Módosítási típus lépést az ALKALMAZOTT LÉPÉSEK alatt . Ha jobb gombbal rákattintunk, azt látjuk, hogy a View Native Query le van tiltva, ami azt jelenti, hogy a Query Folding megszakadt.

Ha egy Query Folding megszakad, minden más átalakítás, amit végrehajtunk, a LuckyTemplates Power Queryben történik meg, de a forrásrendszerben már nem.
Például, ha 3 millió sort kapunk, akkor mindegyik Power Queryben fog megjelenni. Ezeket a rekordokat továbbra is csökkenthetjük szűréssel. Az a 3 millió sor azonban most át fog jönni a hálózaton, ami nem túl hatékony.
Egy másik példa, tegyük fel, hogy úgy szeretnénk szűrni a Rendelés dátumát , hogy csak a 2012. január 1. utáni dátumokat jelenítse meg.

Ha ezt a szűrőt az ALKALMAZOTT LÉPÉSEK ponton tekintjük meg , a Natív lekérdezés megtekintése opció nem lesz látható.

Ez megint csak azért van, mert a lekérdezés összehajtása megszakadt az általunk létrehozott előző átalakítás miatt. Amit tehetünk, hogy az összes szűrési lépést áthelyezzük azon átalakítási lépés fölé, amely megszakította a Query Folding-t .
Ebben a példában csak jobb gombbal kattintunk az általunk nemrégiben létrehozott szűrési lépésre, és kattintunk az Áthelyezés korábban elemre , vagy egyszerűen húzzuk a Módosítás típusa átalakítás tetejére .

Ha ismét rákattintunk a jobb gombbal erre a szűrőre, látni fogjuk, hogy a Natív lekérdezés megtekintése opció látható, ami azt jelenti, hogy a Lekérdezés összecsukása ismét működik.

Az SQL Server csatlakoztatásának és az SQL nyelv futtatásának előnyei
Tegyük fel például, hogy a képen látható módon országonkénti formátumban szeretnénk megjeleníteni az összes eladást.

A FactInternetSales táblánkban szerepel az Értékesítési Amount oszlop, de nincs országinformációnk rajta.

Továbbra is kaphatunk országinformációkat, mert megvan a SalesTerritoryKey oszlop.

A DimSales táblát ide kell hoznunk, hogy egyesíthessük a FactInternetSales- ünkkel . Ezután el kell hoznunk az ország oszlopot, és országoszlop szerint csoportosítanunk kell őket, ami nagyon összetett és sokáig tarthat. Tehát ahelyett, hogy mindezt a Power Queryben tennénk meg , ami nem hatékony, inkább bekapcsoljuk.
Ehhez kattintson az Új forrás > SQL Server elemre .

Csatlakozzunk ismét a localhost nevű szerverünkhöz, adatbázisunk pedig az AdventureWorksDW2012 .

Ezúttal egy speciális opciót szeretnénk megtenni, mert egy parancsot akarunk írni az SQL utasítás mező alá. Ehhez a példához már írtunk egy parancsot, amelyet az SQL utasításba fogunk beírni. Az SQL-parancsokról további oktatóanyagainkból tájékozódhat.

Nem szeretnénk kapcsolatoszlopokat felvenni, ezért itt töröljük ennek a lehetőségnek a bejelölését. Ezután kattintson az OK gombra a parancs futtatásához.

A parancs végrehajtása után megjelenik ez az előnézeti ablak, amely az összes értékesítést értékesítési terület szerint mutatja .

Így a SalesByCountry tábla hasonló kimenetét tudtuk elérni egy egyszerű SQL-parancs használatával, ahelyett, hogy a Power Query különböző tábláit és oszlopait manipuláltuk volna.
További előny, hogy az összes adatunkat SQL-be tudjuk alakítani, és csak a szükséges vagy szükséges adatokat vihetjük be az adatmodellünkbe. Ezzel egy nagyon hatékony adatmodellt tudunk felépíteni tervünk szerint minden nehézség és probléma nélkül.
Következtetés
Ebben az oktatóanyagban megtanultuk, mi az a Query Folding , és felfedeztük annak előnyeit. Megbeszéltük a Power Query és az SQL Server összekapcsolásának lépéseit is .
Sőt, beszéltünk az SQL Serverhez való csatlakozás előnyeiről és az SQL Serveren történő átalakítások létrehozásáról , ahelyett, hogy Power Queryn tennénk meg azokat .
Remélhetőleg láthatta, hogy az összes transzformáció végrehajtása SQL- ben hatékonyabb és gyorsabb, mint a Power Query használatával .
Minden jót,
Hafiz