M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

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.

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

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ó.

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

Ha megnyitom a Speciális szerkesztőt , ez a kód.

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

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 .

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

Ezt a tesztlekérdezést fogom elnevezni .

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

Ezután megnyitom a Speciális szerkesztőt .

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

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.

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

A függvény elindításához deklarálok egy opcionális paramétert .

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

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 .

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

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 .

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

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 .

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

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 .

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

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.

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

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.

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

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.

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

Tehát törlöm, és csak üresen hagyom a helyet.

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

Miután rákattintottam az Invoke elemre, 0 értéket ad vissza.

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

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.

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

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.

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

Most pedig hadd próbáljam meg átadni 2020-at a TestQuery-ben. Ha megnyomom az entert, akkor 2020-at is visszaadja.

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

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.

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

Ha megnyomom az entert, láthatom a funkció dokumentációját.

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

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.

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

Ahelyett, hogy megvizsgálnám, hogy egy érték nem egyenlő-e nullával, a List.Contains parancsot fogom használni .

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

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.

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

A második paraméterhez a WDStartNum értéket fogom használni. Ezután hozzáadom a záró zárójelet.

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

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.

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

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 .

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

Aztán belépek a dátumtábla lekérdezésébe.

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

Megnyitom az eredeti M függvényt a Speciális szerkesztőn keresztül .

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

Ezután bemásolom a kódomat. Ügyeljünk arra, hogy vessző legyen a sor végén.

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

Ezután kiemelem és bemásolom a paraméterem nevét .

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

Akkor hozzáadom ide ezt a paramétert .

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

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.

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

Ezután hozzáadom a + WDStart parancsot .

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

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.

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

A „7”-et használom a pénzügyi év kezdő hónapjaként, majd a „0”-t a WDStartNum-ként.

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

rákattintok az Invoke-ra. Most megvan a dátumtáblázat.

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

Átnevezem, hogy könnyen azonosítható legyen.

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

Most megnézem az eredményeket.

Ez az én DayOfWeek rovatom.

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

Azt mutatja, hogy a hétfő 0-ként tért vissza.

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

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.

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

Ha megnyomom az entert, a hétfő most az 1. nap lesz a 0 helyett.

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

A számtartományt tekintve most 1-től 7-ig fut 0-6 helyett.

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

Mi történik, ha null értéket adok át?

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben

Ezután a hét napja csak 0-ra változik.

M függvény a dátumtáblázathoz – Paraméter hozzáadása a Lekérdezésszerkesztőben




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? *****







A DAX Studio és a Tabular Editor telepítése a LuckyTemplates alkalmazásban

A DAX Studio és a Tabular Editor telepítése a LuckyTemplates alkalmazásban

Ismerje meg, hogyan töltheti le és telepítheti a DAX Studio és a Tabular Editor 3 alkalmazást, és hogyan konfigurálhatja őket a LuckyTemplates és az Excel programban való használatra.

LuckyTemplates alakzattérkép-vizualizáció a térbeli elemzéshez

LuckyTemplates alakzattérkép-vizualizáció a térbeli elemzéshez

Ez a blog tartalmazza a Shape Map vizualizációt a LuckyTemplates térbeli elemzéséhez. Megmutatom, hogyan használhatja hatékonyan ezt a vizualizációt annak funkcióival és elemeivel.

LuckyTemplates pénzügyi jelentések: az eredmények hozzárendelése a sablonokhoz minden egyes sorban

LuckyTemplates pénzügyi jelentések: az eredmények hozzárendelése a sablonokhoz minden egyes sorban

Ebben az oktatóanyagban egy egyedülálló ötletet mutatok be a pénzügyi jelentésekkel kapcsolatban, amely az eredmények hozzárendelését jelenti a LuckyTemplates-en belüli táblázatsablonok előre meghatározásához.

DAX-mértékek a LuckyTemplates-ben mértékelágazás használatával

DAX-mértékek a LuckyTemplates-ben mértékelágazás használatával

Hozzon létre DAX-mértékeket a LuckyTemplates alkalmazásban meglévő mértékek vagy képletek használatával. Ezt nevezem mértékelágazási technikának.

A legerősebb funkcióhívás a LuckyTemplatesben

A legerősebb funkcióhívás a LuckyTemplatesben

Ebben a blogban fedezze fel a LuckyTemplates adatkészletet, a leghatékonyabb függvényhívást, amely M- és DAX-függvények ezreit juttatja a keze ügyébe.

Adatmodellezési technikák a DAX-mérések megszervezéséhez

Adatmodellezési technikák a DAX-mérések megszervezéséhez

A mai oktatóanyagban megosztok néhány adatmodellezési technikát a DAX-mérések jobb rendszerezéséhez a hatékonyabb munkafolyamat érdekében.

LuckyTemplates pénzügyi irányítópult: Teljes táblázat testreszabási tippek

LuckyTemplates pénzügyi irányítópult: Teljes táblázat testreszabási tippek

A LuckyTemplates egy nagyszerű eszköz a pénzügyi jelentésekhez. Itt található egy oktatóanyag, amely bemutatja, hogyan hozhat létre személyre szabott táblázatokat a LuckyTemplates pénzügyi irányítópultjához.

A Power Query nyelvi folyamatának bevált gyakorlatai

A Power Query nyelvi folyamatának bevált gyakorlatai

Ez az oktatóanyag megvitatja a Power Query nyelvi folyamatot, és azt, hogyan segíthet zökkenőmentes és hatékony adatjelentések létrehozásában.

LuckyTemplates egyéni ikonok | PBI vizualizációs technika

LuckyTemplates egyéni ikonok | PBI vizualizációs technika

Az egyik kedvenc technikámról fogok beszélni a LuckyTemplates egyéni ikonok körül, amely dinamikusan használja az egyéni ikonokat a LuckyTemplates vizualizációkban.

LuckyTemplates táblázatok létrehozása UNION & ROW függvény használatával

LuckyTemplates táblázatok létrehozása UNION & ROW függvény használatával

Ebben a blogban megmutatom, hogyan hozhat létre LuckyTemplates táblázatokat olyan képlet segítségével, amely egyesíti az UNION és a ROW függvényt.