Globális/lokális számított mezők (measures) Power BI-ban

A számított mezőket (measure) két kategóriába sorolhatjuk:

  • Globális (elemzési célt szolgáló) számított mezők és
  • Lokális (vizualizációs célt szolgáló) számított mezők

A globális számított mezők minden dimenzió mentén jól számolnak, azaz nem fordulhat elő, hogy ha egy felhasználó egy globális számított mezőt behúz egy vizualizációba, akkor a vizualizáció hülyeséget mutat. Ezzel szemben a lokális számított mezők csak az adott vizualizációban számolnak jól, más vizualizációkban nincsenek értelmezve (vagy hülyeséget adhatnak vissza).

Tegyük fel hogy zárókészletet kell számolnom. Ha arra készülök, hogy csak egy adott vizualizációban kell megjeleníteni a zárókészletet mondjuk havi szinten, akkor úgy írom meg a számított mezőt, hogy havi szinten jól számoljon és nem törődők azzal, hogy hogy számol éves, negyedéves szinten.

Ha viszont elemzési célra készítem, akkor lekezelem azt is, hogy jól számoljon éves, negyedéves szinten, azaz ne aggregálja fel a havi készleteket negyedéves, éves szintre, mert az éves készlet nem azonos a havi készletek összegével.

Az elemzési céllal készült measure-t nevezzük globális számított mezőnek, a vizualizációs céllal készültet lokálisnak.

Ez mind szép és jó, de Power BI Desktopban nincsenek elkülönítve a lokális és globális számított mezők. Azaz fejlesztéskor nem tudom megmondani, hogy az adott számított mezőt csak egy vizualizációban (lokálisan) szeretném létrehozni, vagy globálisan az adatmodellben, minden vizualizáció számára elérhetően. 

Hogyan tudjuk ezt áthidalni?

Power BI Service

Ha felhős Power BI-t használunk, akkor két pbix fájlt csinálunk: Egyet az adatmodellnek és egyet a riportnak.

  • Az adatmodelles fájl csak az adatmodellt (Dataset-et) tartalmazza, a riportot nem, és az adatmodelles fájlban fájlban definiáljuk a globális számított mezőket.
  • A riportos fájl csak vizualizációkat tartalmaz, adatmodellt nem. A Dataset-hez élő kapcsolattal csatlakozik. A riportos fájlban létrehozunk egy üres táblát és itt definiáljuk a lokális számított mezőket. Így el tudjuk különíteni a globális, és a lokális számított mezőket, a BI csapat által fejlesztett számított mezőket és a felhasználók által készített számított mezőket.

Power BI Report Server

Power BI Report Server-ben nem választható szét az adatmodell és a riport, de ugyanúgy létre tutunk hozni egy üres táblát, mondjuk “Viz Measures” néven, és ebbe a táblába tesszük a lokális számított mezőket, majd ezt elrejtjük a felhasználók elől. Ez a módszer csak nekem (fejlesztőnek) segít majd, hogy elkülönítse a lokális számított mezőket a globálisaktól. De óriási segítség lesz ez amikor hozzá kell nyúlnom az évekkel ezelőtt készített modellhez, mert kapásból látni fogom, hogy melyik measure lett elemzési, és melyik lett vizualizációs céllal létrehozva.

Összefoglalva: Érdemes a lokális és globális számított mezőket elkülönítetten tárolni, még akkor is, ha a Power BI Desktop nem ismeri ezeket a fogalmakat.

Kővári Attila - BI projekt

POWER BI WORKSHOP

Tudjon meg többet az itt elhangzottakról! Jöjjön el a 2024. június 13.-i Power BI workshopra vagy rendeljen kihelyezett képzést! Részletek >>

 

Új hozzászólás