Power BI alapok : PBIX fájl szerkezete
A PBIX fájl a Power BI Desktop fájlformátuma, amely tartalmazza az adatokat, lekérdezéseket, modellezést és vizualizációkat. Lényegében ez a Power BI jelentések forrásfájlja.
🔹 PBIX fájl szerkezete
A PBIX fájl tömörített ZIP archívum, amely több különböző struktúrájú fájlt és mappát tartalmaz. Ha átnevezed a .pbix
kiterjesztést .zip
-re, kibonthatod a tartalmát és elemezheted.
🔹 Főbb komponensek a PBIX fájlban
Elem | Típus | Jelentés |
---|---|---|
Report/Layout | JSON | A jelentés vizuális elrendezése, diagramok, színek |
DataModel | Adatbázis (VertiPaq) | Az adatok tömörített, oszlopalapú tárolása |
Queries | M kód (Power Query) | Az adatok lekérdezése, transzformációi |
Metadata | JSON | A modell metaadatai (pl. kapcsolatokat, oszlopok típusait tárolja) |
DiagramState | JSON | A jelentésben lévő diagramok állapota |
SecurityBindings | JSON | Biztonsági beállítások (RLS, DAX filterek) |
🔹 PBIX fájl szerkezeti elemeinek részletes elemzése
1️⃣ Report/Layout – A vizuális elrendezés
Ez a JSON fájl tartalmazza a jelentésoldalak struktúráját, vizualizációkat és beállításokat.
📌 Példa egy egyszerű vizuális JSON kódrészletre:
🔹 Mit jelent?
-
Van egy oszlopdiagramunk ("barChart").
-
Pozíciója: (10,10) koordinátán kezdődik.
-
Méret: 400x300 pixel.
2️⃣ DataModel – Az adatok tárolása
A PBIX fájl tartalmaz egy oszlopalapú (VertiPaq) tömörített adatbázist, amelyet Power BI használ a gyors lekérdezésekhez.
🔹 Mit érdemes tudni a DataModel-ről?
-
Memóriában történő számítás: Oszlop-alapú tárolás, amely optimalizálja az adatok betöltését és lekérdezését.
-
Tábla- és relációkezelés: Tartalmazza a kapcsolatokat és indexeket.
-
DAX számítások: Az előre definiált metrikák és mértékek itt tárolódnak.
📌 Hogyan lehet ezt elemezni?
-
Ha kinyitod egy PBIX fájlt, a DataModel tömörített
.dat
formátumban van. -
DAX Studio vagy VertiPaq Analyzer segítségével vizsgálhatod az adatmodellt.
3️⃣ Queries – Power Query lekérdezések
Ez a rész tartalmazza a Power Query M nyelvű kódjait, amelyek adatforrásokat csatlakoztatnak és transzformálnak.
📌 Példa egy egyszerű lekérdezésre:
🔹 Mit csinál ez a kód?
-
Excel fájl beolvasása
-
Kikeresi a "SalesData" táblát
-
Eredményként visszaadja az adatokat
4️⃣ Metadata – Metaadatok és modell információk
Ez a JSON tartalmazza a következőket:
-
Táblák és oszlopok nevei, típusai
-
DAX mértékek és számított oszlopok
-
Relációk és kulcsok
📌 Példa egy metaadat bejegyzésre:
🔹 Mit jelent?
-
Van egy "Sales" nevű tábla.
-
Két oszlopa van: "ProductID" (egész szám) és "SalesAmount" (lebegőpontos szám).
5️⃣ SecurityBindings – Biztonsági beállítások
Ez a JSON tárolja a Row-Level Security (RLS) szabályokat és felhasználói jogosultságokat.
📌 Példa egy egyszerű RLS beállításra:
🔹 Mit jelent?
-
Van egy RegionManager szerepkör.
-
A "Sales" tábla Region oszlopában csak azokat az adatokat látja a felhasználó, amely a saját e-mail címével egyezik.
🔹 PBIX fájl kibontása és elemzése
Ha meg akarod nézni a PBIX fájl belsejét, kövesd az alábbi lépéseket:
1️⃣ Nevezd át a .pbix
fájlt .zip
-re
📌 Példa:
2️⃣ Csomagold ki a fájlt
Használhatsz WinRAR-t, 7-Zip-et vagy a Windows beépített kibontó eszközét.
3️⃣ Vizsgáld meg az egyes fájlokat
-
Report/Layout.json – Vizuális elrendezés
-
Metadata.json – Modell metaadatai
-
DataModel.dat – Az adatok és számítások
Ha mélyebben szeretnéd elemezni az adatmodellt, használd a DAX Studio eszközt.
🔹 Összegzés
PBIX komponens | Mit tartalmaz? |
---|---|
Report/Layout | A jelentés vizuális elrendezése |
DataModel | Az adatok oszlop-alapú tárolása (VertiPaq) |
Queries | Power Query lekérdezések és transzformációk |
Metadata | Tábla- és oszlopdefiníciók, DAX mértékek |
DiagramState | A vizuális diagramok állapota |
SecurityBindings | RLS és felhasználói jogosultságok |
A PBIX fájl felépítésének megértése lehetővé teszi jelentések finomhangolását, adatok optimalizálását és egyéni fejlesztések elvégzését.
PBIX fájl optimalizálása
Az optimalizáció fő célja az adatok, a lekérdezések és a jelentések gyorsítása, valamint a fájlméret csökkentése.
1️⃣ DataModel méretének csökkentése (VertiPaq optimalizálás)
A DataModel.dat fájl tartalmazza az összes adatot oszlop-alapú tömörítéssel (VertiPaq engine). Ha a PBIX fájl túl nagy, az alábbi módszerekkel optimalizálhatod:
📌 a) Nem használt oszlopok eltávolítása
Sok esetben az adatforrásból felesleges oszlopokat importálunk. Ha nincs rájuk szükség, távolítsd el őket Power Query-ben:
🔹 Hatás: Csökken az adatmodell mérete és gyorsabb lesz a feldolgozás.
📌 b) Adatok aggregálása (csökkentett részletesség)
Ha nem kell minden egyes tranzakció, csak összesített adatokra van szükség, akkor használd az aggregációt:
🔹 Hatás: Kevesebb sor tárolódik, csökken az adatmennyiség.
📌 c) Oszloptípusok optimalizálása
A szöveges (String) oszlopok nagy helyet foglalnak, ezért érdemes őket kategorizált számokká alakítani.
📌 Jó példa:
-
Ha van egy "ProductName" oszlopod (szöveg), hozz létre egy külön DimProduct táblát és használj ProductID-t kulcsként.
🔹 Hatás: Jobb tömörítés és gyorsabb lekérdezések.
2️⃣ DAX és számított oszlopok optimalizálása
A DAX számított oszlopok (Calculated Columns) sok memóriát használhatnak, ezért ha lehet, váltsunk át mértékekre (Measures).
📌 Példa: Számított oszlop helyett mérték (Measure)
❌ Rossz (Calculated Column)
🔹 Miért rossz?
-
Minden sorhoz létrehoz egy új oszlopot az adatmodellben → nagyobb memóriahasználat.
✅ Jó (Measure)
🔹 Miért jobb?
-
Csak a lekérdezés végrehajtásakor számítódik ki → nincs felesleges memóriahasználat.
3️⃣ Query optimalizálás – M kód teljesítmény javítása
Ha Power Query-ben lassú a feldolgozás, a következő technikákat érdemes alkalmazni:
📌 a) Lépcsők minimalizálása
Kerüld a felesleges lépéseket, például ne alakítsd át az adatokat többször.
📌 Példa:
🔹 Hatás: Kevesebb lépés → gyorsabb végrehajtás.
📌 b) Bufferezés használata (Table.Buffer)
Ha egy táblát többször használunk, akkor Table.Buffer segíthet.
📌 Példa:
🔹 Hatás: Gyorsabb szűrés, mert az adatokat memóriában tárolja.
4️⃣ PBIX fájl szerkesztése manuálisan
Ha átnevezed a PBIX fájlt ZIP-re, akkor manuálisan is módosíthatod a jelentést.
📌 Lépések:
-
Nevezd át a
.pbix
fájlt.zip
-re. -
Bontsd ki a fájlt (WinRAR vagy 7-Zip segítségével).
-
Módosítsd a JSON fájlokat (például Report/Layout.json-t).
-
Tömörítsd vissza ZIP formátumba.
-
Nevezd vissza
.pbix
-re.
🔹 PBIX optimalizálás összefoglalása
Optimalizálási terület | Megoldás |
---|---|
DataModel csökkentése | Felesleges oszlopok törlése, aggregálás |
Számított oszlopok optimalizálása | DAX oszlopok helyett mértékek |
Power Query gyorsítása | Lépcsők csökkentése, Table.Buffer használata |
Manuális szerkesztés | PBIX fájl kinyitása ZIP-ként, JSON módosítás |
PBIX automatizálás PBI-Tools segítségével
A PBI-Tools egy nyílt forráskódú eszköz a Power BI fejlesztésének és automatizálásának támogatására. Fő célja a PBIX fájlok verziókezelése, szerkesztése és automatizált telepítése.
Ha Power BI fejlesztőként szeretnéd automatizálni a PBIX fájl kezelését, verziókezelését, vagy CI/CD folyamatba integrálni, akkor a PBI-Tools egy hasznos megoldás.
🔹 Mire használható a PBI-Tools?
A PBI-Tools lehetővé teszi a PBIX fájlok kicsomagolását, szerkesztését és újraépítését a következő célokra:
Funkció | Leírás |
---|---|
PBIX fájlok verziókezelése (Git, Azure DevOps) | A PBIX fájlt szöveges JSON formátumba alakítja, hogy könnyen verziókövethető legyen |
Automatikus telepítés (CI/CD) | A PBIX fájlokat scriptelve lehet módosítani és telepíteni különböző környezetekbe |
Power BI Desktop nélküli szerkesztés | Power BI nélkül módosítható a riportok felépítése |
PBIX fájl kinyerése (Extract) | A PBIX fájl szétszedhető külön JSON és adatmodell fájlokra |
PBIX fájl újraépítése (Restore) | A szétbontott fájlokból újra létrehozható a PBIX |
🔹 Hogyan működik a PBI-Tools?
A PBI-Tools a parancssorból (CLI) vagy PowerShellből futtatható. Az alábbi fő funkciókat biztosítja:
1️⃣ PBIX fájl kinyerése (Extract)
Ezzel a paranccsal szétszedheted a PBIX fájlt külön fájlokra:
🔹 Eredmény:
-
A PBIX fájl tartalma JSON és más formátumú fájlokként kinyerésre kerül:
-
Report/Layout.json (jelentés elrendezése)
-
Report/Connections.json (adatforrás kapcsolatok)
-
DataModel.bim (adatmodell)
-
Settings.json (Power BI beállítások)
-
2️⃣ PBIX fájl újraépítése (Restore)
A szétbontott fájlokból újra létrehozható a PBIX fájl:
🔹 Hasznos, ha verziókezelésből szeretnéd újraépíteni a PBIX fájlt.
3️⃣ PBIX fájl módosítása scriptelve
Mivel a PBIX fájl JSON fájlokra van bontva, manuálisan vagy scriptelve módosítható.
📌 Példa: Jelentés elrendezés módosítása JSON-ben
A Report/Layout.json
fájl szerkesztésével módosíthatod a vizualizációk elhelyezését.
🔹 Példa: "SalesChart" vizualizáció helyének módosítása
Majd a módosított fájlokat restore paranccsal visszaépítheted PBIX-be.
4️⃣ Verziókezelés (Git, Azure DevOps)
A PBIX fájlok hagyományosan binárisak, így nem lehet verziókövetni őket. A PBI-Tools lehetővé teszi a JSON és BIM fájlok Git verziókezelését.
📌 Lépések:
-
PBIX szétszedése (
extract
) -
JSON fájlok Git tárolóba helyezése
-
Módosítások követése Git-ben
-
PBIX újraépítése (
restore
) ha szükséges
🔹 Előnyök:
✅ Könnyen összehasonlítható változások
✅ Kód review-k támogatása
✅ Automatizált CI/CD pipeline integráció
5️⃣ Automatizált telepítés (CI/CD pipeline)
A Power BI riportokat automatizáltan telepítheted fejlesztői, teszt és éles környezetbe.
📌 Példa Azure DevOps pipeline-ban
🔹 Hasznos:
-
Automatikusan generálható PBIX fájlok módosított JSON fájlokból
-
CI/CD folyamatba építhető
🔹 Összegzés
Funkció | Használat |
---|---|
PBIX Extract | PBIX fájl kinyerése JSON, BIM és egyéb fájlokként |
PBIX Restore | JSON és BIM fájlokból új PBIX létrehozása |
Verziókezelés | PBIX módosítások Git/Azure DevOps segítségével |
CI/CD automatizáció | Power BI telepítés fejlesztői/éles környezetbe |
Power BI szerkesztése kód nélkül | Layout és adatmodell módosítása JSON-ben |
🔹 Kinek érdemes használnia?
✅ Power BI fejlesztőknek, akik szeretnék verziókezelni a PBIX fájlokat
✅ DevOps mérnököknek, akik Power BI jelentéseket telepítenek CI/CD pipeline-ban
✅ Nagyvállalati BI csapatoknak, ahol szabályozott fejlesztési folyamatok kellenek
🔹 Te is szeretnéd kipróbálni?
📌 Töltsd le a PBI-Tools CLI-t:
🔗 GitHub – PBI-Tools
Link:
https://pbi.tools/tutorials/getting-started-cli.html
https://pbi.tools/tutorials/getting-started-cli.html
https://medium.com/microsoft-power-bi/automate-pbix-using-pbi-tools-ffa062df1443
Megjegyzések
Megjegyzés küldése