Arbejd med dimensioner
Når du opretter et stjerneskema, har du dimensions- og faktatabeller. Faktatabeller indeholder oplysninger om begivenheder som salgsordrer, forsendelsesdatoer, forhandlere og leverandører. Dimensionstabeller indeholder detaljer om forretningsenheder, f. eks. produkter og tidspunkter, og de er forbundet til faktatabeller via en relation.
Du kan bruge hierarkier som én kilde til at hjælpe dig med at finde detaljer i dimensionstabeller. Disse hierarkier udgør naturlige segmenter i dine data. Du kan f. eks. have et hierarki med datoer, hvor dine datoer kan segmenteres i år, måneder, uger og dage. Hierarkier er nyttige, fordi de giver dig mulighed for at foretage detailudledning i de specifikke data i stedet for kun at få vist dataene på et højt niveau.
Hierarkier
Når du opretter visuals, angiver Power BI automatisk værdier for datotypen som et hierarki (hvis tabellen ikke er markeret som en datotabel).
I den foregående Date-kolonne vises datoen mere og mere detaljeret som år, kvartaler, måneder og dage. Du kan også oprette hierarkier manuelt.
Du kan f. eks. forestille dig en situation, hvor du vil oprette et stablet liggende søjlediagram med det samlede salg efter kategori og underkategori. Du kan udføre denne opgave ved at oprette et hierarki i tabellen Product for kategorier og underkategorier. Hvis du vil oprette et hierarki, skal du gå til ruden Felter i Power BI og derefter højreklikke på den kolonne, du vil oprette hierarkiet for. Vælg Nyt hierarki som vist i følgende figur.
Træk derefter kolonnen Subcategory til det nye hierarki, som du har oprettet, og slip den. Denne kolonne vil blive tilføjet som et underordnet niveau i hierarkiet.
Nu kan du oprette visual'et ved at vælge et stablet liggende søjlediagram i ruden Visualiseringer. Tilføj dit Hierarki for kategorinavn i feltet Akse og Salg i alt i feltet Værdier.
Du kan foretage detailudledning i visual'et for at få vist både Category og Subcategory, afhængigt af hvad du vil se. Hierarkier giver dig mulighed for at få vist stigende dataniveauer i en enkelt visning.
Nu, hvor du har fået større indblik i hierarkier, kan du tage et skridt yderligere og undersøge overordnet-underordnet-hierarkier og deres rolle i flere relationer mellem faktatabeller og dimensionstabeller.
Overordnet-underordnet-hierarki
I det følgende eksempel viser tabellen Employee i databasen vigtige oplysninger om medarbejderne, deres ledere og deres id'er. Når du kigger på denne tabel, kan du se, at Roy F vises flere gange i kolonnen Manager. Som du kan se på billedet, kan flere medarbejdere have samme leder, hvilket angiver et hierarki mellem ledere og medarbejdere.
Kolonnen Manager bestemmer hierarkiet og er derfor det overordnede niveau, mens de underordnede niveauer er medarbejderne. I dette eksempel vil du have vist alle niveauer i dette hierarki. I Power BI vises alle niveauer i hierarkiet ikke som standard, så det er dit ansvar at sikre, at du kan se alle niveauer i dette hierarki eller "fladgøre", så du kan se mere detaljerede data.
Fladgør overordnet-underordnet-hierarki
Processen med at få vist flere underordnede niveauer, der er baseret på en overordnet på øverste niveau, kaldes at fladgøre hierarkiet. I denne proces opretter du flere kolonner i en tabel for at få vist den hierarkiske sti fra det overordnede til det underordnede niveau i samme post. Du skal bruge PATH(), som er en simpel DAX-funktion, der returnerer en tekstversion af ledelsesstien for hver medarbejder, og funktionen PATHITEM() til at adskille denne sti i de enkelte niveauer i ledelseshierarkiet.
Vigtigt
DAX er endnu ikke beskrevet, men beskrives i et andet modul. Denne funktion er medtaget i dette afsnit, fordi den giver en beskrivelse af hierarkier. Hvis brugen af DAX i denne sammenhæng er forvirrende, kan du se DAX-modulet og derefter vende tilbage til dette afsnit.
Gå til fanen Modellering, mens du får vist tabellen, og vælg Ny kolonne. Angiv følgende funktion i den formellinje, der vises, for at oprette tekststien mellem medarbejderen og lederen. Denne handling opretter en beregnet kolonne i DAX.
Path = PATH(Employee[Employee ID], Employee[Manager ID])
Den fuldførte sti mellem medarbejderen og lederen vises i den nye kolonne, som det ses på følgende skærmbillede.
Hvis du kigger på Roger M, er stien til id'er 1010 | 1011 | 1013, hvilket betyder, at ét niveau over Roger M (ID 1013) findes hans chef Pam H (ID 1011), og ét niveau over Pam H findes hendes leder Roy F (ID 1010). I denne række er Roger M nederst i hierarkiet på det underordnede niveau, og Roy F er øverst i hierarkiet på det overordnede niveau. Denne sti oprettes for hver medarbejder. Hvis du vil fladgøre hierarkiet, kan du adskille de enkelte niveauer ved hjælp af funktionen PATHITEM.
Hvis du vil have vist alle tre niveauer i hierarkiet separat, kan du oprette fire kolonner på samme måde, som du tidligere gjorde det, ved at angive følgende ligninger. Du skal bruge funktionen PATHITEM til at hente den værdi, der er placeret på det tilsvarende niveau i hierarkiet.
- Niveau 1 = PATHITEM(Employee[Path],1)
- Niveau 2 = PATHITEM(Employee[Path],2)
- Niveau 3 = PATHITEM(Employee[Path],3)
Når du er færdig, kan du se, at du nu har alle hierarkiets niveauer i din tabel. Roy F er øverst i hierarkiet, og når du gennemgår niveau 2-3, kan du se, at lederne og medarbejderne er tilknyttet hinanden.
Nu kan du oprette et hierarki i ruden Felter, som du tidligere har gjort det. Højreklik på Niveau 1, da dette er det første hierarkiniveau, og vælg derefter Nyt hierarki. Træk og slip derefter niveau 2 og niveau 3 til dette hierarki.
Du har nu fladgjort et hierarki, så du kan få vist individuelle niveauer.
Tidligere har du set dimensioner, der kun har én relation med en faktatabel. Der opstår dog situationer, hvor dimensionstabellen har flere relationer til en faktatabel.
Dimensioner med forskellige roller
Dimensioner med forskellige roller har flere gyldige relationer med faktatabeller, hvilket betyder, at den samme dimension kan bruges til at filtrere flere kolonner eller tabeller med data. Derfor kan du filtrere data forskelligt, afhængigt af hvilke oplysninger du har brug for at hente. Dette emne er kompliceret, så dette afsnit omfatter kun en introduktion. Når du skal arbejde dimensioner med forskellige roller, kræver det komplekse DAX-funktioner, der beskrives i senere afsnit.
I det foregående visual vises tabellerne Calendar, Sales og Orders. Calendar er dimensionstabellen, mens Sales og Orders er faktatabeller. Dimensionstabellen har to relationer: én med Sales og én med Orders. Dette eksempel viser en dimension med forskellige roller, fordi tabellen Calendar kan bruges til at gruppere data i både Sales og Orders. Hvis du vil oprette en visualisering, hvor tabellen Calendar refererer til tabellerne Orders og Sales, fungerer tabellen Kalender som en dimension med forskellige roller.