Dátumtáblázat létrehozása a LuckyTemplates alkalmazásban
Tudja meg, miért fontos egy dedikált dátumtáblázat a LuckyTemplatesben, és ismerje meg ennek leggyorsabb és leghatékonyabb módját.
Megmutatom, hogyan vehet fel paramétert az M függvényben a dátumtábla lekérdezésében . Ez a példa egy olyan kérdésen alapul, amelyet a. Az oktatóanyag teljes videóját a blog alján tekintheti meg.
A kérdés az volt, hogy a hét 1. napjának számozását hogyan lehet 0-ról 1-re átállítani . Vegye figyelembe, hogy ez nem változtatja meg a hétköznapok kezdetét. Ebben a dátumtáblázatban a hét kezdete mindig hétfő lesz. Csak arról van szó, hogy a hétfőt az 1. napnak nevezzük a 0. nap helyett.
Ez a folyamat nem feltétlenül bonyolult, de meg kell értened az M nyelv felépítését. Ha Ön a LuckyTemplates tagja, megtekintheti a. A bevezető érinti a témát.
Tartalomjegyzék
Az M függvény és a kiterjesztett dátumtábla
Hadd kezdjem azzal, hogy belépek a Power Querybe . A dátumtábla M függvényét már bemásoltam ide.
Az M függvényt a LuckyTemplates fórum M Code Showcase kategóriájából szereztem be . A kód a téma alatt található.
Ha megnyitom a Speciális szerkesztőt , ez a kód.
Sok M kód van benne, ami elvonhatja a figyelmet.
Tesztlekérdezés létrehozása
Mivel túl sok minden történik az M függvényen belül, helyette egy új üres lekérdezéssel kezdem .
Ezt a tesztlekérdezést fogom elnevezni .
Ezután megnyitom a Speciális szerkesztőt .
Mivel egy függvényt fogok létrehozni, hozzáadok egy pár zárójelet, és törlöm az összes alapértelmezett kódot.
A függvény elindításához deklarálok egy opcionális paramétert .
Ezután hozzáadok egy változót. Ezt a változót WDStartNumnak fogom hívni, mivel ez a hétköznapi kezdőszámot jelenti. A típusát is deklarálnom kell, ezért beírom a számot .
A hibák elkerülése érdekében deklarálom a típust. Ha csak meghagyom bármilyen típusúnak, ez azt jelenti, hogy a számok átadása helyett táblázatot vagy dátumértéket adhat át.
A következő lépés a let záradék és az in záradék hozzáadása .
A let záradék alatt változónévre van szükségem. Tehát ezt a változót WDStartnak fogom hívni .
Most meg kell tesztelnem, hogy a WDStartNum sikeres-e. Ha átmegy, nem egyenlő nullával . Tehát kijelentem, hogy ha a WDStartNum nem egyenlő nullával, akkor egy értéket akarok visszaadni .
Ami a záradékot illeti, ugyanazt a lépést szeretném átmenni. Tehát csak oda teszem a WDStartot , amit korábban a let záradék alatt neveztünk el a változónknak.
Ha megnyomom a Kész gombot, a funkció létrejön. Tehát megpróbálok egy értéket átadni ezen a függvényen.
Megpróbálom beírni az „a” betűt.
Ne feledje, hogy korábban kijelentettem, hogy az értéknek számnak kell lennie. Mivel felismeri, hogy az általam megadott érték nem felel meg ennek a követelménynek, nem teszi lehetővé a paraméter megadását.
Tehát törlöm, és csak üresen hagyom a helyet.
Miután rákattintottam az Invoke elemre, 0 értéket ad vissza.
Visszatérve az eredeti lekérdezésemre, azt írja ki, hogy ha az érték nem egyenlő nullával, akkor a WDStartNum értéket kell visszaadni. Ha egyenlő nullával, akkor 0-t kell visszaadni.
Tehát a 0 helyes.
Ezúttal megpróbálok egy értéket átadni a TestQuery számának megváltoztatásával. Igaz, az Enter billentyű lenyomása után „1”-et ad vissza.
Most pedig hadd próbáljam meg átadni 2020-at a TestQuery-ben. Ha megnyomom az entert, akkor 2020-at is visszaadja.
Nyilvánvalóan nem akarom, hogy ez megtörténjen. Mivel olyan értéket szeretnék, amely a hét kezdetét jelöli, 0 vagy 1 jelenjen meg. Ez azt jelenti, hogy létre kell hoznom egy másik tesztet, hogy megnézzem, a beírt szám 0 vagy 1. Ehhez használhatom a List.Contains függvényt.
A List.Contains használata
Létrehoztam egy üres lekérdezést, és zárójel használata nélkül beírtam a List.Contains parancsot.
Ha megnyomom az entert, láthatom a funkció dokumentációját.
A List.Contains jelzi, hogy a lista tartalmaz-e értéket.
Tehát első paraméterként listát igényel, majd utána hozzáadódik egy érték. Ha ez az érték megtalálható a listán, akkor igazat ad vissza. Ellenkező esetben hamis értéket ad vissza.
Újra megnyitom a Speciális szerkesztőt , hogy elvégezhessem a szükséges módosításokat a lekérdezésemen.
Ahelyett, hogy megvizsgálnám, hogy egy érték nem egyenlő-e nullával, a List.Contains parancsot fogom használni .
Most megadom az ehhez a függvényhez alkalmazandó értékek listáját.
Listainicializálóként göndör zárójeleket fogok használni. A göndör zárójelekbe 0, 1-et teszek. A zárójel bezárása után vesszőt adok.
A második paraméterhez a WDStartNum értéket fogom használni. Ezután hozzáadom a záró zárójelet.
Ha ez a helyén van, ez azt jelenti, hogy egy 0 vagy 1 adja meg a WDStartNumber-t. Ha 0-n vagy 1-en kívül bármi mást teszünk, akkor 0-t kell kapnom.
Hadd teszteljem ezt úgy, hogy beírom a 2020-at a TestQuery-be. A várakozásoknak megfelelően ez „0”-t (nulla) ad vissza.
Ez azért van, mert a 2020-as érték nem szerepel a listában.
A paraméter hozzáadása az M függvényhez
Most, hogy biztos vagyok benne, hogy a kód működik, végre be tudom helyezni az aktuális dátumtáblázatba és az M függvénybe. Megnyitom a Speciális szerkesztőt , majd átmásolom a logikát .
Aztán belépek a dátumtábla lekérdezésébe.
Megnyitom az eredeti M függvényt a Speciális szerkesztőn keresztül .
Ezután bemásolom a kódomat. Ügyeljünk arra, hogy vessző legyen a sor végén.
Ezután kiemelem és bemásolom a paraméterem nevét .
Akkor hozzáadom ide ezt a paramétert .
Vegye figyelembe, hogy először vesszőt kell írnom a meglévő sor végére, majd ezt a paramétert nem kötelezőnek kell nyilvánítanom . Ezután elhelyezhetem a WDStartNum-ot és hozzáadhatom a típust .
Hozzáadtam a paramétert és beágyaztam a logikát is. De arról is gondoskodnom kell, hogy elérjem a várt eredményeket. Tehát meg fogom keresni azt a kódsort, amely lefedi a hét napját.
Ezután hozzáadom a + WDStart parancsot .
A Kész gombra kattintok a szerkesztő bezárásához. Ezután elindítom a lekérdezést.
A StartDate-nek 2020. január 1-jét adom meg, majd 2020. december 31-ét használom Befejezési dátumként.
A „7”-et használom a pénzügyi év kezdő hónapjaként, majd a „0”-t a WDStartNum-ként.
rákattintok az Invoke-ra. Most megvan a dátumtáblázat.
Átnevezem, hogy könnyen azonosítható legyen.
Most megnézem az eredményeket.
Ez az én DayOfWeek rovatom.
Azt mutatja, hogy a hétfő 0-ként tért vissza.
Visszatérve a Fórum kérdésére, a hét kezdési számot 0 helyett 1-re kell módosítanom. Így csak a mértékben módosítom.
Ha megnyomom az entert, a hétfő most az 1. nap lesz a 0 helyett.
A számtartományt tekintve most 1-től 7-ig fut 0-6 helyett.
Mi történik, ha null értéket adok át?
Ezután a hét napja csak 0-ra változik.
Következtetés
Így adhat hozzá egy további paramétert közvetlenül az M függvényhez a dátumtábla lekérdezésében. A folyamat egyáltalán nem bonyolult, ahogy korábban említettem. Mindaddig, amíg van forrásod az M kódhoz, onnantól elég egyszerű.
Itt is bármikor megtekintheti az Advanced Data Transformations & Modeling tanfolyamotOnline, ha nem ismeri az M kódok működését.
Minden jót,
Méhfű
***** LuckyTemplates tanulása? *****
Tudja meg, miért fontos egy dedikált dátumtáblázat a LuckyTemplatesben, és ismerje meg ennek leggyorsabb és leghatékonyabb módját.
Ez a rövid oktatóanyag kiemeli a LuckyTemplates mobil jelentési funkcióját. Megmutatom, hogyan készíthet hatékony jelentéseket mobileszközökön.
Ebben a LuckyTemplates bemutatóban olyan jelentéseket tekintünk át, amelyek professzionális szolgáltatáselemzést mutatnak be egy olyan cégtől, amely több szerződéssel és ügyfél-elkötelezettséggel rendelkezik.
Tekintse át a Power Apps és a Power Automate legfontosabb frissítéseit, valamint azok előnyeit és következményeit a Microsoft Power Platform számára.
Fedezzen fel néhány gyakori SQL-függvényt, amelyeket használhatunk, például a karakterláncot, a dátumot és néhány speciális függvényt az adatok feldolgozásához vagy manipulálásához.
Ebből az oktatóanyagból megtudhatja, hogyan hozhatja létre a tökéletes LuckyTemplates sablont, amely az Ön igényeinek és preferenciáinak megfelelően van konfigurálva.
Ebben a blogban bemutatjuk, hogyan lehet a mezőparamétereket kis többszörösekkel rétegezni, hogy hihetetlenül hasznos betekintést és látványelemeket hozzon létre.
Ebből a blogból megtudhatja, hogyan használhatja a LuckyTemplates rangsorolási és egyéni csoportosítási funkcióit a mintaadatok szegmentálására és kritériumok szerinti rangsorolására.
Ebben az oktatóanyagban egy konkrét technikát fogok bemutatni, hogyan jelenítheti meg a kumulatív összeget csak egy adott dátumig a LuckyTemplates vizualizációjában.
Ismerje meg, hogyan hozhat létre és testreszabhat Bullet diagramokat a LuckyTemplates alkalmazásban, amelyeket főként a teljesítmény mérésére használnak a célhoz vagy az előző évekhez képest.