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







Dátumtáblázat létrehozása a LuckyTemplates alkalmazásban

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.

LuckyTemplates mobil jelentéskészítési tippek és technikák

LuckyTemplates mobil jelentéskészítési tippek és technikák

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.

Professzionális szolgáltatáselemzési jelentések LuckyTemplatesben

Professzionális szolgáltatáselemzési jelentések LuckyTemplatesben

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.

Microsoft Power Platform frissítések | Microsoft Ignite 2021

Microsoft Power Platform frissítések | Microsoft Ignite 2021

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.

Gyakori SQL-függvények: Áttekintés

Gyakori SQL-függvények: Áttekintés

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.

LuckyTemplates sablonok létrehozása: útmutató és tippek

LuckyTemplates sablonok létrehozása: útmutató és tippek

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.

Mezőparaméterek és kis többszörösek a LuckyTemplatesben

Mezőparaméterek és kis többszörösek a LuckyTemplatesben

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.

LuckyTemplates rangsor és egyéni csoportosítás

LuckyTemplates rangsor és egyéni csoportosítás

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.

A LuckyTemplatesben csak egy meghatározott dátumig összesített összeg látható

A LuckyTemplatesben csak egy meghatározott dátumig összesített összeg látható

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.

Bullet Charts: speciális egyéni látványelemek a LuckyTemplates számára

Bullet Charts: speciális egyéni látványelemek a LuckyTemplates számára

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.