Wat is zelf in Python: voorbeelden uit de echte wereld
Wat is zelf in Python: voorbeelden uit de echte wereld
Vandaag wilde ik een unieke techniek behandelen rond cumulatieve totalen op basis van maandelijkse gemiddelde resultaten in LuckyTemplates . Je kunt de volledige video van deze tutorial onderaan deze blog bekijken.
Om het datumbereik voor de berekening van maandelijkse gemiddelde resultaten in te stellen, gebruiken we een datumsnijder.
Een LuckyTemplates- slicer is een alternatief voor filteren , waarmee het gedeelte van de gegevensset dat in de andere visualisaties van een rapport wordt weergegeven, wordt verkleind. Een datumslicer of -filter wordt eenvoudigweg gebruikt om relatieve datumbereiken in LuckyTemplates te beperken.
Het cumulatieve totaal daarentegen wordt gebruikt om de totale som van gegevens weer te geven naarmate deze groeit met de tijd of een andere reeks of progressie.
Wanneer we bekijken , analyseren we ze gewoonlijk over een bepaalde datum of over maanden en jaren . In dit artikel gaan we cumulatieve totalen berekenen over alleen de maanden.
Het interessante aan deze specifieke techniek is dat wanneer je een context hebt van alleen de maand , je rekening moet houden met de verschillende jaren die worden geselecteerd. Dit kan gebeuren via een LuckyTemplates-datumslicerselectie of een filter op paginaniveau.
Dit specifieke voorbeeld komt voort uit een zeer interessant onderwerp op het . Bekijk dit als je meer wilt beoordelen.
Inhoudsopgave
Het probleem evalueren
Iemand wilde de cumulatieve verkopen laten zien op basis van de naam van de maand , in plaats van op maand en jaar .
Het probleem hiermee is dat de datumselectie die je hebt uiteindelijk een heel jaar beslaat.
We moeten dus analyseren hoe we hoogstwaarschijnlijk gewoon een cumulatief totaal kunnen blijven krijgen, net alsof het een geselecteerd bepaald jaar was.
Als u bijvoorbeeld januari tot en met september volgend jaar in uw datumtabel heeft, heeft u hoogstwaarschijnlijk in totaal 20 maanden. In dit geval zal het standaard Cumulatief Totaal patroon niet werken, dus zullen we het moeten herzien.
Dit is absoluut een interessant scenario en een heel goede leermogelijkheid voor iedereen rond geavanceerde DAX .
Laten we eerst eens kijken hoe het standaard cumulatief totaalpatroon eigenlijk werkt.
Het cumulatieve totale patroon bekijken
In dit voorbeeld kijken we naar een zeer generiek Sales .
Deze formule is ingesteld om de verkoop binnen het geselecteerde bereik te berekenen . De functie ALLSELECTED geeft hier voornamelijk de waarden weer op basis van het geselecteerde datumbereik in dit specifieke rapport.
En zoals je hier in deze LuckyTemplates-datumsnijder kunt zien , zitten we momenteel tussen 2 februari en 20 september .
Nu, in deze huidige contexttabel, kunnen we valideren dat de formule voor de cumulatieve verkoop helemaal goed werkt. Dit komt omdat het nog steeds de accumulatie van de totale verkoop van januari tot september berekent .
Conflict bij het gebruik van cumulatief totaalpatroon voor maandelijkse gemiddelde resultaten
Hoewel de formule Cumulatief Totaal momenteel prima werkt, kunnen er problemen optreden bij het afleiden van de berekening op basis van een datumsnijder .
Zoals te zien is in de afbeelding, heb ik het datumbereik langzaam verder uitgebreid en naar het volgende jaar gesleept.
Deze formule verzamelt de maandelijkse Total Sales , maar begint ook de accumulatie in de nieuwe maanden te brengen. Dit resulteert dus in een oneven waarde voor januari , wat eigenlijk gewoon een voortzetting is van alle voorgaande maanden .
Met andere woorden, het is correct berekenen, maar het geeft ons niet het resultaat dat we echt willen.
Wat het hier momenteel doet, is dat het begint vanaf de waarde voor januari tot en met december ; en springt dan weer terug naar januari , accumulerend vanaf december , enzovoort.
Als ik de datum gewoon weer naar buiten sleep, ziet u dat de cumulatieve verkoopwaarde gaandeweg nog verder naar beneden gaat.
En dan, als je het echt heel ver uittrekt, zul je merken dat de cumulatieve verkopen van de maanden januari tot mei allemaal 23 miljoen werden , wat eigenlijk het totaal is. Het gaat gewoon in een cyclus voor elke maand van elk jaar.
Wat we hier eigenlijk willen, is een bijgewerkt cumulatief totaal op basis van maandelijkse gemiddelde resultaten ; waarin het zou moeten beginnen met de totale verkoop van januari en zich vanaf daar zou moeten ophopen.
Om dit op te lossen is een techniek nodig die iets anders is dan u misschien denkt. We moeten er ook voor zorgen dat de totalen correct zijn en dat ze dynamisch worden aangepast voor verschillende selecties in de datumsnijder , die mogelijk afkomstig zijn van de gebruikers.
De cumulatieve maandelijkse verkoopkolom
Ik ga het resultaat van mijn formule voor dit specifieke probleem invoeren en laten zien waarom het echt werkt.
Blijkbaar zie je hier dat het altijd de maandelijkse Total Sales optelt .
Maar kijk eens wat er gebeurt als ik dit probeer uit te breiden.
Het stapelt zich altijd op vanaf januari . Het voert niet de rare berekening uit die het cumulatieve verkooppatroon doet.
Het is duidelijk dat de kolom Cumulatieve maandelijkse verkopen een logischer resultaat oplevert.
Aan de andere kant heeft het cumulatieve verkoopresultaat weinig zin vanuit het oogpunt van visualisatie.
Wat ik in mijn oplossing heb gedaan, is dat ik een nieuw patroon heb gemaakt dat ons het antwoord gaf dat we nodig hadden voor dit specifieke scenario.
Laten we nu bespreken hoe we de geboden oplossing hebben kunnen uitwerken.
Het datumbereik maken
Het maken van het datumbereik is het eerste dat we nodig hebben om de formule vast te stellen.
Om dit te creëren, hebben we een minimale datum geïnitialiseerd , die werd weergegeven door de variabele MinDate; en een maximale datum , die werd vertegenwoordigd door de MaxDate - variabele . Vervolgens hebben we de berekening voor elke variabele gemaakt met behulp van de ALLSELECTED, MIN en .
De functie ALLSELECTED haalt de context op die alle rijen en kolommen in de query vertegenwoordigt , terwijl expliciete filters en andere contexten dan rij- en kolomfilters behouden blijven . Deze functie kan worden gebruikt om visuele totalen in query's te verkrijgen.
Ondertussen retourneert de de kleinste waarde in een kolom, of tussen twee scalaire uitdrukkingen en de MAX- functie retourneert de grootste waarde.
Nadat we de minimum- en maximumdatum hadden geïnitialiseerd, konden we het datumbereik op een iets andere manier creëren dan in het patroon Cumulatief totaal .
Ik moest dit deel van de tabel opnieuw maken waar ik de maandnaam en de totale verkoop had. Dit komt omdat we het alleen binnen dit specifieke datumbereik wilden berekenen.
Dus met behulp van de functie SAMENVATTEN kon ik het datumbereik verkleinen .
De kolommen MonthName en MonthNumber toevoegen
Zoals u kunt zien, hebben we de kolom MonthName uit de tabel Dates en de kolom Sales opgenomen , wat eigenlijk de Total Sales is .
Het eerste deel van de formule wijkt momenteel behoorlijk af van het cumulatieve verkooppatroon .
Bovendien hebben we het MonthNumber aan het logische patroon toegevoegd. Dit is verkregen uit de tabel Datums . Dit zal dienen als een virtuele of denkbeeldige kolom die een waarde van 1 tot 12 zal instellen voor de maanden januari tot december .
Uit de waarden van de kolom MonthNumber kon ik het cumulatieve totaal berekenen op basis van het aantal maanden.
Het cumulatieve totaal berekenen op basis van het aantal maanden
Om specifieker te zijn, herhalen de volgende delen van de formule elke afzonderlijke rij in de opgegeven tabel.
Vervolgens wordt de kolom MonthNumber geëvalueerd als deze kleiner is dan of gelijk is aan de maximale maand van het jaar .
Dit deel berekent wat het huidige maandnummer is.
Als we ons bijvoorbeeld in de maand mei bevinden , is de waarde van MonthNumber 5 . Vervolgens herhaalt dit specifieke logische patroon binnen de deze tabel voor elke afzonderlijke rij .
Op dat moment zal het evalueren of er getallen zijn die kleiner zijn dan of gelijk zijn aan 5 . Als die er zijn, worden die meegenomen in de berekening en wordt die kolom uit de tabel behouden.
Ten slotte tellen we het aantal verkopen op .
En zo komen we bij de 11e rij hier, dat is november .
Dit onderdeel evalueerde november als 11 .
We hebben de hele tabel herhaald en geëvalueerd of de 11e van de maand kleiner is dan of gelijk is aan de huidige maand in de context, wat 11 is .
Vervolgens gaan we de verkopen optellen , die wordt weergegeven door deze specifieke kolom hier in de .
Cumulatieve totalen in LuckyTemplates zonder datums – Geavanceerde
lopende DAX-totalen in LuckyTemplates: berekenen met DAX-formule
Vergelijk cumulatieve informatie over verschillende maanden in LuckyTemplates
Conclusie
In mijn voorgestelde oplossing heb ik een combinatie van DAX-formules gebruikt, waaronder SUMX en SUMMARIZE . Maar wat u ook moet doen, is ervoor zorgen dat u deze specifieke functies verpakt met een FILTER-instructie.
Met die filteropdracht kunt u uiteindelijk het juiste cumulatieve totaal krijgen op basis van een dynamische datumlogica.
Er is een beetje te leren in deze specifieke tutorial, maar het is echt een interessante inhoud. Hopelijk kunt u enkele van deze technieken in uw eigen modellen implementeren.
Wanneer u leert hoe u veel kunt combineren in LuckyTemplates , wordt het oplossen van deze unieke scenario's absoluut haalbaar.
Succes met duiken in deze.
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