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.
A LuckyTemplates ünnepnaptár létrehozása kulcsfontosságú számos időintelligencia-számításhoz. Ebben az oktatóanyagban megmutatom, hogyan számíthat ki konkrét ünnepnapokat DAX-mértékekkel. Az oktatóanyag teljes videóját a blog alján tekintheti meg.
Ez a példa az egyikA hét problémája elnevezésű kezdeményezések, ahol minden hónapban veszünk egy valós DAX vagy Power Query problémát, és részletesen lebontjuk azt.
A Rubber Duck Debugging nevű technikát használtam. Általában hibakeresésre használják, de szerintem nagyon értékes a kezdeti keretrendszer létrehozásához is, amelyet egy olyan összetett probléma megoldására fog használni, mint a LuckyTemplates.
Alapvetően csak egy gumikacsát vagy egy olyan személyt használ, akivel beszél, és hangosan kimondja az elképzelt megoldást, és kidolgoz egy tervet arra vonatkozóan, hogyan fogja megtámadni a problémát.
A puszta hangoztatás, amely gyakran segít a probléma megoldásában. Egyes esetekben hibakeresési helyzetben ráébred arra, hogy mit csinálsz, hogy van-e értelme, és segít megtalálni a megoldást a probléma megoldásával.
Az alábbiakban látható a valós DAX probléma ehhez a kihíváshoz. Itt van egy asztalunk 10 ünnepnappal a hónap és a nap feltüntetésével. A napok egy része meghatározott nap, néhány pedig relatív. Elő kell állnunk az ünnep dátumával és a Celebrated On intézkedésekkel.
Ehhez a Day mezőt két komponensre kell elemeznünk. Az első elemzés az előfordulás (harmadik, utolsó, első, második), a második pedig a nap (hétfő, csütörtök). Ez két kritikus információ, amelyeket el kell különítenünk.
Tartalomjegyzék
Konkrét dátumok kiszámítása a LuckyTemplates ünnepnaptárban
Normális esetben ezt Power Queryben csak elválasztójelek felosztásával tenném, de mivel ezt a DAX-szal tesszük, másképp kell csinálnunk. (Ne feledje, hogy ebben a kihívásban nem használhatjuk a Power Queryt.)
Ki kell számolnunk a megadott év, hónap és napnév minimális és maximális dátumát. Ebben az esetben például 2027-re, januárra és a harmadik hétfőre mondhatjuk. Ha egy adott hónapban megkaptuk ezt a minimális napot, hozzáadhatunk hét napot a második hétfőig, 14 napot a harmadik hétfőig, és 21 napot a negyedik hétfőig.
Egy másik technika, amelyet ezzel a kihívással kapcsolatban szeretnék megosztani Önökkel, az a részekben való építés, amelyet egy intézkedés létrehozásakor nevezek. Ezt nagyon hasznosnak találom egy olyan összetett intézkedésnél, ahol ha sok változónk van, akkor sok összetevőt kell építeni.
Mindig azt csinálom, hogy van egy eredményváltozó ( VAR Result ) a végén, és az utolsó utasításom, ami csak a Return Result . Ez nagyon megkönnyíti a visszalépést és az általam felépített változók tesztelését. Végig tudom követni és részenként megoldani.
Az utolsó technika, amelyet meg akarok osztani veletek, az az úgynevezett Ismeretlen funkciók keresése. Például, ha nem tudom, hogy milyen funkciót használjak ehhez a LuckyTemplates ünnepi naptári kihíváshoz, akkor a Külső eszközök lapra lépek, és az SQLBI DAX útmutatóhoz .
Itt van egy nagyon jó funkciója, csoportok (bal oldalon), ahol a funkciók típus szerint csoportosítva vannak. Így, ha például egy szöveges karakterlánc elemzésén gondolkodom, kereshetek a Szöveg függvények között .
A DAX összes szöveges funkcióját biztosítja. Ez egy nagyszerű módja annak, hogy gyorsan megtalálja amértékre van szüksége.
DAX intézkedések a LuckyTemplates ünnepi naptárhoz
Az Ünnep dátuma mértékegységhez létrehoztam ezt az s sorozatot , a dátumokat a szeletelőből, az ünnep hónapját, a hónap számát és a napot a Dátum táblából szedve.
Ezután megkapom a kiválasztott nap hosszát a hossz () funkciót. Ebben az esetben szöveget adott vissza, így be kellett csomagolnomhogy ezt a szöveget számértékre módosítsa.
És akkor használtam afüggvény a szóköz pozíciójához, és tördelve VALUE, de azt mondja: keressen szóközt a kiválasztott napon belül, az első pozíciótól kezdve és nullát ad vissza, ha nem találom ott azt a karakterláncot.
A CharsBeforeSpace (az űr előtti karakterek) csak a SpacePosition. A CharsAfterSpace száma (karakterek szóköz után) csak a karakterlánc hossza ( SelDayLen ) mínusz a szóköz pozíciója. Ebből meg tudjuk csinálni a FirstParse és a SecondParse .
Ezen a ponton most két változónk van, az egyik az eseményt, a másik pedig a napot.
És akkor van egy alap ( Calc1st ), ahol a Dátumok táblából kivesszük a szűrőt. Ezután alkalmazzuk a szeletelőből a kiválasztott év szűrőit, a hónap nevét, majd abból a második elemzésből a hét napját.
Hasonlóképpen ugyanezt tesszük az utolsó számításnál ( VAR CalcLast ).
Ha mindez megvan, akkor megy egy utasítás, és az utolsó rész a RETURN eredmény.
Végezetül szeretném végigvezetni a Celebrated On intézkedésen a kihívás kiegészítő bónuszaként. Ez csak egy egyszerűahol kivettem az előző mértéknél kiszámított ünnepnapi dátumot, odamentem a Dátumok táblázathoz, és kikerestem a hét napjának nevét. És akkor most csináltam egy SWITCH nyilatkozatot, ahol a DayLookup eredményét vettük . Végül pedig egy RETURN DateAdjust- tal zárom .
Következtetés
Ez a LuckyTemplates ünnepnaptári kihívás, mint említettem, valós probléma. Az általam kidolgozott megoldás meglehetősen összetett, de igazán hatékony a konkrét ünnepi dátumok kiszámításában.
Remélem, sokat tanultál ebből az oktatóanyagból. Tekintse meg a teljes oktatóvideót a DAX intézkedések részletesebb áttekintéséért.
Egészségére!
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ó.