Het verschil tussen SUM versus SUMX in LuckyTemplates

Het verschil tussen SUM versus SUMX in LuckyTemplates

Er is nog steeds veel verwarring over het verschil tussen en in LuckyTemplates. Dit is belangrijke kennis die gebruikers moeten beheersen, omdat beide functies in verschillende scenario's kunnen worden gebruikt, maar er zijn gevallen waarin de ene efficiënter is dan de andere. Je kunt de volledige video van deze tutorial onderaan deze blog bekijken.

Ik ga me concentreren op één voorbeeld dat het verschil tussen de twee laat zien. Maar voordat ik op dat voorbeeld inga, is het belangrijk om het verschil te begrijpen tussen een aggregatiefunctie en een herhalende functie.

Inhoudsopgave

Aggregators versus iterators

Als het op DAX aankomt, zijn er twee soorten berekeningsengines: de aggregators en iterators.

Aggregerende functies omvatten SOM , , , en . Iterators daarentegen zijn functies met een X aan het einde, zoals SUMX .

Itererende functies doorlopen elke afzonderlijke rij van een tabel om logica aan elk van deze rijen toe te voegen.

Aggregerende functies kijken naar de volledige kolom die overblijft nadat de context in een formule is geplaatst. Van daaruit wordt een enkele aggregatie uitgevoerd voor de hele kolom in één keer.

SUM als aggregator

Hoe wordt SUM gebruikt als aggregator?

Het verschil tussen SUM versus SUMX in LuckyTemplates

In dit voorbeeld ga ik de totale opbrengst berekenen in de gegeven voorbeeldgegevens.

De context is hier altijd belangrijk. In dit geval is elke specifieke datum de context van elk specifiek resultaat.

Het verschil tussen SUM versus SUMX in LuckyTemplates

Als ik dieper in deze tabel graaf, zal blijken dat er een directe relatie is die voortvloeit uit de datum die naar de verkooptabel gaat .

Het verschil tussen SUM versus SUMX in LuckyTemplates

Als ik dan kijk naar de gegevens die onder dit model werken, dan past alles zo in elkaar.

Het verschil tussen SUM versus SUMX in LuckyTemplates

De relatie is hier dus gekoppeld aan de kolom Besteldatum. Zodra specifieke datums uit deze kolom zijn gefilterd, worden de overeenkomstige resultaten weergegeven onder de kolom Opbrengst.

Van daaruit zou de SUM slechts één grote berekening van de gefilterde resultaten doen.

SUMX als iterator

Nu ga ik SUMX gebruiken op dezelfde voorbeeldgegevens, zodat u het verschil kunt zien. Ik kan die omzet eigenlijk berekenen zonder de kolom Opbrengst aan te raken.

Wanneer de SUMX-functie wordt gebruikt, zal deze altijd om een ​​tabel vragen. Merk op dat hier zowel een fysieke tafel als een virtuele tafel kan worden gebruikt.

Het verschil tussen SUM versus SUMX in LuckyTemplates

Om de omzet te berekenen, ga ik de tabel Verkoop kiezen. Vervolgens plaats ik een uitdrukking, die een maat of een specifieke kolom uit die tabel kan zijn, in deze formule, zodat deze logica op elke rij kan uitvoeren. De uitdrukking, zoals hier uitgelegd, retourneert de som van een uitdrukking die voor elke rij van de tabel wordt geëvalueerd.

Het verschil tussen SUM versus SUMX in LuckyTemplates

Aangezien de voorbeeldgegevens de bestelhoeveelheid bevatten, ga ik die hier gebruiken om het totaal te krijgen. Ik ga ook de eenheidsprijs gebruiken.

Het verschil tussen SUM versus SUMX in LuckyTemplates

Zodra ik die formule naar het rapport sleep, zijn de resultaten exact hetzelfde.

Het verschil tussen SUM versus SUMX in LuckyTemplates

Natuurlijk laten ze allebei dezelfde resultaten zien omdat ze allebei gegevens afleiden uit dezelfde twee kolommen: de bestelhoeveelheid en de eenheidsprijs.

Het verschil tussen SUM versus SUMX in LuckyTemplates

Waarom de SUMX gebruiken als deze toch hetzelfde resultaat oplevert als de SUM ?

Met de SUMX wordt de logica niet alleen toegepast op een hele kolom, maar op elke afzonderlijke rij binnen die kolom. Ik zou zelfs de kolom Opbrengsten kunnen verwijderen en nog steeds specifieke resultaten kunnen ophalen.

Dus stel je voor dat die logica op elke rij wordt toegepast. Het vermenigvuldigt de bestelhoeveelheid en de eenheidsprijs voor de 1e rij en slaat die vervolgens op in het geheugen. Het doet hetzelfde met de 2e rij en alle andere rijen daarna, waarbij elk individueel resultaat wordt opgeslagen.

Dit betekent dat uiteindelijk niet de fysieke gegevens op de tafel worden gebruikt om de SUMX te berekenen, maar de resultaten die in het geheugen zijn opgeslagen .


Werken met itererende functies in DAX
Itererende functies gebruiken SUMX en AVERAGEX in LuckyTemplates
LuckyTemplates-gegevensmodel voor geavanceerde scenarioanalyse met DAX

Conclusie

Hopelijk heb ik het belangrijkste verschil tussen SUM en SUMX in LuckyTemplates kunnen uitleggen, vooral aan degenen die nog steeds onder de knie krijgen wat LuckyTemplates echt kan doen.

De vuistregel is dat als het een eenvoudig, ongecompliceerd scenario is dat kan worden opgelost door een aggregatiefunctie, SUM wordt gebruikt. Maar als er meer geavanceerde logica nodig is, gebruik dan SUMX.

SUMX is ook handig in gevallen waarin u duizenden tot miljoenen rijen heeft. Zolang de tabellen en kolommen waarnaar in uw metingen wordt verwezen aanwezig zijn, zou het gebruik van herhalende functies het proces efficiënter maken.

Al het beste,


Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Een RDS-bestand opslaan en laden in R

Een RDS-bestand opslaan en laden in R

Je leert hoe je objecten uit een .rds-bestand in R opslaat en laadt. In deze blog wordt ook besproken hoe je objecten uit R naar LuckyTemplates importeert.

First N Business Days Revisited – Een DAX-coderingstaaloplossing

First N Business Days Revisited – Een DAX-coderingstaaloplossing

In deze tutorial over DAX-coderingstaal leert u hoe u de functie GENERATE gebruikt en hoe u de titel van een maat dynamisch wijzigt.

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Deze zelfstudie behandelt hoe u de Multi Threaded Dynamic Visuals-techniek kunt gebruiken om inzichten te creëren op basis van dynamische gegevensvisualisaties in uw rapporten.

Inleiding tot het filteren van context in LuckyTemplates

Inleiding tot het filteren van context in LuckyTemplates

In dit artikel zal ik de filtercontext doornemen. Filtercontext is een van de belangrijkste onderwerpen waarover elke LuckyTemplates-gebruiker in eerste instantie zou moeten leren.

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Ik wil laten zien hoe de online service LuckyTemplates Apps kan helpen bij het beheren van verschillende rapporten en inzichten die uit verschillende bronnen zijn gegenereerd.

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Leer hoe u wijzigingen in uw winstmarge kunt berekenen met behulp van technieken zoals vertakking van metingen en het combineren van DAX-formules in LuckyTemplates.

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Deze tutorial bespreekt de ideeën van materialisatie van datacaches en hoe deze de prestaties van DAX beïnvloeden bij het leveren van resultaten.

Zakelijke rapportage met behulp van LuckyTemplates

Zakelijke rapportage met behulp van LuckyTemplates

Als u tot nu toe nog steeds Excel gebruikt, is dit het beste moment om LuckyTemplates te gaan gebruiken voor uw zakelijke rapportagebehoeften.

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten