Bevezetés

Befejeződött

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 képen két tábla látható: Sales (Értékesítés) és Date (Dátum). A táblák között két kapcsolat van. Csak egy kapcsolat aktív.

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.

A képen két tábla látható: Sales (Értékesítés) és Date (Dátum). Egy kapcsolat van a Sales és a Date tábla között, egy másik pedig a Sales és a Ship Date tábla között. Mindkét kapcsolat aktív.

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.

A képen a Mezők panel egy szakasza látható. A Customer táblán belül több mező is látható. Az egyiket különleges ikon jelöli, amely ezt jelzi, hogy ez egy számított oszlop.

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.

A képen a Mezők panel egy szakasza látható. A Sales táblán belül több mező is látható. Ezek közül hármat számológép ikon jelöl, amely azt jelzi, hogy ezek mértékek.

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.