Wat is zelf in Python: voorbeelden uit de echte wereld
Wat is zelf in Python: voorbeelden uit de echte wereld
Telkens wanneer u een uitleg hebt gehoord over het gebruik van LuckyTemplates DAX-variabelen, heeft u wellicht de uitdrukking "variabelen zijn constanten" gehoord. Het lijkt eenvoudig, maar er zit behoorlijk wat nuance en complexiteit in deze woorden. In deze blog laat ik je zien wat deze zin betekent en wat de implicaties zijn voor hoe je metingen worden berekend. Het begrijpen van deze concepten is essentieel om ervoor te zorgen dat uw maatregelen de gewenste resultaten opleveren. Je kunt de volledige video van deze tutorial onderaan deze blog bekijken.
Een variabele binnen DAX kan eigenlijk elke geldige DAX-expressie zijn. Het kan een waarde zijn, een berekening, een meting of een variabele die een tabel vertegenwoordigt, een andere variabele of een combinatie van die dingen.
Een variabele bestaat uit twee delen. Er is de declaratie waarin u de variabele initialiseert; je geeft het een naam en dan een waarde. De andere is de RETURN- instructie, die vervolgens ten minste één van de variabelen aanroept die u declareert. Het is niet zoals een haakje waarbij je één RETURN-instructie voor elke variabele moet hebben, maar je moet ten minste één RETURN-instructie hebben als je variabelen hebt gedeclareerd.
De sleutel hier is dat, zoals ik al eerder zei, variabelen constant zijn. Wat dat betekent is dat zodra variabelen aan een waarde zijn toegewezen, die waarde niet kan veranderen vóór de RETURN-instructie .
Inhoudsopgave
LuckyTemplates DAX-variabelen toepassen op metingen
Laten we eens kijken naar een eenvoudig voorbeeld waar ik Landen en Totale Verkoop heb. De Total Sales- maatstaf is slechts onze meest basale maatstaf, namelijk de van Line Sales binnen de Sales-tabel.
Laten we zeggen dat we de totale verkoop voor het jaar 2020 willen hebben. In deze dataset hebben we de verkoop voor 2019, 2000 en 2021. Om de verkoop voor 2020 te krijgen, moeten we een heel eenvoudige filtervoorwaarde toepassen, dat is . Dus veranderen we onze filtercontext. We hebben onze Total Sales-maatstaf en dan is ons jaar 2020.
Als we die maat in de tabel laten vallen, krijgen we precies wat we verwachten, en dat is het juiste aantal voor 2020.
Als we hier nu variabelen op willen toepassen, is hier een enigszins herziene versie van de vorige meting, waar ik een variabele met de naam TotSales heb gemaakt en die gelijk heb gesteld aan onze Total Sales-maatstaf.
Als we erover nadenken vanuit het standpunt van algebraïsche substitutie, als we gewoon vervangen wat voorheen onze Total Sales-maatstaf was hier voor TotSales, wat gelijk is aan die Totale Verkoop-maatstaf, dan zult u denken dat het hetzelfde zou kunnen zijn en hetzelfde produceren resultaat. Maar als we een kijkje nemen, en we laten die maat in onze tabel vallen, dan zien we dat het niet hetzelfde resultaat oplevert.
De variabele TotSales wordt gedeclareerd en die krijgt de waarde van de totale verkoop. Stel dat we in de Moldavische rij staan, en die variabele krijgt de waarde van 2,35 miljoen. Onthoud nu dat de waarde pas kan veranderen nadat de RETURN-instructie is aangeroepen. Dus als we naar beneden gaan om onze meting in de variabele RESULT te berekenen , hebben we TotSales, wat een constante is van 2,35 miljoen.
En dan passen we onze filtercontext erop toe, Dates[Year] is gelijk aan 2020 , maar dat maakt niet uit, want die constante kan niet veranderen. We zouden dus kunnen zeggen dat Dates[Year] gelijk is aan 2019, 2021, enzovoort, het zal nog steeds dezelfde 2,35 miljoen zijn, omdat TotSales nu als een constante is vastgelegd tot de RETURN .
En als het terugkeert, gaan we naar de volgende rij en neemt de variabele de waarde van Nederland op (4,4 miljoen). Het proces herhaalt zich en vergrendelt dat als een constante tot de RETURN-instructie. Wat we krijgen is precies wat we hebben in de Total Sales-maatstaf, niet in de maatstaf die naar 2020 filtert.
En dus zou je kunnen denken dat dat eigenlijk niet erg nuttig lijkt. In deze context is dat niet zo. Dit is eigenlijk een veelgemaakte fout wanneer mensen voor het eerst variabelen gaan gebruiken . Ze plaatsen de variabele in het eerste uitdrukkingsgedeelte van de CALCULATE-instructie. Dat geeft meestal niet het resultaat waarnaar ze op zoek zijn, omdat het dat vastzet als een constante waarde.
LuckyTemplates DAX-variabelen gebruiken binnen Iterators
Variabelen komen echt tot hun recht als je ze in iterators plaatst. Ik ga je door deze zaak heen praten, die een eerdere waarde is. We zoeken een datum, en dan een eerdere waarde onder een aantal voorwaarden.
Onthoud dat de manier waarop u dit vroeger moest doen voordat variabelen naar DAX kwamen, was via een functie met de naam . Maar nu werken variabelen eigenlijk zo goed in deze context. Met variabelen wordt het ten zeerste aanbevolen om die EERDER-functie nooit meer te gebruiken.
Laten we dus eens kijken naar een complexer voorbeeld, waar we variabelen in het iteratorgedeelte hebben in plaats van in het uitdrukkingsgedeelte. Hieronder is eigenlijk een geval van een vraag die opkwam op het waarin het lid naar elke datum binnen een bereik wilde kijken, en vervolgens de eerste eerdere datum wilde bedenken die geen weekend of feestdag was.
Ik wil vooral focussen op dinsdag 15 oktober als het belangrijkste voorbeeld. Het gewenste resultaat was om naar die datum te kijken. Maandag was Columbus Day, dus het was een feestdag, daarna waren de volgende dagen zondag en zaterdag. En dus was de datum die we wilden hebben 11 oktober, wat de vrijdag was.
Als je daarvoor naar de kolom Vorige dag/Geen weekend/Geen feestdag kijkt, was dinsdag de 11e. Hetzelfde gold voor maandag, zondag en zaterdag. Dat is wat we als resultaat willen bereiken.
Naast de bovenstaande tabel staat de maatstaf die we voor dit casusscenario hebben gebruikt. We hebben een variabele gedeclareerd die de geselecteerde datum was ( VAR SelDate ), en dat was gewoon van de datum. Het zou 15 oktober oppikken in onze variabele en dat dan als een constante vasthouden tot de RETURN-instructie.
Vervolgens evalueren we de DAX van buiten naar binnen. Als we naar de filtervoorwaarde kijken, worden filters op datums verwijderd en vervolgens wordt een reeks aanvullende filters ingesteld. Het neemt die constant geselecteerde datum, 15 oktober, en het zegt: geef me alle data daarvoor. En zorg er vervolgens voor dat geen van die datums een zaterdag, zondag of feestdag is. Vervolgens is het van de datums nodig die zijn gefilterd.
Je kunt hier zien dat het hebben van geselecteerde gegevens als een constante een soort inzet in de grond is waarop alle andere datums ervoor of erna worden geëvalueerd.
We hebben onze geselecteerde datum en dan filteren we alles wat daarvoor is. We nemen het maximum van die gefilterde tabel. En dus, wat we krijgen is het maximum op de 15e als we al die andere voorwaarden eruit halen, is die vrijdag de 11e. Als we dan naar de RETURN-verklaring gaan, begint het opnieuw met de volgende dag, de 16e. Het gaat gewoon door met het doorlopen van de tabel totdat het aan het einde van de gegevens komt.
Zoals u in dit geval kunt zien, werkt het precies zoals gepland als we variabelen in het iteratorgedeelte plaatsen in plaats van het uitdrukkingsgedeelte. Het maakt gebruik van het feit dat variabelen constanten zijn.
Variabelen gebruiken in LuckyTemplates - Een gedetailleerd voorbeeld
Hoe u uitgebreide DAX-formules in LuckyTemplates kunt verwerken - Opmaaktips Inclusief
DAX-variabelen en opmerkingen om formules te vereenvoudigen
Conclusie
In deze blog heb ik je laten zien hoe je LuckyTemplates DAX-variabelen toepast in een meting en hoe het werkt wanneer variabelen in het iteratorgedeelte van een meting worden geplaatst.
Ik hoop dat deze voorbeelden de uitdrukking "variabelen zijn constant" verklaren, waardoor u misschien enig inzicht krijgt in waarom uw maatregelen lijken te werken en soms niet. Ik hoop dat dit u enig algemeen begrip geeft van wat dat belangrijke concept betekent.
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