Cosè il sé in Python: esempi del mondo reale
Cos'è il sé in Python: esempi del mondo reale
Ti mostrerò come creare tiebreaker personalizzati quando usi RANKX in LuckyTemplates .
Ottenere un pareggio in una parte critica dei risultati è uno scenario comune. Ci sono un certo numero di tiebreaker che puoi usare, ma è importante scegliere quello che ha più senso per ogni situazione. Puoi guardare il video completo di questo tutorial in fondo a questo blog.
Sommario
Il ruolo di RANKX in LuckyTemplates
Ho l'abitudine di confrontare le funzioni DAX con i lavori nella vita reale. Questo mi aiuta ad associare ogni funzione a ciò che fa all'interno di LuckyTemplates.
RANKX valuta e ordina gli elementi secondo uno specifico insieme di criteri. Nel mondo reale, può essere paragonato a un giudice in una mostra canina che chiede ai partecipanti di allinearsi di conseguenza.
Nello scenario che userò oggi, userò RANKX come giudice per un ipotetico concorso di vendita. I dati riguardano i numeri di un team di vendita e il premio va alla persona con le vendite totali più alte per il mese .
Per mantenere le cose interessanti, supponiamo che il primo premio sia una Cadillac El Dorado mentre il secondo premio sia un set di coltelli da bistecca. Questo è un enorme divario di valore, il che significa che potrebbe esserci un solo vincitore.
Guardando il mio tavolo, ho un elenco di tutti i venditori del team di vendita.
Aggiungerò i dati per Total Sales di ogni persona .
Questa è la misura RANKX che sto applicando a questa tabella.
È solo una configurazione RANKX di base che utilizza in modo da non includere il totale quando ordino i ranghi.
dei venditori viene classificato in base alle vendite totali . Questi sono disposti in ordine DESC . Qui, sto usando Skip nel caso ci sia un pareggio.
Alcuni potrebbero usare Dense invece di Skip , ma in questo caso nessuno dei due aiuta effettivamente.
Salta contro denso
Per dimostrare in che modo Salta influisce sulla misura, trascinerò e rilascerò i Gradi nella tabella.
Quindi, ordinerò i dati in base a Rank .
La tabella mostra un pareggio per il primo posto. Ma non è stato un grande mese per il team di vendita, quindi il manager non può permettersi di regalare 2 Cadillac El Dorados. Ciò significa che devo inventare un pareggio per decidere chi avrà la macchina e chi i coltelli da bistecca.
Jasper e Max sono in cima, pari al numero 1. Dato che ho usato Skip, vedrai che la posizione sale a 3 dopo i due 1 in cima . Questo non funziona per me perché mi lascia ancora con 2 vincitori.
Cosa succede se uso Dense invece di Skip ?
Se uso Dense , la cravatta stessa non ne risente. Ma invece del numero 3 dopo il pareggio, mostra il numero 2 .
Evidentemente Dense non funziona neanche in questo caso. Ciò significa che avrei bisogno di applicare un tiebreaker personalizzato.
La scelta di un pareggio personalizzato
Un buon tiebreaker personalizzato è definito da due caratteristiche principali.
In primo luogo, è necessario differenziare in modo significativo gli elementi legati. Deve essere un fattore che separa i due o più elementi che sono legati.
In secondo luogo, non dovrebbe alterare il rango o l'ordine degli elementi che non sono legati.
Pensando a questi due aspetti, è facile trovare una serie di spareggi.
Le vendite totali sono il nostro principale fattore di ranking.
Quindi devo pensare ad altri fattori che potrebbero essere usati per rompere il pareggio causato dai dati simili nelle prime 2 righe.
Il numero di vendite potrebbe essere uno. Chi è il più spaccone? Chi ha ottenuto il maggior numero di clienti?
È anche possibile esaminare la vendita massima controllando chi ha ottenuto i conti più grandi.
Potrei anche guardare le vendite medie.
In questo caso, ho deciso di andare con le vendite mediane . Non è così influenzato dai valori anomali provenienti dalla fascia alta o bassa. Ciò significa che può fornire una migliore misura della tendenza centrale.
Creazione di uno spareggio personalizzato
C'è una discreta quantità di DAX nella creazione del tiebreaker, ma il concetto è semplice.
Ho Ranking2 come variabile. Ho anche usato HASONEVALUE per lo stesso motivo per cui l'ho usato prima nel pattern RANKX primario. L'unica differenza qui è che sto usando Median Sales questa volta invece di Total Sales .
Successivamente, prendo il risultato di quella variabile e lo divido per 100.
Poiché ho numeri interi nelle mie vendite totali, posso giocare con la prima e la seconda cifra decimale per rompere il pareggio. Dividendolo per cento prende i numeri oltre la virgola decimale in modo da differenziare i numeri in parità in cima senza influenzare il resto dei risultati.
Questo ci lascia con i primi ranghi che mostrano 0,01, 0,02 e così via. Quindi lo capovolgerò in modo che la classifica più alta ottenga il punteggio più alto nel tie-break.
Quindi, all'interno di HASONEVALUE , sottrarrò RankScale da 1 .
Quando lo applico al tavolo, vedrai che ora ho due punti decimali sotto il mio RANKX Tiebreaker .
Trascinerò anche le mie vendite mediane nella tabella per mostrarti più chiaramente l'impatto del nostro spareggio.
Guardando questi numeri, in realtà mostra che né Max né Jasper hanno ottenuto i punteggi più alti. In realtà era Martin Perry.
Ma ricorda che questo è solo un pareggio e le vendite totali rimangono ancora il principale fattore di classifica . Ciò significa che dovrei solo confrontare i numeri per le file in parità .
Quindi aggiungerò solo le mie Total Sales e il RANKX Tiebreaker per ottenere le cifre per la colonna Total Sales Tiebreak .
Eseguirò RANKX sulle nuove vendite totali con il tiebreaker applicato e ordinerò i dati.
Ora mostra una corsa completa da 1 a n senza elementi legati.
Utilizzo della funzione RAND per rompere i pareggi
Ci possono essere casi in cui un numero generato casualmente può servire da spareggio.
Un esempio potrebbe essere se desideri un focus group che includa una selezione casuale tra i primi 20 venditori. Se ci sono pareggi all'interno del gruppo, è ragionevole usare solo un numero casuale come spareggio.
Ma il problema con Power Query e DAX in generale è che le funzioni casuali si comportano in modo diverso . Non otterrai i risultati che ti aspetti, specialmente se usi all'interno di una funzione di iterazione.
RAND restituisce un numero casuale compreso tra 0 e 1 . Quindi, se decidi che lo scenario su cui stai lavorando ha bisogno di un numero generato casualmente per rompere il pareggio, sarebbe idealmente fatto in questa parte della misura.
Invece di solo Total Sales , questo dovrebbe mostrare Total Sales più RAND . Ma ancora una volta, in questo particolare scenario, non mi darà il risultato finale della classifica di cui ho bisogno.
Considerazioni su RANKX – LuckyTemplates e concetti di formula DAX
Una comprensione più approfondita di RANKX avanzato
Creazione di tabelle di classificazione dinamiche utilizzando RANKX in LuckyTemplates
Conclusione
Come hai visto in questo esempio, risolvere un pareggio quando usi RANKX in LuckyTemplates è abbastanza semplice. Il trucco sta nel capire quale tiebreaker personalizzato dà i risultati più logici.
In futuro farò altri tutorial su altri tiebreaker, in particolare sull'utilizzo di RAND in uno scenario di campionamento. Credo che valga la pena di approfondire.
Nel frattempo, spero che l'utilizzo di questo approccio funzioni per te se stai lavorando su uno scenario simile al momento o se incontri qualcosa di simile in futuro.
Ti auguro il meglio
***** Imparare LuckyTemplates? *****
Cos'è il sé in Python: esempi del mondo reale
Imparerai come salvare e caricare oggetti da un file .rds in R. Questo blog tratterà anche come importare oggetti da R a LuckyTemplates.
In questa esercitazione sul linguaggio di codifica DAX, scopri come usare la funzione GENERATE e come modificare dinamicamente il titolo di una misura.
Questo tutorial illustrerà come utilizzare la tecnica di visualizzazione dinamica multi-thread per creare approfondimenti dalle visualizzazioni di dati dinamici nei report.
In questo articolo, esaminerò il contesto del filtro. Il contesto del filtro è uno degli argomenti principali che qualsiasi utente di LuckyTemplates dovrebbe inizialmente conoscere.
Voglio mostrare come il servizio online di LuckyTemplates Apps può aiutare nella gestione di diversi report e approfondimenti generati da varie fonti.
Scopri come elaborare le modifiche al margine di profitto utilizzando tecniche come la ramificazione delle misure e la combinazione di formule DAX in LuckyTemplates.
Questo tutorial discuterà delle idee di materializzazione delle cache di dati e di come influiscono sulle prestazioni dei DAX nel fornire risultati.
Se finora utilizzi ancora Excel, questo è il momento migliore per iniziare a utilizzare LuckyTemplates per le tue esigenze di reportistica aziendale.
Che cos'è il gateway LuckyTemplates? Tutto quello che devi sapere