Analitika360

Žvaigždės schema Power BI: faktų ir dimensijų lentelės praktiškai

Žvaigždės schema Power BI modelyje reiškia, kad centre yra viena ar kelios faktų lentelės su skaičiais (sumomis, kiekiais, operacijomis), o aplink jas išdėstytos dimensijų lentelės, pagal kurias tuos skaičius filtruojate ir grupuojate: data, klientas, prekė, padalinys, sąskaita. Būtent tokią struktūrą rekomenduoja „Microsoft“, nes ji duoda paprastesnes DAX formules, greitesnes ataskaitas ir aiškesnį laukų sąrašą vartotojui. Toliau paaiškiname, kaip žvaigždės schemą susikurti iš apskaitos duomenų, kuo ji skiriasi nuo snaigės schemos ir kokių klaidų verta vengti.

Trumpai

  • Dimensijų lentelės skirtos filtruoti ir grupuoti, faktų lentelės skirtos sumuoti.
  • Faktų ir dimensijų lenteles jungia ryšys „vienas su daugeliu“: dimensija yra „vieno“, faktai yra „daugelio“ pusėje.
  • Snaigės schema išskaido vieną dimensiją į kelias normalizuotas lenteles; Power BI modelyje dažniausiai geriau jas sujungti į vieną.
  • Apskaitos duomenims (pajamoms, sąnaudoms, pelnui) tinka faktų lentelė iš didžiosios knygos įrašų ir dimensijos: data, sąskaitų planas, padaliniai, partneriai.
  • Venkite nebūtino dvikrypčio filtravimo, ryšių „vienas su vienu“ ir ryšių per apskaičiuojamuosius stulpelius.

Turinys

Kas yra žvaigždės schema ir kodėl ji svarbi Power BI

Žvaigždės schema yra brandus modeliavimo metodas, plačiai taikomas reliacinėse duomenų saugyklose. Jo esmė: kiekviena modelio lentelė priskiriama vienai iš dviejų rūšių.

  1. Dimensijų lentelės aprašo verslo esybes: klientus, prekes, darbuotojus, padalinius, datas. Kiekviena dimensija turi unikalų raktą, pavyzdžiui, kliento kodą, ir aprašomuosius stulpelius: pavadinimą, miestą, segmentą, kategoriją.
  2. Faktų lentelės saugo įvykius: pardavimo eilutes, sąskaitų faktūrų įrašus, didžiosios knygos operacijas, sandėlio judėjimus. Jose yra skaitiniai matai (suma, kiekis, savikaina) ir dimensijų raktai, per kuriuos įvykis susiejamas su klientu, preke ar data.

Pavadinimas kilo iš diagramos vaizdo: faktų lentelė centre, dimensijos aplink ją kaip žvaigždės spinduliai.

SavybėDimensijų lentelėFaktų lentelė
PaskirtisFiltruoti ir grupuotiSumuoti ir skaičiuoti
Eilučių skaičiusDažniausiai nedidelisDidelis, auga kasdien
RaktasUnikalus kiekvienai eiluteiKartojasi, nes rodo į dimensijas
PavyzdžiaiData, Klientai, Prekės, Sąskaitų planasPardavimai, DK įrašai, Sandėlio judėjimai
Ryšio pusė„Vienas“„Daugelis“

Kodėl tai svarbu būtent Power BI? Variklis yra optimizuotas filtrams, kurie keliauja iš dimensijos į faktų lentelę. Kai modelis sutvarkytas pagal žvaigždę, matas Pajamos = SUM(Pardavimai[Suma]) teisingai veikia su bet kuriuo pjūviu: pagal mėnesį, klientą, prekių grupę ar padalinį, ir jums nereikia kiekvienam pjūviui rašyti atskiros formulės.

Kaip susieti faktų ir dimensijų lenteles

Power BI modelyje faktų ir dimensijų lentelės įprastai jungiamos ryšiais „vienas su daugeliu“. Dimensijos pusės stulpelyje reikšmės turi būti unikalios, o ryšys perduoda filtrus iš vienos lentelės į kitą. Tos pačios dokumentacijos duomenimis, ryšiai „vienas su daugeliu“ toje pačioje šaltinių grupėje yra greičiausi filtravimo požiūriu.

Praktinės taisyklės:

  • Raktas dimensijoje turi būti unikalus. Jei klientų lentelėje tas pats kodas kartojasi dviem eilutėmis, Power BI neleis sukurti „vienas su daugeliu“ ryšio arba pasiūlys „daugelis su daugeliu“, o tai jau įspėjimo ženklas.
  • Filtravimo kryptis viena. Filtras keliauja iš dimensijos į faktus. Dvikryptį filtravimą „Microsoft“ pataria naudoti saikingai, tik konkrečiais atvejais, pavyzdžiui, kai reikia analizuoti vieną dimensiją kitos dimensijos filtravimo kontekste.
  • Ryšiai aktyvūs, kai tik įmanoma. Neaktyvų ryšį reikia įjungti DAX formulėje, todėl kiekvienas papildomas neaktyvus ryšys apsunkina matus.
  • Datos lentelė atskira. Viena bendra datos dimensija, susieta su visomis faktų lentelėmis, leidžia palyginti pardavimus, sąnaudas ir biudžetą tame pačiame laiko pjūvyje.

Jei jūsų modelis jungiasi tiesiogiai prie duomenų bazės, galioja papildomos taisyklės. DirectQuery modeliuose parinktis „Assume referential integrity“ gali pagreitinti užklausas, nes Power BI generuoja INNER JOIN užklausas. Kuris režimas tinka jūsų atvejui, aptarėme straipsnyje apie DirectQuery ir importo pasirinkimą.

Žvaigždės schema iš apskaitos duomenų: pajamos, sąnaudos, pelnas

Apskaitos programos duomenis saugo taip, kaip patogu apskaitai, o ne analizei. Dokumentų antraštės, eilutės, sąskaitų planas, partnerių kortelės ir padalinių klasifikatoriai yra atskirose lentelėse. Užduotis yra paversti juos žvaigžde. Štai kaip tai daroma žingsnis po žingsnio.

  1. Apibrėžkite klausimus. Pavyzdžiui: „Koks pelnas pagal padalinį ir mėnesį?“, „Kurie klientai neša daugiausia pajamų?“, „Kaip sąnaudos atrodo palyginti su biudžetu?“. Kiekvienas klausimas parodo, kokių faktų ir kokių pjūvių reikia.
  2. Pasirinkite faktų lenteles. Pelno analizei patogiausia faktų lentelė yra didžiosios knygos įrašai: data, sąskaita, padalinys, partneris, debetas, kreditas. Pardavimų analizei reikia atskiros faktų lentelės iš sąskaitų faktūrų eilučių su preke, kiekiu, suma ir savikaina.
  3. Suformuokite dimensijas. Tipinis rinkinys: Data, Sąskaitų planas (su grupavimu į pajamas, savikainą, veiklos sąnaudas), Padaliniai, Partneriai, Prekės. Jei prekių grupės ar sąskaitų lygiai šaltinyje yra atskirose lentelėse, Power Query sujunkite juos į vieną dimensijos lentelę.
  4. Sukurkite ryšius. Kiekviena dimensija jungiasi su faktų lentele per raktą, ryšys „vienas su daugeliu“, filtravimo kryptis viena.
  5. Parašykite matus. Pajamos, sąnaudos ir pelnas tampa paprastais matais per sąskaitų plano grupes, pavyzdžiui, Pelnas = [Pajamos] - [Sąnaudos]. Kadangi visos dimensijos bendros, tas pats matas veikia ataskaitoje pagal mėnesį, padalinį ar projektą.
  6. Pridėkite kitus šaltinius. Biudžetas iš Excel ar SharePoint tampa dar viena faktų lentele, susieta su tomis pačiomis Data, Sąskaitų plano ir Padalinių dimensijomis. Taip planas ir faktas atsiduria viename modelyje, kaip aprašome vadove apie biudžeto palyginimą Power BI.

Dvi ar daugiau faktų lentelių su bendromis dimensijomis vis dar yra žvaigždės schema, tik su keliais centrais. Svarbiausia, kad faktų lentelės nebūtų jungiamos tarpusavyje tiesiogiai: jas sieja tik bendros dimensijos. Jei Rivilės duomenis norite papildyti Excel failais, praktinius pavyzdžius rasite straipsnyje apie Rivilės, Excel ir Power BI sujungimą.

Snaigės schema Power BI ir kuo ji skiriasi

Snaigės dimensija yra vienos verslo esybės normalizuotų lentelių rinkinys. Pavyzdžiui, prekė saugoma trimis lentelėmis: Prekės, Prekių pogrupiai, Prekių grupės, kurios jungiasi grandine. Power BI modelyje tokią struktūrą galima atkartoti atskiromis lentelėmis arba sujungti šaltinio lenteles į vieną denormalizuotą modelio lentelę.

„Microsoft“ dokumentacija nurodo kelis snaigės modelio trūkumus Power BI kontekste: įkeliama daugiau lentelių, filtrai keliauja ilgesnėmis grandinėmis, todėl modelis gali būti mažiau efektyvus, o hierarchijos negalima sukurti iš skirtingų lentelių stulpelių.

KriterijusŽvaigždės schemaSnaigės schema
Dimensijos struktūraViena plati lentelėKelios normalizuotos lentelės
Lentelių skaičius modelyjeMažesnisDidesnis
Filtrų keliasTrumpas: dimensija, faktaiIlgas: grupė, pogrupis, prekė, faktai
HierarchijosKuriamos vienoje lentelėjeNegalima jungti stulpelių iš kelių lentelių
Laukų sąrašas vartotojuiAiškusDaugiau lentelių, sunkiau orientuotis
TinkaDaugumai Power BI modeliųKai to reikalauja šaltinio struktūra ar duomenų valdymo taisyklės

Kada rinktis žvaigždės, o kada snaigės schemą

Daugumai Power BI projektų pirmas pasirinkimas yra žvaigždės schema: ji paprastesnė, greitesnė ir patogesnė ataskaitų kūrėjui. Snaigės struktūra prasminga tada, kai duomenys šaltinyje labai normalizuoti ir juos sujungti būtų neproporcingai sudėtinga, arba kai įmonės duomenų valdymo taisyklės reikalauja išlaikyti atskiras lenteles.

Kada rinktis žvaigždės, o kada snaigės schemą

Net ir tuomet dažniausiai geriau normalizuotas lenteles sujungti Power Query etape, o modelyje palikti švarią žvaigždę. Kai šaltinių daug, o transformacijos sudėtingos, verta svarstyti tarpinę duomenų saugyklą; kada jos reikia, paaiškinome straipsnyje apie Power BI duomenų saugyklą.

Dažnos modeliavimo klaidos

  • Viena didelė lentelė visam kam. Plokščia lentelė su visais stulpeliais greitai išauga, o DAX formulės tampa painios. Išskaidykite ją į faktus ir dimensijas.
  • Dvikryptis filtravimas „dėl visa ko“. Jis gali duoti netikėtų rezultatų ir sulėtinti modelį. Įjunkite jį tik ten, kur aiškiai reikia.
  • Ryšiai „vienas su vienu“. Kai vienos esybės duomenys išskaidyti per kelias lenteles, tokių ryšių rekomenduojama vengti: jie apsunkina laukų paiešką, hierarchijų kūrimą ir gali duoti netikėtų rezultatų, jei eilutės nesutampa. Sujunkite tokias lenteles į vieną.
  • Ryšiai per apskaičiuojamuosius stulpelius DirectQuery modelyje. Geriau tokį stulpelį sukurti šaltinio duomenų bazėje.
  • Nėra atskiros datos lentelės. Be jos laiko palyginimai, pavyzdžiui, šie metai prieš praėjusius, tampa nepatikimi.
  • Sudėtingi matai nuo pirmos dienos. DirectQuery modeliuose pradėkite nuo paprastų SUM, COUNT, MIN, MAX ir AVERAGE matų ir tik tada vertinkite sudėtingesnių našumą.

Mūsų požiūris

Daugelis įmonių, su kuriomis dirbame, ateina su ataskaitomis, kurios „kažkaip veikia“, bet kiekvienas naujas klausimas reiškia naują Excel lapą ar naują formulę. Dažniausia priežastis yra ne vizualai ir ne DAX, o modelis.

Todėl mūsų iš anksto paruošti Power BI ataskaitų rinkiniai Rivilės ir Finvaldos naudotojams sukurti taip, kad pajamos, sąnaudos, pelnas, balansas, pardavimai, sandėlis ir skolos būtų matomi viename Power BI modelyje. Duomenys atsinaujina automatiškai, be papildomo vartotojo darbo, o jūs dirbate su rodikliais, ne su lentelių jungimu.

Kai įmonei reikia daugiau, į tą patį modelį jungiame SharePoint, Excel, CRM ar logistikos duomenis ir pritaikome sprendimą pagal įmonės procesus bei esamas IT sistemas. Būtent čia tvarkingas modelis atsiperka labiausiai: naujas šaltinis tampa dar viena modelio dalimi, o ne atskira ataskaita.

Analitika360

Paruoštos Power BI ataskaitos Rivilės ir Finvaldos duomenims

Jei nenorite modelio kurti nuo nulio, Analitika360 siūlo paruoštus Power BI ataskaitų paketus Rivilės ir Finvaldos duomenims, kurie atsinaujina automatiškai. Rivilė Basic ir Finvalda Basic kainuoja 59 € per mėnesį, Rivilė PRO ir Finvalda PRO kainuoja 89 € per mėnesį.

Analitika360

Jūsų procesams pritaikytas modelis su papildomais šaltiniais kuriamas kaip individualus projektas už 70 € per valandą. Visas kainas ir planų palyginimą rasite verslo analitikos kainų puslapyje.

Dažniausi klausimai

Ar Power BI veiks be žvaigždės schemos?

Veiks, bet su sąlygomis. Plokščia lentelė ar snaigės struktūra tinka mažiems modeliams, tačiau augant duomenims ir klausimų skaičiui formulės sudėtingėja, o ataskaitos lėtėja. Žvaigždės schema yra „Microsoft“ rekomenduojamas pagrindas.

Kiek faktų lentelių gali būti viename modelyje?

Tiek, kiek reikia verslo procesams: pardavimai, DK įrašai, biudžetas, sandėlio judėjimai. Svarbiausia, kad jos būtų susietos per bendras dimensijas, pavyzdžiui, datą ir padalinį, o ne tiesiogiai viena su kita.

Kur geriau sujungti snaigės lenteles: Power Query ar modelyje?

Dažniausiai Power Query arba šaltinio duomenų bazėje. Taip modelyje lieka mažiau lentelių, trumpesni filtrų keliai ir galima kurti hierarchijas vienoje dimensijoje.

Ar su Analitika360 paketais reikia patiems kurti modelį?

Ar su Analitika360 paketais reikia patiems kurti modelį?

Ne. Mūsų iš anksto paruošti ataskaitų rinkiniai Rivilės ir Finvaldos naudotojams pateikiami jau paruošti ir atsinaujina automatiškai, todėl jums nereikia patiems kurti lentelių ir ryšių. Individualiuose projektuose sprendimą pritaikome jūsų procesams ir papildomiems šaltiniams.

Šaltiniai

Rekomendacijos

Taip pat skaitykite

Norite tokių ataskaitų savo versle?

Analitika360 paruošia Power BI ataskaitas iš jūsų apskaitos sistemos duomenų — Rivilė, Finvalda ar R-Keeper. Ataskaitos atsinaujina automatiškai, nuo 59 Eur/mėn.

Kainos ir planai
Analitika360 klientų sėkmės istorijos

Duomenys, kurie padeda priimti sprendimus

Sužinokite, kaip įmonės, tokios kaip jūsų, pritaikė Analitika360 ataskaitas savo veikloje naudodami Power BI.

“
Gavome standartinį R-Keeper ataskaitų paketą ir dar pritaikė pagal mūsų poreikius. Viskas veikia!
TB
Tomas B.restorano savininkas
“
20 paruoštų ataskaitų – nereikėjo galvoti, ko prašyti. Finvaldos duomenys pagaliau matomi vizualiai. Rekomenduoju.
IM
Ingrida M.buhalterė
“
Labai patiko, kad Analitika360 turi paruoštą 20 ataskaitų paketą Rivile naudotojams – nereikėjo nuo nulio aiškintis, ko mums reikia. Startavome greitai, o vėliau dar pritaikė kelias ataskaitas pagal mūsų gamybos specifiką. Sutaupėme ir laiko, ir pinigų.
MK
Marius K.finansų vadovas
“
Turime kelių įmonių grupę su Rivile, ir konsoliduotos ataskaitos visada buvo galvos skausmas. Analitika360 pasiūlė standartinį 20 ataskaitų paketą kaip pagrindą, o tada pritaikė jį mūsų grupės struktūrai – dabar matome viską viename Power BI modelyje, atsinaujina automatiškai.
GJ
Giedrė Jankauskaitėfinansininkė
“
Valdome 6 restoranus su R-Keeper ir ilgai ieškojome būdo matyti palyginamus rezultatus tarp objektų. Standartinis 20 ataskaitų paketas padengė didžiąją dalį poreikių, o vėliau buvo pritaikytos individualios ataskaitos mūsų tinklui.
AŠ
Andrius Š.restoranų tinklo direktorius
“
Kreipėmės po rekomendacijos ir iš karto maloniai nustebino paruoštas 20 ataskaitų standartas Finvalda naudotojams. Vadovybė dabar kas pirmadienį gauna aiškią finansinę nuotrauką, o aš nebeleidžiu dienų eksportuojant duomenis į Excel.
RP
Rasa Petrauskienėapskaitos vadovė
“
Naudojame Rivile, bet niekada neturėjome laiko kurti ataskaitų nuo nulio. 20 ataskaitų paketas buvo tiesiog tai, ko reikėjo – įsidiegėme per savaitę.
VP
Vaidas P.prekybos tinklo vadovas
“
Turime 4 kavines su R-Keeper sistema ir ilgai dirbome „pagal nuojautą“. Analitika360 ataskaitos parodė dalykų, kurių anksčiau net nepastebėdavome. Dabar sprendimus priimame remdamiesi duomenimis, ne spėliojimais.
LK
Laura Kazlauskienėkavinių tinklo finansų vadovė