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.
Megmutatom, hogyan lehet rekordokat kivonni több oszlopon belüli egyesített, elválasztott adatokból . Ezáltal az adatok elemzésre alkalmasabb formátumba kerülnek.
Ennek számos módja van. Ebben az oktatóanyagban azonban az Ankit által javasolt megoldásra fogok összpontosítani, aki a LuckyTemplates közösség tagja. Az oktatóanyag teljes videóját a blog alján tekintheti meg.
Tartalomjegyzék
A Text.Split használata
Ehhez a megoldáshoz fogom használnirekordokat kinyerni lehatárolt adatokból.
Alább látható a Power Query Lehetőségek táblázata .
Amint láthatja, több érték van összefűzve egyetlen rekordba. A 2. sorban például 4 különböző érték látható. Ez a 4 érték a Versenytársak és a Versenyzői összegek oszlopban egyesül .
Az első dolog, amit tenni fogok, a Text.Split használata .
A Text.Split egy listát ad vissza, miután felosztott egy szövegértéket egy adott határoló alapján.
A Text.Split használatának megkezdéséhez átmásolom a táblázatban használt határolót.
Észre fogja venni, hogy amint rákattintok a táblázat erre a bejegyzésére, a rekord értéke megjelenik az alján. Csak kimásolom onnan a határolót.
Miután ez megtörtént, hozzáadok egy egyéni oszlopot.
Még nem kell nevet változtatnom. Csak egy Text.Split-et kell csinálnom az Egyéni oszlopképlet alatt .
Ennek a képletnek szöveges értékre van szüksége. Tehát csak a jobb oldali ablaktáblán a Versenytársak oszlopot választom, és az automatikusan hozzáadódik a képlethez.
Szövegként megadott elválasztó is kell. Tehát egy idézőjelbe beillesztem a korábban másolt határolót. Ezután hozzáadom a záró zárójelet.
Miután megnyomom az OK gombot, egy listaobjektumhoz jutok.
Az első listát tekintve a Versenyzők és az Összeg oszlopok csak egy bejegyzést mutatnak. Tehát ha az Egyéni oszlop alatti listaobjektum melletti üres helyre kattintok, akkor az is egyetlen értéket mutat alul.
A második rekordhoz van egy listám, amely négy értéket tartalmaz. Ez megfelel a Versenytársak oszlopban és az Összegek oszlopban is látható 4 értéknek.
A List.Zip használata
Most, hogy felosztottam a listát, a következő lépés a megfelelő érték hozzáadása a Versenytárs összegei oszlopból. Ehhez megyek a List.Zip- hez.
Gondoljon a List.Zip-re, mint egy valódi cipzárra. Ez egy listát vesz fel, és egyesíti az elemeket.
Az alábbi példát tekintve gondoljunk csak az első listára (1. és 2.), mint a cipzár zöld sávjára.
Ezután gondoljon a 3-ra és a 4-re, mint a piros sávra.
A List.Zip alkalmazásakor középen összeérnek. Tehát az 1. csoportból 1-et kombinálnak a 2. csoportból 3-mal. Ugyanez történik a 2-es és 4-esnél is. Ez látható a kimeneten, ahol két új csoport alakult.
Előfordulhat, hogy az érintett listák eltérő hosszúságúak . Ez azt jelenti, hogy ha a listákat egyesítjük, a hiányzó adatok visszaadásra kerülnek . Ahhoz, hogy az adatok hiánya ellenére is pontos párokat hozzanak létre, null értéket adunk hozzá .
Visszatérve a Lehetőségek táblázathoz, hozzáadok egy másik egyéni oszlopot.
Ezúttal a Versenytársak összegei oszlopot adom hozzá a képlethez.
Hozzáteszem a List.Zip- et is .
Az alábbi ellenőrzés azt mutatja, hogy nem észleltek hibát.
De amikor az OK gombra kattintok, és megnézem az új oszlopot, akkor is hibaüzenetet kapok.
A részletek megtekintéséhez kattintok a hiba melletti mezőre. Azt mutatja, hogy hibaüzenetet kapok, mert visszaadtam néhány argumentumot a listák körül.
A képletet nézve azt mutatja, hogy ez a szintaxis, ahol a Versenytársak oszlopra hivatkoztak, egy listát adott vissza.
De a Versenytársak összegei oszlopok szintaxisa is listát adott vissza.
Felidézve, hogy a List.Zip mit csinál, egyetlen listát vesz igénybe, és egyesíti azokat .
Látva, hogy két lista jelenik meg, szükségem van a listainicializálóra, hogy összehozzam ezeket a listákat . Ezért adom hozzá ezeket a göndör zárójeleket.
Miután hozzáadtam a záró göndör zárójelet a végére, csak meg kell nyomnom az entert. Ez ad egy lista objektumot.
Most, amikor az 1. rekord oldalára kattintok, egyetlen listaobjektum jelenik meg. Ez igaz, mivel a Versenyzői összegek alatt valóban egyetlen érték található.
Ha ugyanezt teszem a második rekorddal, akkor egy 4 listát tartalmazó listaobjektumot mutat. Ez megegyezik a Versenytárs összegek alatti határolt adatokban szereplő értékek számával is.
Az Egyéni oszlop fejlécétől jobbra lévő oldalsó nyilakat használok az adatok új sorokba való kibontásához.
Ügyeljen a második rekordra, ahogy új sorokra bővítem.
Látni fogja, hogy a rekord összes értéke lefelé bővül.
És amikor a fehér mezőben oldalra kattintok, láthatom a beágyazott lista tartalmát. Mivel az 1. rekordnak csak egy értéke van minden oszlophoz, ezért alul is mutatom ugyanazokat az adatokat.
De amikor a 2. rekordra kattintok, látni fogja, hogy a körülhatárolt adataimban megadott 4 érték közül csak az 1-et jelenítem meg.
A harmadik rekordon a második értékek kombinációját mutatom be.
Tehát ismét az oldalirányú nyilakat fogom használni. De ezúttal ebből a listából fogom kivonni az értékeket.
Egyedi elválasztót adok neki.
A dupla csövet fogom használni határolóként. Ennek egyértelműbbé kell tennie a határolt adatokban lévő értékek közötti különbségtételt.
Miután megnyomtam az OK gombot, az értékek közvetlenül az Egyéni oszlopba kerülnek.
Az adatok megtisztítása
Már nincs szükségem a Versenytárs és a Versenyzői összegek oszlopokra, ezért eltávolítom ezeket az oszlopokat.
Ami az Egyéni oszlopot illeti, azt felosztom.
Az átalakítás lapon az Oszlop felosztása lehetőséget fogom választani. El fogom osztani a határolóval.
Az ablakban a dupla csövet adom alapul.
Miután megnyomtam az OK gombot, az adatok külön oszlopokra lesznek osztva.
Csak átnevezem ezeket az új oszlopokat, hogy könnyebb legyen kitalálni, miről szólnak az adatok. Ezt nevezem újra Versenytárs rovatnak.
Ezután a másik oszlopot Összeg oszlopnak nevezem.
Nyilvánvaló, hogy az Összeg oszlop számokat tartalmaz. De ha megnézed az adattípust jelző ikont, akkor azt mutatja, hogy számok helyett szövegem van. Szóval elkezdem javítani.
Európában élek, ezért vessző helyett pontot használunk ezres elválasztóként. A Replace Values funkciót fogom használni a tisztításhoz.
Az ablakban csak egy vesszőt kell beírnom a Keresendő érték alá, és egy pontot a Replace With alá.
Ha megnyomom az OK gombot, az összes vesszőben pont jelenik meg.
A következő dolog, amit tenni fogok, az az, hogy eltávolítom a dollárjelet az értékek elől. Ismét az Értékek cseréje eszközt fogom használni. Ezúttal üresen hagyom a Csere a következővel mezőt.
Ha megnyomom az OK gombot, az értékek csak a számokat mutatják valuta nélkül.
Lenézve az oszlopomat, itt is látható egy bejegyzés dupla kötőjellel. Mivel ez egy lehetséges hibát eredményezhet, megszabadulok ettől a kettős kötőjeltől.
A dupla kötőjelet kicserélem üresre.
És miután megnyomtam az OK gombot, megvan a megfelelő formátum az Összeg oszlopban található összes bejegyzéshez.
Most már rákattinthatok az adattípus ikonjára, és kiválaszthatom a Teljes számot.
Következtetés
Mint korábban említettem, különböző módokon kinyerhet értékeket a körülhatárolt adatokból. De számomra ez a megközelítés az egyik legegyszerűbb és leggyorsabb módja ennek.
Mivel ehhez a megoldáshoz az ötletet az egyik tagtól kaptamközösség, ez is mutatja, mennyire fontos avan. Valójában minden problémát sokféle szemszögből láthat. Innentől kezdve egyszerűen kiválaszthatja azt a megoldást, amelyről úgy gondolja, hogy a legmegfelelőbb az Ön számára.
Minden jót,
Méhfű
***** LuckyTemplates tanulása? *****
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ó.