Bevezetés

Befejeződött

Írhat olyan DAX-képletet, amely egy számított táblát vesz fel a modellbe. A képlet duplikálhat vagy átalakíthat meglévő modelladatokat, vagy új táblát állíthat elő.

Megjegyzés

A számított táblák nem csatlakozhatnak külső adatokhoz, ennek megvalósításához a Power Query-t kell használnia.

Egy számított tábla képletének táblaobjektumot kell visszaadnia. A legegyszerűbb képlet duplikálhatja a modell egy meglévő tábláját.

A számított táblák költséggel járnak: Növelik a modell tárolási méretét, és hosszabbá tehetik az adatfrissítéshez szükséges időt. Ennek az az oka, hogy a számított táblák újra lesznek számítva, ha a képletük frissített tábláktól függ.

Tábla duplikálása

A következő szakasz egy gyakori tervezési problémát ír le, amely számított tábla létrehozásával oldható meg. Először töltse le és nyissa meg az Adventure Works DW 2020 M03.pbix fájlt, majd váltson a modelldiagramra.

A modelldiagramon figyelje meg, hogy a Sales tábla három kapcsolatban áll a Date táblával .

Egy képen két tábla látható: Sales (Értékesítés) és Date (Dátum). A táblák között három kapcsolat van. Csak egy kapcsolat aktív.

A modelldiagramon azért látható három kapcsolat, mert a Sales tábla a megrendelés dátuma, a szállítás dátuma és az esedékesség dátuma szerint tárolja az értékesítési adatokat. Az OrderDateKey, ShipDateKey és DueDateKey oszlopokat megvizsgálva megfigyelheti, hogy az egyik kapcsolatot folytonos vonal jelöli. Ez az aktív kapcsolat. A többi, szaggatott vonallal jelölt kapcsolat inaktív kapcsolat.

Megjegyzés

Két modelltábla között csak egy aktív kapcsolat állhat fenn.

A kapcsolódó oszlopok kiemeléséhez vigye a kurzort a diagramon az aktív kapcsolatra. Így állapíthatja meg a diagram kezelésekor a kapcsolatban résztvevő oszlopokat. Ebben az esetben az aktív kapcsolat a Sales tábla OrderDateKey oszlopát szűri. Így a Date táblára alkalmazott szűrők a Sales táblába lesznek propagálása a rendelés dátuma szerinti szűréshez; soha nem szűrnek szállítási dátum vagy határidő szerint.

A következő lépés a Date tábla és a Sales tábla közötti két inaktív kapcsolat törlése. Kapcsolat törléséhez kattintson rá a jobb gombbal, és válassza a helyi menü Törlés pontját. Győződjön meg róla, hogy mindkét inaktív kapcsolatot törölte.

Ez után vegyen fel egy új táblát, amellyel a jelentés felhasználói a szállítási dátum szerint szűrhetik az értékesítéseket. Váltson Jelentés nézetre, majd a Modellezés menüszalaglap Számítások csoportjában válassza az Új tábla lehetőséget.

Egy kép a Power BI Desktop Modellezés menüszalagját ábrázolja. A Számítások csoportban ki van emelve az Új tábla parancs.

A szerkesztőlécen (amely a menüszalag alatt található) írja be a következő számítotttábla-definíciót, majd nyomja le az Enter billentyűt.

Ship Date = 'Date'

A számított tábla definíciója duplikálja a Date tábla adatait, hogy létrehoz egy ship date nevű új táblát. A Szállítási dátum tábla pontosan ugyanazokkal az oszlopokkal és sorokkal rendelkezik, mint a Date tábla. A Date tábla adatainak frissítésekor a Ship Date tábla újraszámolódik, így mindig szinkronban lesznek.

Váltson a modelldiagramra, és figyelje meg a Ship Date tábla hozzáadását.

Egy képen a Ship Date tábla látható, amely ugyanazokból az oszlopokból áll, mint a Date tábla.

Ezután hozzon létre egy kapcsolatot a Ship Date tábla DateKey oszlopa és a Sales tábla ShipDateKey oszlopa között. A kapcsolatot úgy hozhatja létre, hogy a Ship Date tábla DateKey oszlopát a Sales tábla ShipDateKey oszlopára húzza.

A számított táblák csak duplikálják az adatokat; nem duplikálja a modelltulajdonságokat vagy objektumokat, például az oszlop láthatóságát vagy hierarchiáit. Szükség esetén be kell állítania őket az új táblához.

Tipp

A számított tábla oszlopai át is nevezhetők. Ebben az esetben ajánlott átnevezni az oszlopokat, hogy a nevük jobban leírja a szerepüket. A Szállítási dátum tábla Pénzügyi év oszlopa például átnevezhető Szállítási pénzügyi év névre. Ennek megfelelően, ha a Ship Date tábla mezőit használják a vizualizációkban, a nevük automatikusan megjelenik a feliratokban, például a vizualizáció címében vagy tengelyfelirataiban.

A Ship Date tábla tervezésének befejezéséhez a következőket teheti:

  • Nevezze át az alábbi oszlopokat:
    • Date helyett Ship Date
    • Fiscal Year helyett Ship Fiscal Year
    • Fiscal Quarter helyett Ship Fiscal Quarter
    • Month helyett Ship Month
    • Full Date helyett Ship Full Date
  • Rendezze a Ship Full Date oszlopot a Ship Date oszlop szerint.
  • Rendezze a Ship Month oszlopot a MonthKey oszlop szerint.
  • Rejtse el a MonthKey oszlopot.
  • Hozzon létre egy Fiscal nevű hierarchiát az alábbi szintekkel:
    • Ship Fiscal Year
    • Ship Fiscal Quarter
    • Ship Month
    • Ship Full Date
  • Jelölje meg dátumtáblaként a Ship Date táblát a Ship Date oszlop használatával.

A számított táblák hasznosak az itt bemutatotthoz hasonló helyzetekben, amikor két tábla között több kapcsolat is létezik. Arra is felhasználhatók, hogy dátumtáblát vegyen fel a modellbe. Dátumtáblákra van szükség az időintelligenciának nevezett speciális időszűrők alkalmazásához.

Dátumtábla létrehozása

A következő példában egy második számított tábla jön létre, ezúttal a CALENDARAUTO DAX függvénnyel.

Létrehozás a Határidő számított táblát az alábbi definíció használatával.

Due Date = CALENDARAUTO(6)

A CALENDARAUTO DAX függvény egyetlen választható argumentumot használ, amely az év utolsó hónapjának száma, és egy egyoszlopos táblát ad vissza. Ha a mondat száma nincs megadva, a feltételezett alapértéke 12 (december). Az Adventure Worksnél például minden évben június 30-án ér véget a pénzügyi év, ezért a 6 érték van átadva.

A függvény megkeresi a modell összes dátum/idő oszlopát, és meghatározza a legkorábbi és legkésőbbi tárolt dátum értékét. Az után előállítja a modellt teljesen lefedő dátumok telje halmazát, így biztosítja, hogy az összes év összes dátuma be legyen töltve. Ha például a modellben tárolt legkorábbi dátum 2021. október 15., akkor a CALENDARAUTO függvény által visszaadott első dátum 2021. július 1. lesz. Ha a modellben tárolt legutóbbi dátum 2022. június 15., akkor a CALENDARAUTO függvény által visszaadott utolsó dátum 2022. június 30. lesz.

A függvény gyakorlatilag garantálja, CALENDARAUTO hogy a dátumtáblázat megjelölésére vonatkozó alábbi követelmények teljesülnek:

  • A táblának tartalmaznia kell egy Dátum adattípusú oszlopot.
  • Az oszlopnak teljes éveket kell tartalmaznia.
  • Az oszlopból egyetlen dátum sem hiányozhat.

Tipp

Dátumtáblát CALENDAR a DAX-függvénnyel is létrehozhat, és két dátumértéket adhat meg, amelyek a dátumtartományt jelölik. A függvény a tartományba eső összes dátumhoz generál egy-egy sort. Az átadott dátumértékek lehetnek statikusak, vagy olyan kifejezések, amelyek a modell meghatározott oszlopaiból kérdezik le a legkorábbi és legkésőbbi dátumot.

Ezután váltson adatnézetre, majd a Mezők panelen válassza ki a Határidő táblát. Vizsgálja meg a dátumok oszlopát. Érdemes lehet ezeket sorba rendezni, hogy az első sorban a legkorábbi dátum látsszon. Ehhez válassza a Date oszlopfejlécben lévő nyilat, és a növekvő sorrendbe rendezés lehetőségét.

Megjegyzés

Az oszlopok rendezése vagy szűrése nem változtatja meg az értékek tárolási módját. Ezek a függvények segítenek az adatok feltárásában és megismerésében.

Egy képen a Due Date tábla látható adatnézetben. Egyetlen, Date nevű oszlopa van, és ha az értékek a legkorábbitól a legkésőbbiig vannak rendezve, akkor az első dátum 2017. július 1.

A Date oszlop kijelölése után olvassa el a bal alsó sarokban található állapotsorban megjelenő üzenetet. Ez leírja, hogy hány sort tárol a tábla, és hogy hány különböző érték található a kijelölt oszlopban.

Egy kép a következő állapotüzenetet ábrázolja: TÁBLA: Due Date (1 461 sor) OSZLOP: Date (1 461 eltérő érték).

Ha a tábla sorainak és különböző értékeinek száma azonos, akkor az oszlop csupa egyedi értékből áll. Ez a jellemző két szempontból is lényeges: Eleget tesz a dátumtáblaként megjelölés követelményeinek, így ez az oszlop felhasználható egy modellbeli kapcsolat egy-oldalaként.

A Határidő számított tábla minden alkalommal újraszámol, amikor egy dátumoszlopot tartalmazó tábla frissül. Más szóval, amikor egy sort 2022. július 1-jével tölt be a Sales táblába, a Határidő tábla automatikusan kiterjeszti a dátumokat a következő év végéig: 2023. június 30-ig.

A Határidő tábla további oszlopokat igényel az ismert szűrési és csoportosítási követelmények támogatásához, különösen év, negyedév és hónap szerint.