Het juiste berekeningstype kiezen
Het type berekening dat u kiest, hangt af van de behoeften van uw analyse, de vraag die u wilt beantwoorden en de lay-out van uw visualisatie.
Welke berekening past bij uw analyse?
Het kiezen van het type berekening dat u voor uw analyse wilt gebruiken, is niet altijd eenvoudig. Overweeg bij het maken van die keuze de volgende vragen en voorbeelden.
Opmerking: Deze inhoud is oorspronkelijk gepubliceerd op de Tableau Blog. Ga naar Een handige gids voor het kiezen van de juiste berekening voor uw vraag(Link wordt in een nieuw venster geopend) om de blog te lezen.
Basisexpressie of tabelberekening?
Hebt u reeds alle datawaarden die u nodig hebt voor de visualisatie?
- Is het antwoord ja: u kunt een tabelberekening gebruiken.
- Is het antwoord nee: gebruik een basisberekening.
Voorbeeld:
Kijk eens naar de volgende twee visualisaties. De visualisatie aan de linkerkant is een staafdiagram dat de totale verkoop per land/regio weergeeft. De visualisatie aan de rechterkant toont ook de verkopen per land/regio, maar de verkopen zijn gedesaggregeerd.
Hoe kunt u het 90e percentiel van de verkoop voor elk van deze visualisaties berekenen?
Het staafdiagram aan de linkerkant is geaggregeerd op SUM. Daarom bevat deze weergave niet voldoende details om een tabelberekening te gebruiken. U kunt in dit voorbeeld een basisexpressie voor aggregatie gebruiken om het 90e percentiel van de verkoop voor elk land te berekenen met behulp van de volgende formule:
PERCENTILE([Sales], .90)
Dit resulteert in een waarde voor het 90e percentiel per land als label voor elke staaf.
Het diagram aan de rechterkant bevat echter een datawaarde voor elke verkooporder. Hier worden een grotere verdeling en uitschieters getoond. Er zijn voldoende details in de weergave om een tabelberekening te gebruiken.
U kunt het 90e percentiel van de verkoop voor elk land berekenen met behulp van een distributieband (equivalent aan een tabelberekening). Deze visualisatie bevat meer context.
Beide berekeningen komen uit op dezelfde waarden, maar de inzichten die u uit beide berekeningen haalt, verschillen op basis van het detailniveau (de hoeveelheid data) in de visualisatie.
Basisexpressie of Level of Detail (LOD)-expressie?
Als u niet over alle data beschikt die u nodig hebt voor de visualisatie, moet uw berekening worden doorgestuurd naar de databron. Dit betekent dat u een basisberekening of een LOD-expressie moet gebruiken.
Als u nee antwoordde op vraag 1 vraag uzelf dan af:
Vraag 2:
Komt de granulariteit van uw vraag overeen met de granulariteit van de visualisatie of de granulariteit van de databron?
- Is het antwoord ja: gebruik een basisexpressie.
- Is het antwoord nee: gebruik een Level of Detail (LOD)-expressie.
Voorbeeld
Kijk eens naar de volgende visualisatie. Hier wordt het 90e percentiel van de verkoop voor alle bestellingen in elk land getoond.
In dit voorbeeld wordt de databron Voorbeeld - Superstore gebruikt die bij Tableau wordt geleverd. Als u bekend bent met de databron Voorbeeld - Superstore, weet u wellicht dat er één rij data per Bestellings-ID is. Daarom is Bestellings-ID de granulariteit van de databron. De granulariteit van de visualisatie is echter Land.
Als u wilt weten wat de 90e percentielwaarde van de verkopen is voor bestellingen in elk land op het granulariteitsniveau van de Bestellings-ID, kunt u de volgende LOD-expressie gebruiken:
{INCLUDE [Order ID] : SUM([Sales])}
Vervolgens kunt u het veld wijzigen zodat de weergave wordt geaggregeerd op het 90e percentiel.
Hiervoor klikt u op de vervolgkeuzelijst met velden en selecteert u Meetwaarde > Percentiel > 90.
Het volgende diagram laat zien hoe de LOD-expressie in dit geval werkt:
- De data beginnen volledig geaggregeerd op SUM(Verkoop) en gaan vervolgens naar het detailniveau Land: SUM(Verkoop) op Land.
- De LOD-berekening wordt toegepast en de data krijgen meer granulariteit: SUM(Verkoop) op Land + Bestellings-ID.
- >De LOD-berekening wordt geaggregeerd tot het 90e percentiel: PCT90(SUM(Verkoop) op Land + Bestellings-ID)
Het resultaat is als volgt:
Tabelberekening of Level of Detail (LOD)-expressie?
Bij het kiezen tussen een tabelberekening of een LOD-berekening lijkt het proces sterk op het kiezen tussen een tabelberekening en een basisexpressie. Stel uzelf de volgende vragen:
Hebt u reeds alle datawaarden die u nodig hebt voor de visualisatie?
- Is het antwoord ja, gebruik dan een tabelberekening.
- Is het antwoord nee, vraag uzelf dan af: Komt de granulariteit van de vraag overeen met de granulariteit van de visualisatie of de granulariteit van de databron? Is het antwoord nee, gebruik dan een LOD-berekening.
Alleen tabelberekeningen
Er zijn enkele scenario's waarin alleen een tabelberekening volstaat. Deze omvatten:
- Rangschikking
- Recursie (bijv. cumulatieve totalen)
- Voortschrijdende berekeningen (bijv. voortschrijdende gemiddelden)
- Berekeningen tussen rijen (bijv. berekeningen die periodes met elkaar vergelijken)
Als uw analyse een van deze scenario's vereist, gebruik dan een tabelberekening.
Voorbeeld
Kijk eens naar de volgende visualisatie. Hier wordt voor verschillende aandelen de gemiddelde slotkoers tussen september 2014 en september 2015 getoond.
Als u wilt zien hoeveel keer de slotkoers de huidige recordsluitwaarde heeft overschreden, moet u een tabelberekening gebruiken, en meer specifiek een recursieve berekening.
Waarom? Omdat tabelberekeningen meerdere waarden kunnen uitvoeren voor elke datapartitie (cel, venster, tabel), terwijl basis- en LOD-expressies slechts één waarde kunnen uitvoeren voor elke partitie of datagroep.
Om het aantal keren te berekenen dat de slotkoers de recordkoers overschrijdt voor elk aandeel, zijn er een paar stappen die u moet volgen.
- U moet rekening houden met alle voorgaande waarden om te bepalen of er een nieuwe maximale sluitwaarde is bereikt. U kunt dit doen met een RUNNING_MAX-functie. Het volgende voorbeeld is berekend op basis van Dag (over de hele tabel), en is getiteld Huidig record:
RUNNING_MAX(AVG([Close]))
Vervolgens kunt u de dagen markeren waarop het record werd verbroken met behulp van de volgende berekening, berekend op basis van Dag (over de hele tabel), getiteld Tel dagen record verbroken:
IF AVG([Close]) = [Record to Date]
THEN 1
ELSE 0
ENDTen slotte kunt u deze dagen tellen met behulp van de volgende berekening, berekend op basis van Dag (over de hele tabel):
RUNNING_SUM([Count Days Record Broken])
Wanneer u het uiteindelijk berekende veld aan de weergave toevoegt op de plaats van AVG(Close), krijgt u zoiets als dit:
Ga verder naar Tips voor het maken van berekeningen
Ook in deze serie:
De basisprincipes van berekeningen in Tableau(Link wordt in een nieuw venster geopend)
Berekeningstypen in Tableau(Link wordt in een nieuw venster geopend)