Microsoft Power BI - Információ az adatok mélyén
Ebben a bejegyzésben a Microsoft Power BI szoftvert fogom bemutatni egy fiktív online vállalkozás segítségével.
A Power BI segítségével fogom bemutatni, hogyan oszlottak el a bejövő rendelések az elmúlt majdnem egy éves időszakban. Tankönyv szerint ez egyszerű folyamat, azonban ez egy valós tapasztalataim alapján generált adatbázis. Az értékek fiktívek, de minden más valódi tapasztalatok alapján készült. Az összes nehézséggel találkoztam már a gyakorlatban. Láthatod majd, hogy mennyi probléma merül fel, és természetesen mindegyikre kínálok megoldást a Power BI segítségével.
Mi az a Microsoft Power BI?
"Power BI is a suite of business analytics tools to analyze data and share insights." – Olvasható a Microsoft honlapján, vagyis a Power BI egy üzleti analitikai szoftver, amellyel kielemezhetjük adatainkat, és megoszthatjuk másokkal.
A Power Bi csomag természetesen elérhető online platformon Power BI Service néven és desktop változatban is, Power BI Desktop néven. Az online platform egyik nagy előnye, hogy valós időben képes az adatok lekérésére a különböző platformokról, és a Power BI mobilalkalmazással gyakorlatilag bárhol és bármikor ellenőrizheted az adatokat. Ha gyorsan kell döntened, például a forgalmi dugóban ücsörögve, akkor ezt könnyedén meg tudod tenni, mert az összes adat, amire a döntésekhez szükséged van rendelkezésedre áll a mobilodon.
Én a Power BI Desktop alkalmazással fogok most dolgozni, amellyel kitűnő riportokat lehet készíteni.
Power BI a munkában
Képzeld el, hogy egyik napon új munkát kapsz, mint adatszakértő vagy mint elemző munkatárs. Első feladatként szeretnék tudni a marketingesek, hogy az év mely részeire mekkora marketingtevékenységet és költségvetést időzítsenek. Itt rávághatod, hogy a november és a december a nyerő hónap, oda tartalékolják a nagy pénzt. Hiszen jön a karácsony, ezt mindenki tudja. De az üzleti életben ennél pontosabb adatokra van szükség. A jó döntéshez a legpontosabban tudnod kell, hogy mennyi az annyi. Arról nem beszélve, hogy a decemberi kampányolás nem biztos, hogy túl sikeres lenne például az energiaitalok piacán. Tehát szükséged van adatelemzésre. Kezdetnek a tavalyi megrendelések eloszlását szeretnénk megtudni.
A példában az online felületen leadott megrendelések eloszlását fogom adatvizualizációval bemutatni. A teljes, végleges döntés természetesen függ a hirdetési csatornáktól, a bevételek eloszlásától és még egy tucatnyi tényezőtől, amelyek nem képezik részét ennek a bejegyzésnek. Kezdjünk hozzá!
Power BI bemutatása gyakorlati példán keresztül
A példában szereplő adatbázisról:
A vállalkozás magas árfekvésű és minőségű termékek online árusításával foglalkozik. Saját adminisztrációs rendszere van, mely egy SQL adatbázissal van összekötve. Az adatok fiktívek, de a problémák melyekbe ütköztem a munka során bizony valódiak.
A vállalkozásnak van egy saját analitikai rendszere, mely SQL adatbázisra épül. Először exportálni kellett a MySQL adatbázist. Én az Excel CSV formátumot választottam, de tapasztalataim szerint a Power BI bármelyik exportált formátummal megbirkózik.
Elindítottam az alkalmazást, és bekértem az adatbázis fájlt.
A Power BI rengeteg weboldalról és forrásból képes adatokat beolvasni. Külön kiemelendő az a funkciója, hogy egyszerű HTML <table>... ... ...</table> kódból is képes adatokat kiolvasni egy URL címről.
Kódolás beállítása
Rögtön az adatok beolvasásakor láthatunk egy előnézetet a CSV formátum tagolásáról. Azonnal problémába ütköztünk, ugyanis a kódolás nem megfelelő. Ezen könnyedén tudunk állítani. Válasszuk ki a legördülő listából az UTF-8 kódolást. Még beállíthatjuk, hogy mi alapján válassza el egymástól az oszlopokat, és hogy az adattípusokat mekkora minta alapján állapítsa meg. Utóbbit egyébként automatikusan megcsinálja helyettünk.
Kattintsunk a "Load" gombra, és átkerülünk a szerkesztő felületre.
Szerkesztés - Hol vannak a neveink?
Az első dolog, amit megláttam, hogy minden oszlop a "Column#" nevet kapta. Ez nagyon megnehezítené a munkánkat, úgyhogy változtassuk meg a nevüket! Adjunk érthető neveket az oszlopoknak, melyeket akkor is megértünk, ha majd tíz év múlva kell újra elővennünk ezt az adatbázist. Ezek az oszlopok egyébként az alábbiakat tartalmazták eredetileg: Megrendelés száma, Név, Szállítási cím, számlázási cím, e-mail, telefon, dátum és idő, rendelés állapota, rendelés egyéb paraméterei(több oszlop). Nekünk ezek közül most a rendelésekre és a hozzájuk tartozó dátumokra volt szükségünk. A többit töröltem.
Egy kis adattisztítás
Mint a legtöbb adatbázisnak, így ennek is akadtak tervezési, technikai és emberi figyelmetlenségből adódó problémái. Azt tapasztaltam, hogy az adatbázis megtisztítása és az esetleges végső döntések meghozata során rengeteg előny származik abból, ha egy informatikus tisztában van azzal, hogy pontosan mire és hogyan lesznek felhasználva az adatok és hogyan lesz ebből végül bevétel.
A végső cél alapján először kiszedtem azokat a mezőket, melyeknél két rendelés között alig telt el 3 másodperc, ugyanis ennyi idő alatt nem történhet új rendelés. Inkább arról van szó, hogy a megrendelő nem várta meg a következő oldal betöltését vagy véletlenül kétszer kattintott. Természetesen a rendszer ezt egy rendelésként számolja, de az adatbázisban ettől még bejegyzésre kerül külön rekordként. Szerencsére csak egyetlen ilyen rekord volt a minta adatbázisban, de ha egy valódi adatbázisban több ilyen közeli dátumunk van, akkor az problémákra hívhatja fel a figyelmünket.
Ezután a dátum mezőt kellett átalakítanom. Az adatbázis úgy volt megtervezve, hogy a dátum és az idő egy mezőben helyezkedett el. Ez gyakori probléma, sajnos a fejlesztők nem fordítanak elég figyelmet az adatbázisok megfelelő tervezésére - tisztelet a kivételnek. Szétszedhettem volna SQL utasítással is a rendszert, de én a következőképpen oldottam meg:
Dátum/Idő mezőből csináltam egy csak Dátum mezőt. Duplikáltam az oszlopot, majd az egyikből Hónap, a másikból Év mező lett. Ezután összeolvasztottam a kettőt. Nem tartott tovább, mint megírni egy SQL utasítást. Így nézett ki eredetileg az oszlop:
Ezek után jött az a rész, amelyben a nem valós rendeléseket kellett kiszűrni. Ez egy nagyobb adatbázisnál komoly munka, jelentős időt vesz el a folyamatból. A minta adatbázisunkban azonban feltételezhetjük, hogy csak a nevekkel vannak gondok. De naivság lenne azt hinni, hogy a valóságban is ilyen könnyű a feladat.
Meg kell keresni azokat a rendeléseket, ahol a megrendelő valamilyen okból nem tűnik valósnak. Itt van például G. Ő lehet, hogy Gergő vagy Gábor vagy Gabriella, de az esélyes, hogy a leadott rendelése nem valós. De ugyanilyenek a "Petike" és a "kösz, de nem rendelek semmit" nevű felhasználók (igen, vannak ilyenek) vagy azok, akik nem adtak meg címet, elérhetőséget vagy 99 darab automata mosógépet rendelnek egyszerre. Még legalább tucatnyi más feltétel létezik, amelyek alapján szűrnünk kell egy valós adatbázist. Erre azért van szükség, mert jelentősen torzíthatja a végeredményt.
A Power BI Query Settings felületén az Applied Steps mezőben egymás után vannak a végrehajtott módosítások. Az előbb leírt módosítások mind megtalálhatóak az alábbi képen G nevű felhasználónk bemutatásával együtt:
Adatvizualizáció
Miután az adatok szűrésre kerültek a felső felületen a "Pivot column" gomb segítségével minden hónaphoz tartozóan kiszámolt(att)am, hogy mekkora volt az egy hónapra eső megrendelés.
Ezek után az összes oszlopot kiválasztottam, és a "Vizualizations" fülön a kördiagramos megjelenítést választottam, mivel azt szeretnénk megnézni, hogy adott időszakokban mekkora az összes megrendelés eloszlása. Ehhez szerintem a kördiagram az egyik legjobb választás.
Itt az eredmény:
Ebből mindenki azt olvas ki, amit a tudása lehetővé tesz. Én még végeznék pár adatszűrést, és más adatokat is összegyűjtenék, majd ezek segítségével döntenék végül a bejegyzés elején feltett kérdésről.
Ahogy a példából láthattad, a Power BI Desktop kitűnő alkalmazás adatok megjelenítésére. Persze, ha szkeptikus lennél, akkor azt mondanád: ez nem nagy cucc, ezt Excelben is meg lehetett volna csinálni. Igen, húsklopfolóval is be lehet ütni a szöget a falba. Sőt, svájci bicskával is. De miért tennéd, ha van kalapácsod?
A Power BI célszerszám. Ennél messze összetettebb feladatokat is képes elvégezni. Ez a bejegyzés a program bemutatásáról szólt. Későbbi bejegyzésekben megmutatok komolyabb feladatokat is.
Ha adatokkal foglalkozol, akkor ez a szoftver kötelező darab kell, hogy legyen az eszköztáradban.
Ha érdekes volt a bejegyzés, akkor oszd meg a hasonló érdeklődésű barátaiddal is! Ha kérdésed van, írj nekem az [email protected] e-mail címre.