Dátumtábla létrehozása

Befejeződött

Power BI-jelentések készítésekor gyakori üzleti követelmény a dátumon és időn alapuló számítások elvégzése. A szervezetek szeretnék tudni, hogyan teljesít a vállalkozás hónapok, negyedévek, pénzügyi évek elteltével. Emiatt kritikus fontosságú, hogy ezek az időalapú értékek megfelelően legyenek formázva. A Power BI automatikusan észleli a dátumoszlopokat és -táblákat, azonban előfordulhat, hogy további lépésekre van szükség a dátumok a szervezet által megkövetelt formátumba való konvertálásához.

Tegyük fel például, hogy a szervezet értékesítési csapata számára fejleszt jelentéseket. Az adatbázis értékesítésekhez, megrendelésekhez, termékekhez és egyebekhez tartalmaz táblázatokat. Láthatja, hogy számos tábla, így a Sales és az Orders is, saját dátumoszlopokkal rendelkezik, ahogy az a Sales és Orders tábla ShipDate és OrderDate oszlopain is látszik. Az Ön feladata, hogy az összes értékesítésről és megrendelésről készítsen táblázatot évek és hónapok szerint. Hogyan készíthet vizualizációt több olyan táblával, amelyek mindegyike saját dátumoszlopra hivatkozik?

Képernyőkép a szemantikai modell kivonatáról a Sales.ShipDate és az Order.OrderDate kiemelésével.

A probléma megoldásához létrehozhat egy közös dátumtáblát, amelyet több táblázat használhat. Az alábbi szakasz bemutatja, hogyan teheti ezt meg a Power BI-ban.

Közös dátumtábla létrehozása

Az alábbi módokon hozhat létre közös dátumtáblát:

  • Forrásadatok

  • DAX

  • Power Query

Forrásadatok

A forrásadatbázisok és az adattárházak néha saját dátumtáblákkal rendelkeznek. Ha az adatbázist tervező rendszergazda alapos munkát végzett, ezekkel a táblákkal az alábbi feladatok végezhetők el:

  • Vállalati szabadságok azonosítása

  • A naptári és a pénzügyi év szétválasztása

  • A hétvégék és a hétköznapok megkülönböztetése

A forrásadatok táblái fejlettek, és azonnal használatba vehetők. Ha ilyen táblával rendelkezik, hozza be a szemantikai modellbe, és ne használjon az ebben a szakaszban ismertetett egyéb metódusokat. Azért javasoljuk egy forrásadattábla használatát, mert ezek valószínűleg más eszközökkel vannak megosztva, amelyeket a Power BI-on kívül használ.

Ha nem rendelkezik forrásadattáblával, máshogy is létrehozhat egy közös dátumtáblát.

DAX

A CALENDARAUTO() vagy a CALENDAR() Data Analysis Expression- (DAX-) függvénnyel is készíthet közös dátumtáblát. A CALENDAR() függvény dátumok folytonos tartományát eredményezi egy kezdő és egy befejező dátum alapján, amelyek a függvény argumentumaiként vannak megadva. A CALENDARAUTO() függvény egy folytonos, teljes dátumtartományt ad vissza, amelyet a szemantikai modell automatikusan meghatároz. A rendszer a kezdő dátumot választja a szemantikai modellben létező legkorábbi dátumként, a záró dátum pedig a szemantikai modellben található legutóbbi dátum, valamint a pénzügyi hónapra feltöltött adatok, amelyeket argumentumként megadhat a CALENDARAUTO() függvényben. Ebben a példában a CALENDAR() függvényt használjuk, mert csak a 2011. május 31-től kezdődő (ekkor kezdték meg az adatok rögzítését), és az ezt követő 10 év adatait szeretné látni.

Az Power BI Desktop válassza az Új tábla lehetőséget, majd írja be a következő DAX-képletet:

Dates  = CALENDAR(DATE(2011, 5, 31), DATE(2022, 12, 31))

Képernyőkép a NAPTÁR képletről a Power BI-ban.

Most már használhatja ezt a dátumoszlopot. Az oszlop azonban egy kissé ritkás. Emellett szeretné csak az évre, a hónap számára, az év hetére és a hét napjára vonatkozó oszlopokat is látni. Ehhez válassza a menüszalag Új oszlop lehetőségét, majd adja meg a következő DAX-képletet, amellyel lekérheti az évet a Date táblából.

Year = YEAR(Dates[Date])

Képernyőkép az oszlopok DAX-egyenlet használatával történő hozzáadásáról.

Ezzel a folyamattal lekérheti a hónapszámot, a hétszámot és a hét napját is:

MonthNum = MONTH(Dates[Date])
WeekNum = WEEKNUM(Dates[Date])
DayoftheWeek = FORMAT(Dates[Date], "DDDD")

Ha elkészült, a táblázat az alábbi ábrán látható oszlopokat fogja tartalmazni.

Képernyőkép a DAX-tábla utolsó oszlopairól.

Ezzel létrehozott egy közös dátumtáblát DAX-képlettel. Ez a folyamat csak az új táblát adja hozzá a szemantikai modellhez; továbbra is kapcsolatokat kell létrehoznia a dátumtábla és a Sales és a Order tábla között, majd meg kell jelölnie a táblát a szemantikai modell hivatalos dátumtáblájaként. Azonban mielőtt elvégezné ezeket a feladatokat, fontoljon meg egy másik módszert a közös dátumtábla elkészítésére, a Power Queryt.

Power Query

A közös dátumtábla definiálásához a Power Query-lekérdezések fejlesztési nyelvét, az M nyelvet is használhatja.

Válassza az Adatok átalakítása lehetőséget a Power BI Desktopban, amely megnyitja a Power Queryt. A bal oldali Lekérdezések panel üres területén kattintson a jobb gombbal a következő legördülő menü megnyitásához, ahol az Új lekérdezés > üres lekérdezése lehetőséget választja.

Képernyőkép egy új lekérdezés power BI-beli felépítéséről.

Az eredményül kapott Új lekérdezés nézetben adja meg a következő M-képletet egy naptári tábla létrehozásához:

= List.Dates(#date(2011,05,31), 365*10, #duration(1,0,0,0))

Képernyőkép egy naptártábla M-képlet használatával történő fejlesztéséről.

Az értékesítési adatoknál célszerű az adatokban található legkorábbi dátumnak megfeleltetni a kezdő dátumot: ez 2011. május 31. Emellett látni szeretné az elkövetkező 10 év dátumait is, beleértve a jövőbeli dátumokat. Így meggyőződhet arról, hogy az új értékesítési adatok beérkezésével nem kell újra létrehoznia ezt a táblát. Az időtartamot is megváltoztathatja. Ebben az esetben minden naphoz célszerű megadni egy adatpontot, de órák, percek és másodpercek szerinti növekményt is megadhat. A következő ábrán látható az eredmény.

Képernyőkép az értékesítési naptárról listaként.

Miután sikeresen elvégezte a folyamatot, láthatja, hogy egy dátumtábla helyett egy dátumlistával rendelkezik. A hiba kijavításához lépjen a menüszalag Átalakítás lapjára, és válassza a Konvertálás > táblázattá lehetőséget. Ahogy a neve is sugallja, ez a funkció táblává alakítja a listát. Az oszlopot átnevezheti DateCol névre.

Képernyőkép egy lista táblázattá alakításáról Power Query-szerkesztő.

Következőként oszlopokat kell hozzáadnia az új táblához, hogy megtekinthesse a dátumokat év, hónap, hét és nap szerint, hogy elkészíthesse a hierarchiát a vizualizációban. Ehhez először módosítania kell az oszloptípust. Ehhez válassza ki az oszlop neve melletti ikont, majd a megjelenő legördülő menüben válassza a Dátum típust.

Képernyőkép a típus dátumra való módosításáról.

Miután kiválasztotta a Dátum típust, megadhat oszlopokat az évnek, hónapoknak, heteknek és napoknak. Nyissa meg az Oszlop hozzáadása menüpontot, válassza ki a Dátum alatti legördülő menüt, majd válassza az Év lehetőséget az alábbi ábrán látható módon.

Képernyőkép az oszlopok Power Query keresztüli hozzáadásáról.

Láthatja, hogy a Power BI a DateCol összes évéből készített egy oszlopot.

Képernyőkép az oszlopok hozzáadásáról, Power Query egy táblán.

Hajtsa végre ugyanezt a folyamatot hónapok, hetek és napok esetében. Ha elkészült, a táblázat az alábbi ábrán látható oszlopokat fogja tartalmazni.

Képernyőkép a DateCol, Year, Month, Week of Year és Day Name oszlopról.

Sikeresen létrehozott egy közös dátumtáblát a Power Queryvel.

Az előző lépések bemutatják, hogyan lehet a táblát a szemantikai modellbe beszedni. Most meg kell jelölnie a táblát hivatalos dátumtáblaként, hogy a Power BI felismerje minden jövőbeli értékhez, valamint meg kell győződnie a megfelelő formázásról.

Megjelölés hivatalos dátumtáblaként

Ezen folyamat első lépéseként meg kell keresnie az új táblát a Mezők panelen. Kattintson a jobb gombbal a tábla nevére, majd válassza a Megjelölés dátumtáblaként lehetőséget, ahogy az alábbi ábrán látható.

Képernyőkép a

Amikor dátumtáblaként jelöl meg egy táblázatot, a Power BI ellenőrzéssel győződik meg arról, hogy az adatok nem tartalmaznak nullértékeket, egyediek, és egy adott időszakban folyamatos dátumértékekkel rendelkeznek. Dátumként a tábla adott oszlopait is megjelölheti, ami akkor lehet hasznos, ha a tábla túl sok oszlopból áll. Kattintson a jobb gombbal a táblára, válassza a Megjelölés dátumtáblázatként parancsot, majd válassza a Dátumtábla beállításai parancsot. Ekkor megjelenik a következő ablak, amelyben kiválaszthatja, hogy melyik oszlopot kell Dátumként megjelölni.

Képernyőkép a megjelölés dátumtáblázatként párbeszédpanelről.

A Megjelölés dátumtáblaként lehetőség eltávolítja az automatikusan létrehozott hierarchiákat a dátumtábla Dátum mezőjéből. Más dátummezők esetén az automatikus hierarchia jelen lesz mindaddig, amíg Ön kapcsolatot nem alakít ki a mező és a dátumtábla között, vagy amíg ki nem kapcsolja az Automatikus dátum/idő funkciót. Ha manuálisan szeretne hierarchiát hozzáadni a közös dátumtáblához, kattintson a jobb gombbal az év, hónap, hét vagy nap oszlopra a Mezők panelen, majd válassza az Új hierarchia lehetőséget. Ezt a folyamatot a modul későbbi részében tárgyaljuk.

A vizualizáció elkészítése

Ha a Sales és az Orders tábla között szeretné létrehozni a vizualizációt, kapcsolatot kell létrehoznia az új közös dátumtábla és a Sales és Orders táblák között. Ennek eredményeképpen vizualizációkat hozhat létre az új dátumtáblával. A feladat elvégzéséhez nyissa meg a Modell lap >Kapcsolatok kezelése területét, ahol kapcsolatot hozhat létre a közös dátumtábla és az Orders és Sales táblák között az OrderDate oszlop segítségével. Az alábbi képernyőkép egy példát mutat be egy ilyen kapcsolatra.

Képernyőkép a Kapcsolat létrehozása párbeszédpanelről.

A kapcsolatok létrehozása után az Értékesítési és megrendelési mennyiségek idő szerint vizualizációt a DAX- vagy Power Query-módszerrel létrehozott közös dátumtáblával készítheti el.

Az összes értékesítés megállapításához minden értékesítést hozzá kell adnia, mert a Sales tábla Amount (Összeg) oszlopa csak az egyes értékesítések bevételeit vizsgálja, nem pedig a teljes értékesítési bevételt. Ehhez a feladathoz az alábbi mértékszámítást használhatja, amelyet későbbi cikkekben ismertetünk. Az alábbi számítást használja a mérték elkészítéséhez:

#Total Sales = SUM(Sales[‘Amount’])

Miután végzett, létrehozhat egy táblát a Vizualizációk lapra visszatérve, ha kiválasztja a Tábla vizualizációt. Év és hónap szerint szeretné megtekinteni a megrendelések és értékesítések összegét, így csak a dátumtábla Year és Month oszlopait, az OrderQty oszlopot és a #TotalSales mértéket használja. A hierarchiák megismerésekor az évek szintjétől a hónapok szintjére részletező hierarchiát is létrehozhat. Ebben a példában ezeket megtekintheti egymás mellett. Sikeresen létrehozott egy vizualizációt egy közös dátumtáblával.

Képernyőkép a common date oszlopról a DAX használatával.