Bevezetés
Az Adatelemzési kifejezések (DAX) használatával háromféle számítást adhat hozzá a szemantikai modellhez:
- Számított táblák
- Számított oszlopok
- Mértékek
Megjegyzés
A DAX használatával sorszintű biztonsági (RLS) szabályok is definiálhatók, amelyek a modelltáblákon szűrőket érvényesítő kifejezések. A szabályok azonban nem minősülnek modellszámításoknak, ezért nem tartoznak ennek a modulnak a témaköréhez. További információ: Sorszintű biztonság (RLS) a Power BI-jal.
Számított táblák
Í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ő egy adatsorozat létrehozásával. A számított táblaadatokat a rendszer mindig importálja a modellbe, így növeli a modell tárolási méretét, és meghosszabbíthatja az adatfrissítési időt.
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.
A számított táblák sok helyzetben hasznosak lehetnek:
- Dátumtáblák
- Többszerepű dimenziók
- Lehetőségelemzés
Dátumtáblák
Dátumtáblákra van szükség az időintelligenciának nevezett speciális időszűrők alkalmazásához. A DAX időintelligencia-függvényei csak dátumtábla beállításakor működnek megfelelően. Ha a forrásadatok nem tartalmaznak dátumtáblát, a vagy CALENDARAUTO
a CALENDAR
DAX-függvények használatával létrehozhat egy számított táblát.
Többszerepű dimenziók
Ha két modelltábla között több kapcsolat is van, ennek az lehet a magyarázata, hogy a modell többszerepű dimenziókat tartalmaz. Ha például van egy Sales nevű táblája, amely két dátumoszlopot (OrderDateKey és ShipDateKey) tartalmaz, mindkét oszlop a Date tábla Dátum oszlopához kapcsolódik. Ebben az esetben a Date tábla szerepkör-lejátszási dimenzióként van leírva, mert a rendelés dátuma vagy a szállítási dátum szerepét játszhatja.
A Microsoft Power BI-modellek csak egy aktív kapcsolatot engedélyeznek két tábla között, amelyet a modell diagramján folytonos vonal ábrázol. Az aktív kapcsolat alapértelmezés szerint a szűrők propagálására szolgál, amely ebben az esetben a Date táblából a Sales tábla OrderDateKey oszlopára terjedne ki. A két tábla közötti többi kapcsolat inaktív. A modelldiagramon a kapcsolatokat szaggatott vonalak ábrázolják. Az inaktív kapcsolatokat csak akkor használja a rendszer, ha egy számított képletben kifejezetten kéri őket a USERELATIONSHIP
DAX függvény használatával.
Lehet, hogy egy jobb modelltervnek két dátumtáblája lehet, amelyek mindegyike aktív kapcsolatban áll a Sales táblával. A jelentések felhasználói így a megrendelés dátuma, a szállítás dátuma, vagy egyszerre mindkettő alapján is szűrhetnének. Egy számított tábla duplikálhatja a Date tábla adatait a Szállítási dátum tábla létrehozásához.
Lehetőségelemzés
A Power BI Desktop támogatja az úgynevezett lehetőségelemzési paramétereket. Lehetőségelemzési paraméter létrehozásakor automatikusan egy számított tábla lesz hozzáadva a modellhez.
A lehetőségelemzési paraméterekkel a jelentések felhasználói a számított táblában tárolt értékek szerint válogathatnak vagy szűrhetnek. A mértékképletek érthető ésszerű módon használhatják a kiválogatott érték(ek)et. Egy lehetőségelemzési paraméter például lehetővé teheti a jelentés felhasználója számára, hogy kiválasszon egy feltételezett valutaárfolyamot, egy mérték pedig eloszthatja a (helyi pénznemben kifejezett) bevételi értékeket a kiválasztott árfolyammal.
A lehetőségelemzési számított táblák fontos tulajdonsága, hogy nem kapcsolódnak a modell más tábláihoz, mert nem használhatók szűrők propagálására. Emiatt ezeket leválasztott tábláknak is nevezik.
Számított oszlopok
Írhat olyan DAX-képletet, amely egy számított oszlopot vesz fel a modell bármelyik táblájába. A képlet a tábla minden sorára ki van értékelve, és egyetlen értéket ad vissza. Amikor hozzáadja egy Importálási tárolási mód táblához, a rendszer kiértékeli a képletet a szemantikai modell frissítésekor, és növeli a modell tárolási méretét. A DirectQuery tárolási módú táblákhoz adott képleteket a mögöttes forrásadatbázis értékeli ki a tábla lekérdezésekor.
A Mezők panelen a számított oszlopokat külön ikon emeli ki. Az alábbi példa egy számított oszlopot mutat be az Ügyfél tábla Életkor nevű táblájában.
Mértékek
Írhat olyan DAX-képletet, amely egy mértéket vesz fel a modell bármelyik táblájába. A képlet célja a modell adatainak összesítése. A képletnek a számított oszlopokéhoz hasonlóan egyetlen értéket kell visszaadnia. Az adatfrissítéskor kiértékelt számított oszlopoktól eltérően a mértékek a lekérdezés időpontjában lesznek kiértékelve. Az eredmények soha nem tárolódnak a modellben.
A Mezők panelen a mértékeket számológép ikon jelöli. Az alábbi példa három mértéket mutat be a Sales táblában: Költség, Nyereség és Bevétel.
Előfordul, hogy a mértékeket explicit mértékeknek nevezik. Az egyértelműség kedvéért, az explicit mértékek DAX-ban megírt modellszámítások, amelyeket gyakran neveznek röviden mértékeknek. Létezik azonban az implicit mérték fogalma is. Az implicit mértékek olyan oszlopok, amelyeket vizualizációk összesíthetnek olyan egyszerű módokon, mint például a darabszám, az összeg, a minimum vagy a maximum megállapítása. Az implicit mértékeket a Mezők panelen azonosíthatja, mert a szigma szimbólummal (∑) jelennek meg.
Megjegyzés
Bármely oszlop összesíthető, ha fel van véve egy vizualizációhoz. Ezért akár a szigma szimbólummal jelennek meg, akár nem, amikor hozzáadják őket egy vizualizációhoz, implicit mértékként is beállíthatók.
A számított mérték fogalma viszont nem létezik a táblázatos modellezésben. A számított szó a számított táblák és számított oszlopok leírására szolgál, megkülönböztetendő azokat a Power Queryből származó tábláktól és oszlopoktól. A Power Queryben nem létezik az explicit mérték fogalma.