Wat is zelf in Python: voorbeelden uit de echte wereld
Wat is zelf in Python: voorbeelden uit de echte wereld
Ik heb ontdekt dat de meeste mensen in de war raken als het gaat om het begrijpen van hoe DAX werkt in rijcontext . Dit komt omdat rijcontext behoorlijk ingewikkeld en onnodig ingewikkeld kan zijn. In dit artikel gaan we het dus hebben over rijcontext . Je kunt de volledige video van deze tutorial onderaan deze blog bekijken.
De manier waarop ik over rijcontext denk, is door middel van iteraties of itererende functies . Zodra ik dat onderscheid in mijn hoofd had gemaakt, was het logischer in termen van wat er werkelijk aan de hand was in de rekenmachine.
Als samenvatting hebben we besproken dat er drie soorten contexten zijn: de evaluatiecontext , de filtercontext en de rijcontext .
Elke DAX-berekening werkt in twee stappen. De evaluatiecontext gaat altijd eerst en vertakt zich vervolgens in filtercontext of rijcontext, afhankelijk van welke functie u schrijft.
Inhoudsopgave
Rijcontext begrijpen
Bij rijcontext draait alles om herhalen.
Ik ga je een paar voorbeelden laten zien en hopelijk zal dit je helpen om te begrijpen wat rijcontext eigenlijk doet in de backend.
Rijcontext versus filtercontext
In ons voorbeeld wordt de formule berekend via filtercontext omdat het een eenvoudige aggregatie is. Het somt de volledige kolom Hoeveelheid op nadat alle initiële filters zijn geplaatst.
Het initiële filter in de tabel Verkoop is Product 1. Door elke verkochte hoeveelheid op te tellen, krijgen we 165.
Nu ga ik je laten zien hoe je precies hetzelfde resultaat krijgt, maar op een heel andere manier berekend. Eerst ga ik een nieuwe meting maken voor Aantal Verkochte Iteratie met behulp van een herhalende formule.
Voorbeelden van itererende functies zijn SUMX , AVERAGEX , MANYX en COUNTX . In dit geval gaan we SUMX gebruiken .
De SUMX- functie heeft me gevraagd om een tabel in te voeren, dus ik ga de verkooptabel invoeren. En toen vroeg het me om een uitdrukking, dus die heb ik gewoon in de kolom Hoeveelheid gezet.
Deze functie is heel anders dan de eerste functie, maar ik krijg precies hetzelfde resultaat als ik het naar binnen sleep.
We krijgen hier precies dezelfde resultaten omdat het uiteindelijk dezelfde berekening is. Het is alleen op een andere manier berekend.
De iteratie van de verkochte hoeveelheid is berekend met behulp van rijcontext , terwijl de totale verkochte hoeveelheid is berekend met behulp van filtercontext .
Het berekenen van de verkochte hoeveelheid iteratie met behulp van rijcontext
Laten we nu stap voor stap bekijken hoe de Aantal Verkochte Iteratie wordt berekend. Ten eerste moet u onthouden dat u de initiële waarderingscontext verlaat, in dit geval Product 1. En dan herhalen we via rijcontext elke afzonderlijke rij in de tabel die we specificeren.
In dit geval specificeren we de tabel Verkoop en vervolgens gaan we elke afzonderlijke rij in de kolom Hoeveelheid bekijken.
Tijdens de eerste evaluatie zou product 1 worden bepaald door wat er in de kolom Product-ID is gefilterd. En dan telt het de rijen onder de kolom Hoeveelheid op. Elke keer dat het een rij raakt, gaat het naar binnen en slaat het resultaat op in het geheugen.
Nadat het de onderkant van de tabel heeft bereikt, gaat het een evaluatie uitvoeren van alle resultaten die in het geheugen zijn opgeslagen, en dan zal het elke berekening uitvoeren die u erom vraagt, wat in dit geval SUMX is .
Waarom een rijcontext of een herhalende functie gebruiken?
Dit komt omdat je binnen een itererende functie veel complexere dingen kunt doen. Je kunt er een aantal zeer geavanceerde logica in schrijven.
Voor elke rij in de tabel Verkoop wordt de hoeveelheid bijvoorbeeld vermenigvuldigd met 2. U ziet nu dat hetzelfde berekeningsproces plaatsvindt, maar we krijgen verschillende resultaten.
Dit komt omdat we voor elke afzonderlijke rij een andere logica schrijven. Nadat we elke rij in de hoeveelheidskolom hebben doorlopen, vermenigvuldigen we de waarde met twee en wordt deze in het geheugen opgeslagen. Aan het einde daarvan doen we een SUM .
We kunnen hier ook verschillende dingen schrijven, waaronder geavanceerde logica zoals de IF- of SWITCH -logica.
Er zijn heel veel voorbeelden waarbij het beter zou zijn om een herhalende functie of rijcontext te gebruiken om een berekening uit te voeren in plaats van een aggregatiefunctie of filtercontext .
Belangrijke opmerkingen over het begrijpen van contexten in LuckyTemplates
Om alle belangrijke dingen over context samen te vatten, onthoud dat het berekenen in DAX in twee stappen werkt. De eerste stap is altijd de evaluatiecontext . Het maakt zoveel uit wat de evaluatiecontext is.
Als u eenmaal begrijpt wat de evaluatiecontext is voor elk individueel resultaat, vertakt DAX zich op twee verschillende manieren. Het kan berekenen via filtercontext of via rijcontext.
Het kiezen van de te gebruiken context hangt af van de formule die u schrijft. Dus als u een eenvoudige aggregatieformule schrijft , zal deze deze gaan berekenen via filtercontext . Maar als u een itererende functie zoals SUMX schrijft, berekent deze de formule via rijcontext .
Zodra u iets geavanceerder wordt in DAX, kunt u meerdere contexten in dezelfde functie hebben. Maar voordat je daar komt, moet je echt begrijpen wat context in zijn eenvoudigste vorm is.
Conclusie
Het begrijpen van de soorten context is absoluut cruciaal als u DAX leert en meer geavanceerd werk wilt doen. Wanneer u begint met het schrijven van echt geavanceerde DAX-formules, werken er meerdere contexten tegelijkertijd en moet u begrijpen wat elk afzonderlijk onderdeel van die formule doet om de gewenste resultaten te bereiken.
Hier volgen enkele aanbevolen links voor meer informatie over de toepassing van rijcontext in LuckyTemplates:
Evaluatiecontext – (1.8) Ultieme beginnershandleiding voor DAX
Filtercontext – (1.9) Ultieme beginnershandleiding voor DAX
Geniet ervan om deze door te werken.
Wat is zelf in Python: voorbeelden uit de echte wereld
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.
In deze tutorial over DAX-coderingstaal leert u hoe u de functie GENERATE gebruikt en hoe u de titel van een maat dynamisch wijzigt.
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.
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.
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.
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.
Deze tutorial bespreekt de ideeën van materialisatie van datacaches en hoe deze de prestaties van DAX beïnvloeden bij het leveren van resultaten.
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