Mi az a Power Query & M Language: Részletes áttekintés
Ez az oktatóanyag áttekintést nyújt a Power Query szerkesztőről és az M nyelvről a LuckyTemplates asztalon.
Ebben a blogban néhány gyakori táblázatos kifejezést, más néven CTE-t tárgyalunk . Ha összetett problémákkal találkozik, ezek használata segíthet.
A CTE segítségével bármilyen feladatot apró és kezelhető lekérdezésekre bonthat bonyolult problémák megoldása érdekében.
Most pedig nézzük meg, hogyan teheti a CTE hatékonyabbá a munkáját a hibaelhárítási kódok terén.
Tartalomjegyzék
Szintaxis közös SQL-táblakifejezések létrehozásához
Először be kell írnia a „ WITH ” szót, majd a CTE-kifejezés nevét , majd az „ AS ”-t.
Ezt követően a zárójelek között bármilyen lekérdezést megadhat. Ez a megadott kifejezésnévben lesz tárolva, amely virtuális táblaként fog működni.
Ezután adja hozzá aa beállított kifejezésnévvel létrehozott virtuális tábla használatával .
Példánkban az „ USACusts ” kifejezést fogjuk használni a kifejezés nevéhez .
A lekérdezéshez pedig ezt a kódot fogjuk használni.
Ez a lekérdezés létrehoz egy virtuális táblát. Ez egy teljes vagy összesített összeget jelenít meg, ügyfél-azonosító szerint csoportosítva, ahol az ország, amelyhez tartoznak, „ USA ”. Az adatok a Sales.Customers táblából lesznek kinyerve .
Két oszlop lesz látható, ezek a custid és az Agg_Amount . Vegye figyelembe, hogy az USACusts tábla nem egy fizikai tábla , hanem csak egy virtuális tábla. Ez azt jelenti, hogy nem lesz látható az adatbázisunkban.
A lekérdezés után hozzáadhatjuk a
Ez az utasítás minden 1000- nél nagyobb Agg_Amount értéket kiválaszt az USACusts táblából.
Több közös SQL-táblakifejezés
Több CTE segíthet a kód összetett hibáinak megoldásában azáltal, hogy kisebb részekre bontja azokat. Ezenkívül tetszőleges számú CTE-t definiálhat . Az alábbiakban egy példa látható több CTE-re .
Ebben a példában van az első CTE , amely C1 . Innen az ÉV(rendelési dátum) lehetőséget választottuk , és létrehoztunk 2 oszlopot, amelyek a rendelési évet és a letéti értéket tartalmazzák az Értékesítések.Rendelések táblából .
A második, C2 nevű CTE-hez kiválasztottuk a rendelési évet , és a COUNT paranccsal összegyűjtöttük a custid számát . Ezután a C1-ből származó numcusoknak neveztük el . A C2- ben egy WHERE feltétel is hozzáadásra került, hogy csak a 2015- nél nagyobb rendelési évet válasszuk ki . Ezután rendelési év szerint csoportosítottuk őket .
Ezt követően a C2- ből választottuk ki a rendelési évet és a numcusokat . Ezután hozzáadtunk egy WHERE feltételt, hogy csak az 500- nál nagyobb ügyfelek számát válasszuk ki .
Összegezve, ezzel a kóddal azon ügyfeleket választjuk ki, akiknél a rendelési év nagyobb, mint 2015 , és csak az 500- nál nagyobb vásárlók számát a rendelési év feltétele alapján .
Több CTE használata összetett kódok megoldásához
Ezután további példákat mutatok be, hogy még jobban hangsúlyozzam a CTE-k használatát nagy adathalmaz hibaelhárításában. Íme egy másik példa több CTE-re .
Kérjük, vegye figyelembe, hogy a CTE-ket úgy nevezheti el, ahogy akarja, de ennél a blognál a C1 , C2 , C3 stb . szavakat használjuk, hogy könnyen azonosítsuk és megértsük, hogyan használjuk őket példáinkban.
Visszatérve a példához, létrehoztuk a C1-et , hogy csak azokat az értékesítéseket jelöljük ki, amelyeknél a rendelési mennyiség nagyobb, mint 5 a Sales.SalesOrderDetails táblából.
Ezután a C2- ben a C1- ben tárolt adatokat felhasználtuk a termék összekapcsolására a Product.ID alapján, és terméknév (p.Name) és termékszín (p.Color) szerint csoportosítottuk őket .
Mivel a C1 -ben deklaráltunk egy feltételt , csak azoknál a rendeléseknél csoportosítjuk a termék nevét és színét a C2- ben, ahol a rendelési mennyiség (Rendelési mennyiség) nagyobb, mint 5 .
Ezt követően egy paranccsal kiválasztjuk az összes adatot a C2-ből 1000 -nél nagyobb rendelési mennyiséggel .
Hibaelhárítási célból egyszerűen kiválaszthatja az egyes létrehozott CTE-ket , hogy ellenőrizze, hogy a megfelelő adatokat jeleníti-e meg. Lásd az alábbi példákat.
A C1 esetében a Sales.SalesOrderDetail tábla összes adatát megjeleníti 5 -nél nagyobb rendelési mennyiséggel .
Ezután a C2 megjeleníti a rendelési mennyiség kimenetét, amely terméknév és szín szerint van csoportosítva a C1 -ből . A C2- ben láthatjuk a orderqty oszlopot, de valójában nincs a C2- ben, mert ez csak egy számított oszlop, amelyet a C1- ből generáltunk . Innentől kezdve használhatjuk a orderqty oszlop bármely feltételét, és elvégezhetjük a hibaelhárítást.
Tehát most már láthatja, hogy több CTE hogyan segíthet nekünk az összetett kódok hibáinak megoldásában azáltal, hogy CTE-kben tárolja azokat , és megkezdheti a hibaelhárítást a tényleges kód károsodása nélkül.
CTE-k használata esetleírással
Vegyünk egy másik példát ugyanebben a kontextusban annak bemutatására, hogyan használhatunk több CTE-t összetett kódok hibaelhárításához.
Ebben az esetben egy CASE utasítást fogunk használni, amely létrehoz egy Termékkategória oszlopot olyan eredményekkel, amelyek a C2- ből származó rendelési mennyiség összesített mennyiségén alapulnak .
Ahogy korábban említettük, az első CTE- ben , valamint a termékkategóriában nem volt rendelési mennyiségünk , de közbenső táblázatokat használtunk a különböző számítások kiszámításához és elvégzéséhez.
A következő példában összesített összeget hozunk létre az előző példában létrehozott összeg alapján. Ehhez azonban a termékkategória CASE utasítását a harmadik CTE- be helyezzük , amely a C3 .
Mielőtt továbblépnénk, ellenőrizzük a C3 kimenetét a „ SELECT * FROM C3 ” hozzáadásával a C3 alá .
A C3- ban láthatjuk a ProductName , Color , orderqty és Product Category oszlopokat. Innentől kezdve megkezdhetjük az összesítést a termékkategória alapján . Tegyük ezt meg a következő paranccsal a C3 alatt .
Az alábbi példa az összesített összeg létrehozása utáni eredményt mutatja a fenti paranccsal.
Kezdetben nem rendelkeztünk a Termékkategória és a Orderqty oszlopokkal, de több CTE használatával mintakimeneteket tudunk generálni ezek alapján az oszlopok alapján .
Ezen a ponton láthatja, hogy a CTE-k segítségével bármit megtehetünk a kódjainkkal való hatékonyabb munkavégzésben.
Következtetés
Ebben az oktatóanyagban megtanulta a megfelelő szintaxist a közös SQL-táblázat-kifejezések létrehozásához , és megtanulta, hogyan lehet több CTE-t használni az összetett kódok hibaelhárításában az adatok kis részeinek elkülönítésével és egy adott CTE-n belüli tárolásával .
Ennek megtanulásával most már hatékonyabban tudja hibakeresni a kódokat. Ne feledje, hogy bármilyen nevet használhat a CTE- hez , és nem használhat vagy hívhat meg egyetlen CTE-t sem , hacsak nem hozza létre. Amint megismeri a CTE-t , köztes felhasználónak tekintheti magát.
Ha többet szeretne megtudni erről a témáról és más kapcsolódó tartalomról, tekintse meg a vonatkozó linkek alábbi listáját.
Minden jót,
Hafiz
Ez az oktatóanyag áttekintést nyújt a Power Query szerkesztőről és az M nyelvről a LuckyTemplates asztalon.
Ismerje meg, hogyan hozhat létre oldalszámozott jelentést, hogyan adhat hozzá szövegeket és képeket, majd exportálhatja a jelentést különböző dokumentumformátumokba.
Ismerje meg, hogyan használhatja a SharePoint automatizálási funkcióját munkafolyamatok létrehozására, és segít a SharePoint-felhasználók, -könyvtárak és -listák mikrokezelésében.
Fejlessze jelentéskészítési készségeit, ha csatlakozik egy adatelemzési kihíváshoz. Az Accelerator segítségével LuckyTemplates szuperfelhasználóvá válhatsz!
Ismerje meg, hogyan számíthatja ki a futó összegeket a LuckyTemplates programban a DAX segítségével. Az összesítések futtatása lehetővé teszi, hogy ne ragadjon le egyetlen egyéni eredménynél sem.
Ismerje meg a változók fogalmát a DAX-ban a LuckyTemplates-en belül, és a változók hatásait a mérőszámok kiszámítására.
Tudjon meg többet a LuckyTemplates Slope diagram nevű egyéni vizualizációról, amely egyetlen vagy több mérőszám növekedésének/csökkenésének megjelenítésére szolgál.
Fedezze fel a LuckyTemplates színtémáit. Ezek elengedhetetlenek ahhoz, hogy jelentései és vizualizációi zökkenőmentesen nézzenek ki és működjenek.
Az átlag kiszámítása a LuckyTemplates alkalmazásban számos módon elvégezhető, hogy pontos információkat kapjon üzleti jelentéseihez.
Nézzük meg a Standard LuckyTemplates Theming témakört, és tekintsünk át néhány olyan funkciót, amely magában a LuckyTemplates Desktop alkalmazásban található.