Ce este Sinele în Python: Exemple din lumea reală
Ce este Sinele în Python: Exemple din lumea reală
Vă voi arăta cum să creați departajări personalizate atunci când utilizați RANKX în LuckyTemplates .
Obținerea unei egalități într-o porțiune critică a rezultatelor este un scenariu comun. Există o serie de departajari pe care le poți folosi, dar este important să-l alegi pe cel care are cel mai mult sens pentru fiecare situație. Puteți urmări videoclipul complet al acestui tutorial în partea de jos a acestui blog.
Cuprins
Rolul RANKX în LuckyTemplates
Am un obicei de a compara funcțiile DAX cu locurile de muncă din viața reală. Acest lucru mă ajută să asociez fiecare funcție cu ceea ce face în LuckyTemplates.
RANKX evaluează și pune în ordine elementele în funcție de un set specific de criterii. În lumea reală, poate fi comparat cu un judecător dintr-o expoziție canină care le cere participanților să se alinieze în consecință.
În scenariul pe care îl voi folosi astăzi, voi folosi RANKX ca judecător pentru un concurs de vânzări ipotetic. Datele implică numere de la o echipă de vânzări, iar premiul revine persoanei cu cele mai mari vânzări totale pentru luna respectivă .
Pentru a menține lucrurile interesante, să presupunem că premiul 1 este un Cadillac El Dorado, în timp ce premiul 2 este un set de cuțite pentru friptură. Acesta este un decalaj uriaș de valoare, ceea ce înseamnă că ar putea exista doar un câștigător.
Privind la tabelul meu, am o listă cu fiecare agent de vânzări din echipa de vânzări.
Voi adăuga datele pentru vânzările totale ale fiecărei persoane .
Aceasta este măsura RANKX pe care o aplic acestui tabel.
Este doar o configurație de bază RANKX care folosește , astfel încât să nu ajung să includ Total atunci când sortez rangurile.
al vânzătorilor este clasat pe baza vânzărilor totale . Acestea sunt aranjate în ordine DESC . Aici, folosesc Skip în cazul în care există o egalitate.
Unii pot folosi Dense în loc de Skip , dar în acest caz, niciunul nu ajută de fapt.
Skip versus Dens
Pentru a demonstra modul în care Skip afectează măsura, voi trage și plasez Ranking-urile în tabel.
Apoi, voi sorta datele în funcție de Rank .
Tabelul arată o egalitate pentru locul 1. Dar nu a fost o lună grozavă pentru echipa de vânzări, așa că managerul nu își permite să ofere 2 Cadillac El Dorados. Asta înseamnă că trebuie să vin cu un departajare pentru a decide cine primește mașina și cine primește cuțitele pentru friptură.
Jasper și Max sunt în frunte, la egalitate la numărul 1. Deoarece am folosit Skip, veți vedea că rangul sare la 3 după cei doi 1 în frunte . Acest lucru nu funcționează pentru mine pentru că încă mă lasă cu 2 câștigători.
Ce se întâmplă dacă folosesc Dense în loc de Skip ?
Dacă folosesc Dense , cravata în sine nu este afectată. Dar în loc de numărul 3 după egalitate, arată numărul 2 .
Evident, Dense nu funcționează nici în acest caz. Aceasta înseamnă că ar trebui să aplic un departajare personalizat.
Alegerea unui Tiebreaker personalizat
Un bun departajare personalizat este definit de două caracteristici principale.
În primul rând, trebuie să diferențieze în mod semnificativ elementele legate. Trebuie să fie un factor care să separe cele două sau mai multe elemente care sunt legate.
În al doilea rând, nu ar trebui să modifice rangul sau ordinea elementelor care nu sunt legate.
Gândindu-ne la aceste două aspecte, este ușor să vină cu o serie de departajari.
Vânzările totale sunt factorul nostru principal de clasare.
Așa că trebuie să mă gândesc la alți factori care ar putea fi folosiți pentru a rupe egalitatea cauzată de datele similare de pe primele 2 rânduri.
Numărul vânzărilor ar putea fi unul. Cine se agita cel mai mult? Cine a primit cel mai mare număr de clienți?
De asemenea, este posibil să vă uitați la vânzarea maximă verificând cine a obținut cele mai mari conturi.
Aș putea să mă uit și la vânzările medii.
În acest caz, am decis să merg cu Median Sales . Nu este la fel de influențat de valorile aberante care provin fie de la nivelul înalt, fie de la cel de jos. Aceasta înseamnă că poate oferi o măsură mai bună a tendinței centrale.
Crearea unui departajare personalizat
Există o cantitate destul de mare de DAX în crearea departajarii, dar conceptul este simplu.
Am Ranking2 ca variabilă. De asemenea, am folosit HASONEVALUE din același motiv pentru care l-am folosit mai devreme în modelul RANKX primar . Singura diferență aici este că de data aceasta folosesc Vânzări medii în loc de Vânzări totale .
În continuare, iau rezultatul acelei variabile și îl împart la 100.
Deoarece am numere întregi în vânzările mele totale, pot juca cu prima și a doua zecimală pentru a sparge egalitatea. Împărțirea la o sută duce numerele dincolo de virgulă zecimală, astfel încât să diferențieze numerele legate de deasupra fără a afecta restul rezultatelor.
Acest lucru ne lasă în primele rânduri care arată 0,01, 0,02 și așa mai departe. Așa că o să răsturn asta, astfel încât clasamentul de sus să obțină cel mai mare scor la departajare.
Deci, în HASONEVALUE , voi scădea RankScale din 1 .
Când aplic asta la tabel, veți vedea că acum am două zecimale sub RANKX Tiebreaker .
De asemenea, voi trage vânzările mele mediane în tabel pentru a vă arăta mai clar impactul departajarii noastre.
Privind aceste cifre, arată de fapt că nici Max, nici Jasper nu au obținut cele mai mari scoruri. Era de fapt Martin Perry.
Dar amintiți-vă că acesta este doar un departajare , iar vânzările totale rămân în continuare ca factor principal de clasare . Aceasta înseamnă că ar trebui să compar doar numerele pentru rândurile legate .
Așa că voi adăuga doar vânzările mele totale și RANKX Tiebreaker pentru a obține cifrele pentru coloana Total Sales Tiebreak .
Voi rula RANKX pe noile vânzări totale cu departajarea aplicată și voi sorta datele.
Acum, arată o rulare completă de la 1 la n fără elemente legate.
Utilizarea funcției RAND pentru a rupe legăturile
Pot exista cazuri în care un număr generat aleatoriu poate servi drept departajare.
Un exemplu ar fi dacă doriți un focus grup care să includă o selecție aleatorie din primii 20 de vânzători. Dacă există legături în cadrul grupului, este rezonabil să folosiți doar un număr aleatoriu ca departajare.
Dar problema cu Power Query și DAX în general este că funcțiile aleatoare se comportă diferit . Nu veți obține rezultatele pe care le așteptați, mai ales dacă utilizați într-o funcție de iterare.
RAND returnează un număr aleator între 0 și 1 . Deci, dacă decideți că scenariul la care lucrați are nevoie de un număr generat aleatoriu pentru a sparge egalitatea, în mod ideal ar fi făcut în această parte a măsurii.
În loc de doar Vânzări totale , aceasta ar trebui să arate Vânzări totale plus RAND . Dar din nou, în acest scenariu special, nu îmi va oferi rezultatul final de clasament de care am nevoie.
Considerații RANKX – Concepte de formule LuckyTemplates și DAX
O înțelegere mai profundă a RANKX avansat
Crearea tabelelor de clasare dinamică folosind RANKX în LuckyTemplates
Concluzie
După cum ați văzut în acest exemplu, ruperea egalității atunci când utilizați RANKX în LuckyTemplates este destul de ușoară. Trucul constă în a afla care departajare personalizată oferă cele mai logice rezultate.
Voi face mai multe tutoriale despre alte departajari în viitor, în special despre utilizarea RAND într-un scenariu de eșantionare. Cred că merită o privire mai profundă.
Între timp, sper că folosirea acestei abordări funcționează pentru dvs. dacă lucrați la un scenariu similar în acest moment sau dacă întâlniți așa ceva în viitor.
Toate cele bune
***** Învățați LuckyTemplates? *****
Ce este Sinele în Python: Exemple din lumea reală
Veți învăța cum să salvați și să încărcați obiecte dintr-un fișier .rds în R. Acest blog va trata, de asemenea, cum să importați obiecte din R în LuckyTemplates.
În acest tutorial despre limbajul de codare DAX, aflați cum să utilizați funcția GENERATE și cum să schimbați în mod dinamic titlul unei măsuri.
Acest tutorial va acoperi cum să utilizați tehnica Multi Threaded Dynamic Visuals pentru a crea informații din vizualizările dinamice de date din rapoartele dvs.
În acest articol, voi trece prin contextul filtrului. Contextul de filtrare este unul dintre subiectele majore despre care orice utilizator LuckyTemplates ar trebui să învețe inițial.
Vreau să arăt cum serviciul online LuckyTemplates Apps poate ajuta la gestionarea diferitelor rapoarte și informații generate din diverse surse.
Aflați cum să vă calculați modificările marjei de profit folosind tehnici precum măsurarea ramificării și combinarea formulelor DAX în LuckyTemplates.
Acest tutorial va discuta despre ideile de materializare a cache-urilor de date și despre modul în care acestea afectează performanța DAX-ului în furnizarea de rezultate.
Dacă încă utilizați Excel până acum, atunci acesta este cel mai bun moment pentru a începe să utilizați LuckyTemplates pentru nevoile dvs. de raportare a afacerii.
Ce este LuckyTemplates Gateway? Tot ce trebuie să știți