Jämförelse mot föregående år eller månad i Tableau

18 april 2017

Nivå: MEDEL – 4 minuters läsning

Något man ganska ofta stöter på är behovet att jämföra utfall (t ex försäljning) för en period jämfört mot föregående år, månad eller vecka.

Det kanske inte alltid är självklart hur man gör detta på bästa sätt då det finns lite olika sätt att lösa detta på, och självklart beror lösningen det på hur slutresultatet ska se ut. Men låt oss titta på de två vanligaste sätten. Jag använder mig av Tableaus exempeldata Superstore i detta blogginlägg.

Metod 1 – Använda sig av Quick Table Calculations

Detta sätt når man genom några klick och är det jag oftast använder mig av i första läget.  Det är enkelt, går snabbt och är en inbyggd funktion i Tableau. Viktigt att tänka på är att ha rätt sortering i tabellen/grafen och att verifiera man har rätt inställningar i beräkningarna.

Exempel på jämförelse mot föregående månad:

  1. Lägg ut Month på kolumner och Sales på rader.
  2. Lägg ut Sales på label, och välj sedan Quick Table Calculation > Percent Difference.

Beroende om ni har en tabell, graf, fallande eller stigande sortering så verifiera att beräkningarna görs på rätt nivå.

Resultatet!

Exempel på jämförelse mot föregående månad. Staplarna visar Försäljning och rubriken (label) visar förändringen mot fg månad.

Vill man hellre jämföra mot föregående år så kan man enkelt ändra detta genom att editera sin rubrik genom att dubbelklicka på mätvärdet och byta ut -1 mot -12 i hela uttrycket.

Detta mätvärde kan man sedan spara ifall man vill återanvända det i andra grafer. Smidigt va?

Hur gör jag om jag bara vill visa senaste 12 månaderna (eller senaste månaden) i grafen?

Använder vi oss av ett Quick filter och väljer senaste 12 månaderna så filtreras tyvärr historiken bort och jämförelsetalen försvinner. Ett knep är att använda sig av funktionerna index(), size(), first(), last() – som är ett utmärkt sätt att behålla antal positioner i vyn – utan att behöva filtrera bort något data.

Index() innehåller information om positionerna i vyn (rad 1 = position 1, rad 2 = position 2 etc). Size() returnerar totalt antal positioner som finns i vyn. En beräkning som index() = size() pekar ut den sista raden i vyn (som egentligen är samma sak som last()). Vill man då t ex visa sista 12 månaderna så kan man utnyttja detta genom att skriva index() < (size()-12), och sedan lägga det på filter och välja villkoret true.

Resultatet:

Metod nummer 2

Ett annat alternativ är att skapa separata mätvärden för utfall, f g månad, f g år… och sedan räkna ut differensen genom att ta ena mätvärdet minus det andra mätvärdet. Dessa tar lite tid att skapa upp, men när de väl är på plats så är de väldigt flexibla att jobba med. En nackdel är att man behöver använda sig av parametrar för val av period. En annan nackdel är också att det kan bli många mätvärden att skapa om man har många nyckeltal man vill göra den här sortens beräkning på. Men det blir väldigt enkelt för de som ska jobba med analyser och dashboards mot din datakälla.

Steg-för-steg:

  1. Skapa en parameter för år och en för månad. (Detta är ett exempel, det går givetvis att ha år och månad i samma parameter med det här tycker jag blir väldigt flexibelt).
    Tips! Ett riktigt bra tips när du skapar dessa parametrar är att lägga till två extra värden i varje parameter, ”Innevarande” och ”Föregående” för år respektive månad. Då kan du enkelt sätta dessa som default och ha rapporter som visar aktuella värden utan att dina användare behöver ändra några filter annat än om de vill titta på gamla perioder. Hur man gör det exakt återkommer jag till i ett separat litet blogginlägg. Nu fortsätter vi med exemplet där vi enbart använder år och månader.

  1. Skapa ett mätvärde som innehåller valt år och månad

 

  1. Gör samma sätt för föregående år genom att ta år -1

  1. Bygg sedan mätvärdet för försäljning för valt år och månad

  1. Samma sak för föregående år

  1. Slutligen, bygg ett mätvärde som innehåller diffen mot föregående år

  1. Mätvärden på plats! Nu är det bara att kombinera dem fritt i rapporterna.

Till sist

Det finns många fler sätt att göra detta på, och vad man väljer beror givetvis på hur datastrukturen ser ut, och rapportkraven. Men ovan har ni två sätt som jag hoppas löser de flesta behoven när det kommer till denna typ av rapportering.

Läs fler Tableautips på Sparksbloggen