Wat is zelf in Python: voorbeelden uit de echte wereld
Wat is zelf in Python: voorbeelden uit de echte wereld
Ik ga je laten zien hoe je aangepaste tiebreaks kunt maken bij het gebruik van RANKX in LuckyTemplates .
Een gelijkspel krijgen in een cruciaal deel van resultaten is een veelvoorkomend scenario. Er zijn een aantal tiebreakers die je kunt gebruiken, maar het is belangrijk om degene te kiezen die het meest logisch is voor elke situatie. Je kunt de volledige video van deze tutorial onderaan deze blog bekijken.
Inhoudsopgave
De rol van RANKX in LuckyTemplates
Ik heb de gewoonte DAX-functies te vergelijken met banen in het echte leven. Dit helpt me elke functie te associëren met wat deze doet binnen LuckyTemplates.
RANKX evalueert en rangschikt elementen volgens een specifieke set criteria. In de echte wereld kan het worden vergeleken met een keurmeester in een hondenshow die de deelnemers vraagt om dienovereenkomstig in de rij te gaan staan.
In het scenario dat ik vandaag ga gebruiken, ga ik RANKX gebruiken als rechter voor een hypothetische verkoopwedstrijd. De gegevens bevatten cijfers van een verkoopteam en de prijs gaat naar de persoon met de hoogste totale verkoop voor de maand .
Laten we, om het interessant te houden, doen alsof de 1e prijs een Cadillac El Dorado is en de 2e prijs een set steakmessen. Dat is een enorm verschil in waarde, wat betekent dat er maar één winnaar kan zijn.
Als ik naar mijn tafel kijk, heb ik een lijst van elke verkoper in het verkoopteam.
Ik voeg de gegevens toe voor de totale verkoop van elke persoon .
Dit is de RANKX- maatstaf die ik op deze tabel toepas.
Het is gewoon een standaard RANKX- configuratie die gebruikt , zodat ik niet het totaal opneem als ik de rangen sorteer.
worden gerangschikt op basis van de totale verkoop . Deze zijn gerangschikt in DESC- volgorde. Hier gebruik ik Skip voor het geval er een gelijkspel is.
Sommigen gebruiken misschien Dense in plaats van Skip , maar in dit geval helpt geen van beide echt.
Overslaan versus dicht
Om te demonstreren hoe Overslaan de meting beïnvloedt, ga ik de Rangen naar de tabel slepen en neerzetten.
Vervolgens ga ik de gegevens sorteren op Rank .
De tabel toont een gelijkspel voor de nummer 1 plek. Maar het was geen geweldige maand voor het verkoopteam, dus de manager kan het zich niet veroorloven om 2 Cadillac El Dorado's weg te geven. Dit betekent dat ik een tiebreak moet bedenken om te beslissen wie de auto krijgt en wie de steakmessen.
Jasper en Max staan bovenaan, gedeeld op nummer 1. Omdat ik Skip heb gebruikt, zie je dat de rang naar 3 springt na de twee 1's bovenaan . Dit werkt niet voor mij omdat ik dan nog steeds 2 winnaars overhoud.
Wat gebeurt er als ik Dense gebruik in plaats van Skip ?
Als ik Dense gebruik , wordt de stropdas zelf niet beïnvloed. Maar in plaats van nummer 3 na het gelijkspel, wordt het nummer 2 weergegeven .
Blijkbaar werkt Dense ook in dit geval niet. Dit betekent dat ik een aangepaste tiebreak zou moeten toepassen.
Een aangepaste tiebreak kiezen
Een goede aangepaste tiebreak wordt bepaald door twee hoofdkenmerken.
Ten eerste moet het de verbonden elementen op zinvolle wijze differentiëren. Het moet een factor zijn die de twee of meer verbonden elementen scheidt.
Ten tweede mag het de rangorde of volgorde van de elementen die niet gebonden zijn niet veranderen.
Als je over deze twee aspecten nadenkt, is het gemakkelijk om een aantal tiebreaks te bedenken.
Totale verkoop is onze belangrijkste rankingfactor.
Ik moet dus nadenken over andere factoren die kunnen worden gebruikt om het gelijkspel te verbreken dat wordt veroorzaakt door de vergelijkbare gegevens op de bovenste 2 rijen.
Het aantal verkopen kan één zijn. Wie stottert het meest? Wie heeft het meeste aantal klanten gekregen?
Het is ook mogelijk om naar de maximale verkoop te kijken door te controleren wie de grootste accounts binnenhaalde.
Ik zou ook naar de gemiddelde verkoop kunnen kijken.
In dit geval heb ik besloten om voor de Median Sales te gaan . Het wordt niet zo beïnvloed door uitschieters die van de hoge of de lage kant komen. Dit betekent dat het een betere meting van de centrale tendens kan geven.
Een aangepaste tiebreak maken
Er zit behoorlijk wat DAX in het maken van de tiebreak, maar het concept is eenvoudig.
Ik heb Ranking2 als de variabele. Ik heb ook HASONEVALUE gebruikt om dezelfde reden dat ik het eerder in het primaire RANKX- patroon heb gebruikt. Het enige verschil hier is dat ik deze keer Median Sales gebruik in plaats van Total Sales .
Vervolgens neem ik het resultaat van die variabele en deel het door 100.
Omdat ik hele getallen in mijn totale verkoop heb, kan ik spelen met de 1e en 2e decimalen om de gelijke stand te doorbreken. Door dat door honderd te delen, worden de getallen achter de komma geplaatst, zodat de gekoppelde getallen bovenaan worden onderscheiden zonder de rest van de resultaten te beïnvloeden.
Dit laat ons achter met de hoogste rangen met 0,01, 0,02, enzovoort. Dus ik ga dat omdraaien zodat de hoogste ranking de hoogste score krijgt op de tiebreak.
Dus binnen HASONEVALUE trek ik de RankScale af van 1 .
Als ik dat op de tabel toepas, zie je dat ik nu twee decimalen onder mijn RANKX Tiebreaker heb .
Ik ga ook mijn Mediaan Sales naar de tabel slepen om je de impact van onze tiebreak duidelijker te laten zien.
Als we naar deze cijfers kijken, blijkt eigenlijk dat noch Max noch Jasper de hoogste scores behaalden. Het was eigenlijk Martin Perry.
Maar vergeet niet dat dit slechts een beslissende factor is en dat de totale verkoop nog steeds de belangrijkste rankingfactor blijft . Dit betekent dat ik alleen de getallen voor de gekoppelde rijen zou moeten vergelijken .
Dus ik zal gewoon mijn Total Sales en de RANKX Tiebreak optellen om de cijfers voor de Total Sales Tiebreak-kolom te krijgen .
Ik zal RANKX uitvoeren op de nieuwe Total Sales met de tiebreak toegepast en de gegevens sorteren.
Nu toont het een volledige reeks van 1 tot en met n zonder gekoppelde elementen.
De RAND-functie gebruiken om banden te verbreken
Er kunnen gevallen zijn waarin een willekeurig gegenereerd nummer als tiebreak kan dienen.
Een voorbeeld zou zijn als u een focusgroep wilt met een willekeurige selectie uit de top 20 verkopers. Als er gelijkspel is binnen de groep, is het redelijk om gewoon een willekeurig getal als tiebreak te gebruiken.
Maar het probleem met Power Query en DAX in het algemeen is dat willekeurige functies zich anders gedragen . U krijgt niet de resultaten die u verwacht, vooral als u gebruikt in een herhalende functie.
RAND retourneert een willekeurig getal tussen 0 en 1 . Dus als u besluit dat het scenario waaraan u werkt een willekeurig gegenereerd getal nodig heeft om de gelijke stand te doorbreken, zou dit idealiter in dit deel van de maat worden gedaan.
In plaats van alleen Total Sales , zou dit Total Sales plus RAND moeten tonen . Maar nogmaals, in dit specifieke scenario zal het me niet het uiteindelijke resultaat geven dat ik nodig heb.
Overwegingen bij RANKX – LuckyTemplates- en DAX-formuleconcepten
Een beter begrip van geavanceerde RANKX
Dynamische rangschikkingstabellen maken met behulp van RANKX in LuckyTemplates
Conclusie
Zoals je in dit voorbeeld hebt gezien, is het vrij eenvoudig om een gelijkspel te breken wanneer je RANKX in LuckyTemplates gebruikt. De kunst is om uit te zoeken welke aangepaste tiebreaker de meest logische resultaten geeft.
Ik ga in de toekomst meer tutorials geven over andere tiebreakers, vooral over het gebruik van RAND in een steekproefscenario. Ik geloof dat het de moeite waard is om dieper te kijken.
In de tussentijd hoop ik dat het gebruik van deze aanpak voor u werkt als u op dit moment aan een soortgelijk scenario werkt of als u in de toekomst zoiets tegenkomt.
Al het beste
***** LuckyTemplates leren? *****
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