Wat is zelf in Python: voorbeelden uit de echte wereld
Wat is zelf in Python: voorbeelden uit de echte wereld
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?
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.
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 .
Als ik dan kijk naar de gegevens die onder dit model werken, dan past alles zo in elkaar.
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.
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.
Aangezien de voorbeeldgegevens de bestelhoeveelheid bevatten, ga ik die hier gebruiken om het totaal te krijgen. Ik ga ook de eenheidsprijs gebruiken.
Zodra ik die formule naar het rapport sleep, zijn de resultaten exact hetzelfde.
Natuurlijk laten ze allebei dezelfde resultaten zien omdat ze allebei gegevens afleiden uit dezelfde twee kolommen: de bestelhoeveelheid en de eenheidsprijs.
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
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