Werken met herhalende functies in DAX

Werken met herhalende functies in DAX

Ik heb wat verwarring gezien met herhalende functies in DAX wanneer ik met LuckyTemplates-leden in het forum werk. We zullen dus bekijken wat u kunt bereiken met deze functies en waarom u ze zou moeten gebruiken. Je kunt de volledige video van deze tutorial onderaan deze blog bekijken.

Naarmate u zich meer verdiept in DAX- formules, zult u deze herhalende functies veel vaker gebruiken dan u denkt. Ze zijn veel veelzijdiger dan eenvoudige aggregatiefuncties zoals SUM of AVERAGE .

Ik heb hier enkele voorbeelden en ik wil de logica in elk van deze voorbeelden doornemen, zodat je een heel goed begrip kunt krijgen van wat er werkelijk gebeurt als logica via deze formules wordt uitgevoerd.

Het belangrijkste van itererende functies is dat ze ergens doorheen itereren.

Inhoudsopgave

Eenvoudige iteratie met behulp van SUMX

Werken met herhalende functies in DAX

In dit geval wil ik iets opsommen, maar wil ik elke rij in deze verkooptabel herhalen.

Werken met herhalende functies in DAX

En dan wil ik bij elke afzonderlijke rij deze specifieke logica hier uitvoeren.

Werken met herhalende functies in DAX

Laten we snel naar onze zeer eenvoudige tabel Sales gaan, waar ik wat logica wil uitvoeren op elke afzonderlijke rij. En dan wil ik Hoeveelheid vermenigvuldigen met Prijs.

Werken met herhalende functies in DAX

De prijs bestaat niet in deze tabel. En voor dit specifieke model staat het eigenlijk in de producttabel.

Werken met herhalende functies in DAX

Het volgende dat ik moet doen, is teruggaan naar mijn producttabel en dat kan ik doen met GERELATEERD . Wanneer we de hoeveelheid maal de relevante prijs berekenen, doen we dit voor elke afzonderlijke rij. Dit is precies wat er in deze formule gebeurt.

Dit zijn de belangrijkste concepten om te onthouden wanneer we meer geavanceerde dingen gaan doen.

Een alternatieve benadering om verkoop binnen te halen met SUMX

Werken met herhalende functies in DAX

In dit voorbeeld laat ik SUMX de tabel Sales opnieuw doorlopen. Dus we voeren die logica in elke afzonderlijke rij uit en berekenen de hoeveelheid maal prijs in elke afzonderlijke rij en tellen deze vervolgens op zodra alle iteraties zijn voltooid.

Werken met herhalende functies in DAX

Je zult hier zien dat dit resultaat exact hetzelfde is als de resultaten in het eerste voorbeeld (SUMX Tutorial 2) of de Total Sales.

Je kunt hier een hele reeks verschillende dingen in plaatsen - het kan een maat zijn en je kunt vertakken met een herhalende functie. U hoeft niet naar specifieke kolommen te verwijzen om de berekeningen daadwerkelijk correct te krijgen.

Werken met herhalende functies in DAX

Zoals je hier kunt zien, heb ik hier alleen een meting (Totale verkoop) geplaatst en krijg ik precies hetzelfde resultaat.

SUMX en logische functies

Werken met herhalende functies in DAX

Ik gebruik hier SUMX , maar het is ook relevant voor AVERAGEX , MINX en MAXX . Het zijn allemaal erg vergelijkbare dingen.

Een ander belangrijk ding om te onthouden met deze itererende functies is dat ze logica uitvoeren op elke rij en dat het resultaat in het geheugen wordt opgeslagen.

Zodra al deze waarden in het geheugen zijn opgeslagen, is de overkoepelende berekening klaar – zoals een SOM of een GEMIDDELDE .

Werken met herhalende functies in DAX

Terug naar ons voorbeeld, je ziet hier dat het bedrag in deze kolom iets lager is dan in de voorgaande kolommen.

Werken met herhalende functies in DAX

Met de herhalingsfunctie SUMX wil ik elke afzonderlijke rij in de tabel Verkoop doorlopen. En in elke rij wil ik berekenen of die bepaalde verkoop groter is dan $ 2.000. Als dat zo is, wil ik de totale verkoop voor die rij berekenen. Maar als het totaal van de verkoop minder dan $ 2000 was, dan wil ik nul retourneren. Dus ik wil alleen de verkoop met een hogere waarde berekenen.

Sommige mensen zullen suggereren dat ik de logica gewoon in een berekende kolom zou kunnen plaatsen. Maar dat willen we niet doen, omdat er een veel betere manier is om deze logica binnen DAX uit te voeren in plaats van deze fysiek in een kolom te plaatsen.

Itereren door tabellen

Dit is waar itererende functies serieus verbazingwekkend zijn. U kunt niet alleen een fysieke tabel doorlopen zoals we eerder deden, maar u kunt ook een andere virtuele tabel doorlopen die u als parameter invoert.

Werken met herhalende functies in DAX

We gaan ervan uit dat elk resultaat hier een specifieke context heeft. In dit specifieke geval hebben we de klantcontext.

Werken met herhalende functies in DAX

In deze context wil ik elke afzonderlijke locatie doorlopen en wil ik zien of een bepaalde klant een omzet van meer dan $ 5.000 heeft bereikt.

Als dat het geval is, wil ik de totale verkoop berekenen. Maar als dat niet het geval is, wil ik dat het nul retourneert.

Werken met herhalende functies in DAX

Dus in dit specifieke geval bereken ik de hoogwaardige locaties waar deze klant koopt en de totale omzet die ze op die locaties realiseren.

Werken met herhalende functies in DAX

Wat VALUES hier doet, is het creëren van een virtuele tafel. Dus SUMX werkt hier niet eens aan iets fysieks. Het werkt eigenlijk aan iets dat totaal virtueel is.

Eenvoudige iteratie met behulp van MINX

Werken met herhalende functies in DAX

Dit is vergelijkbaar met de vorige voorbeelden, maar in plaats van SUMX gaan we een ander type aggregatie uitvoeren zodra we elke afzonderlijke rij doorlopen.

Werken met herhalende functies in DAX

In dit specifieke geval schrijven we elke locatie voor elke klant door en berekenen we de totale verkoop voor elk van die locaties.

Werken met herhalende functies in DAX

Dan willen we het minimale bedrag teruggeven van de locatie waar ze hebben gekocht.

Eenvoudige iteratie met behulp van MAXX

Werken met herhalende functies in DAX

Ik doe hier ook iets soortgelijks om je de veelzijdigheid van herhalende functies te laten zien. Ik doorloop elke afzonderlijke locatie en kijk naar hun verkopen, maar geef dan het maximum van die locatieverkopen terug, daarom zien we hier hogere cijfers.

Conclusie

Het belangrijkste dat ik in dit artikel wilde bespreken, is het scala aan opties dat je hebt binnen een herhalende functie versus een eenvoudige som of een gemiddelde.

Zodra u zich gaat verdiepen in complexere berekeningen, zult u zien hoe essentieel deze specifieke functies zijn om waarden op contextniveau te retourneren.

Er is zoveel veelzijdigheid en zoveel manieren waarop je deze berekeningen kunt uitvoeren met een eenvoudige formule als je maar weet hoe je de parameters moet manipuleren.

Als je het leuk vond om meer te weten te komen over deze itererende functies , kun je door deze links bladeren voor meer informatie over dit onderwerp:

Sleutelconcepten voor herhalende functies in LuckyTemplates

Logica itereren via virtuele tabellen: geavanceerde DAX-concepten in LuckyTemplates

Geniet ervan om deze door te werken.


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