Andel av total i Power BI

Ett vanligt scenario är att användare vill se värden som en andel av totalen. Det kan handla om att se hur stor andel av all försäljning en kund står för, vilka artiklar som står för störst del reklamationer etc.



Vi utgår i följande exempel från ett enkelt dataset bestående av kundorder, artikel- och kundregister. På varje orderrad finns information om vilken artikel som är såld (ProductID) och hur många som såldes (Quantity). ProductID är en så kallad nyckel som kopplar ihop orderraden med artikelregistret där vi har information om t.ex. vad produkten heter.


Först ska vi se hur man enkelt kan skapa en graf som visar hur många artiklar som sålts. Vi skapar för detta ett nytt mått:

Antal sålda = SUM(OrderDetail[Quantity])


Uttryck skrivs i Power BI i ett språk som heter DAX. Uttrycken kan ibland bli komplexa, men är i detta fallet enkelt. Vi vill helt enkelt summera upp värden i fältet Quantity för alla artiklar som finns i vårt aktiva filter. Eftersom Quantity-fältet i vårt exempel finns i en tabell OrderDetail ingår det i formeln.



Nu skapar vi en stapelgraf som visar antalet sålda enheter per artikel. Vi lägger ut ett objekt av typen vertikal staplad stapelgraf och drar ProductName till Axel och Antal sålda till Värden. Under inställningarna kan vi slå på värden på datapunkter och också göra staplarna lite bredare.



Nu ska vi lägga till ett mått för att visa andelen antal sålda av totalt antal sålda. Detta gör vi genom att lägga till ett nytt mått enligt följande:

Andel sålda = SUM(OrderDetail[Quantity]) / CALCULATE(SUM(OrderDetail[Quantity]),ALLSELECTED())



Välj att uttrycket ska vara en %-sats med en decimcal genom att ändra inställningarna på Measure tools när måttet är markerat under Fields.



Det här uttrycket är lite mer komplext. Täljaren är som tidigare antalet sålde enheter som beräknas för varje artikel i dimensionen. Nämnaren består av samma beräkning, fast räknat totalt sett för det givna urvalet. Så om användaren t.ex. gjort ett urval på en viss produktgrupp, kundland eller liknande kommer detta filter appliceras, men inte dimensionsvärdet artikel.


Byt fält på axlar till vårt nya Andel sålda istället för Antal sålda.



Lägg ut en slicer med fältet Country som finns i Customer-tabellen. Fältet beskriver vilket land en kund finns i. Välj värden Poland och observera att grafen ändras. Summan av alla staplar blir 100.




 

Skriven av: Morgan Kejerhag

Morgan Kejerhag har arbetat med beslutsstöd sedan 2005 och är en av Sveriges mest erfarna Qlik-konsulter. Under åren har Morgan arbetat med flertalet multinationella bolag där han lett arbetet i att bygga upp stora miljöer såväl som små kunder. LinkedIn Kontaktuppgifter