Funcția RANKX DAX în LuckyTemplates: o privire de ansamblu cuprinzătoare

este cea mai utilizată funcție DAX pentru ierarhizarea informațiilor în LuckyTemplates. Este o funcție simplă, dar poate fi frustrant de confuză pentru începători. Cu toate acestea, este o funcție foarte puternică care ar putea oferi informații valoroase pentru rapoartele dvs.

În acest articol, veți cunoaște dezavantajele funcției RANKX DAX. Veți învăța când și cum să o utilizați și veți vedea cât de utilă este această funcție pe măsură ce explorăm câteva scenarii și exemple.

Cuprins

Definiția și sintaxa funcției DAX RANKX

Funcția RANKX LuckyTemplates DAX returnează clasarea unui anumit număr într-o listă de numere pentru fiecare rând din argumentul tabelului. Poate fi folosit în calcule atât pentru coloanele calculate, cât și pentru măsurile calculate. Mai jos este sintaxa formulei RANKX.

RANKX(
     , , , ,
)

Pentru parametrul tabelului, puteți introduce un tabel standard importat în LuckyTemplates sau un tabel calculat prin DAX. RANKX, ca funcție de iterare , apoi iterează prin acel tabel și clasifică un anumit număr. Aceasta depinde de numărul de valori din tabel. De exemplu, dacă tabelul are 20 de valori, atunci RANKX va avea un rezultat de clasare de la 1 la 20.

O cheie pentru înțelegerea funcției RANKX este că returnează o valoare scalară . În cadrul parametrului expresie, avem nevoie de o expresie DAX care returnează o valoare scalară. Această expresie circulă și iterează prin fiecare rând din tabel, oferindu-vă valorile de clasare în consecință.

Parametrii de valoare și ordine sunt opționali, în timp ce parametrul de legături vă ajută să determinați clasamentul atunci când există legături în valorile dvs.

Concepte de formule RANKX și LuckyTemplates DAX

Există o serie de concepte de înțeles bine pentru a vă asigura că sunt create rezultatele de clasare pe care le așteptați. Voi discuta despre cel mai important concept atunci când rulez un calcul DAX, care este „ context ”. Odată ce ați realizat acest lucru, puteți înțelege cu adevărat cum să utilizați eficient funcția RANKX.

RANKX este o funcție DAX foarte unică, care necesită un nivel mai profund de gândire în jurul logicii sale și a modului în care funcționează de fapt atunci când rulează un calcul într-un anumit context (de exemplu, un tabel sau o diagramă în LuckyTemplates).

Fiecare parametru diferit din cadrul funcției DAX RANKX poate schimba modul în care calculează un rezultat. Există mai mulți parametri pe care îi puteți introduce în această funcție DAX pentru a înțelege cum fiecare poate determina rezultatul de bază, care este considerat important.

De aceea este esențială înțelegerea elementelor și conceptelor cheie ale modului în care funcționează RANKX într-o varietate de contexte. Acest lucru vă va permite să fiți sigur că calculele dvs. sunt corecte și că consumatorii dvs. văd informații care au sens.

Scenariul de bază RANKX DAX

Mai întâi, să aruncăm o privire la un calcul simplu RANKX. În acest exemplu, încercăm să  identificăm clasamentul acestor produse pe baza vânzărilor  (aceasta se poate baza și pe orice măsură) pentru toate produsele diferite pe care le vindem.

Funcția RANKX DAX în LuckyTemplates: o privire de ansamblu cuprinzătoare

În primul rând, trebuie să creăm un tabel în interiorul RANKX pentru a evalua fiecare produs în funcție de măsura pe care am specificat-o. Funcția   poate fi folosită pentru a elimina orice filtru din  tabelul Produse  și pentru a evalua fiecare produs în parte. 

Funcția RANKX DAX în LuckyTemplates: o privire de ansamblu cuprinzătoare

Dar, dacă scoatem filtrul (în acest caz,  funcția ALL  ) și folosim doar „Produse”, acesta va afișa un rezultat diferit. Acesta este motivul pentru care trebuie să folosim funcția ALL pentru a obține rezultatul corect. Acesta este modul în care puteți rezolva   calcule  simple RANKX .

Dar dacă devine mai complex? Ce se întâmplă dacă veți avea nevoie de rezultate de clasare care nu se bazează doar pe vânzările totale? Ei bine, acolo trebuie să înțelegem contextul actual al acestui calcul. Trebuie să știm cum putem manipula contextul pentru a obține rezultatul dorit.

Scenariu complex RANKX DAX

Să încercăm să aducem în tabelul din partea dreaptă formula exactă similară (măsură pentru clasarea produselor).

Funcția RANKX DAX în LuckyTemplates: o privire de ansamblu cuprinzătoare

După cum puteți vedea, ne-a dat un alt rezultat eronat. Motivul din spatele acestui lucru este că avem aici și o coloană Nume client. Dacă ne uităm din nou la formulă, veți vedea că nu  erupe fiecare client individual . Evaluăm produsele doar pentru fiecare client specific.

Să încercăm să sortăm  coloana Nume client  .

Funcția RANKX DAX în LuckyTemplates: o privire de ansamblu cuprinzătoare

Chiar dacă sortăm coloana Nume client, clasamentul produsului se va modifica în funcție de clasamentul produsului pe care l-au cumpărat. Există o mulțime de numere care sunt aceleași. Un exemplu este rangul 17. În acest caz, se poate datora faptului că  acest anumit client a cumpărat doar 17 produse .

Funcția RANKX DAX în LuckyTemplates: o privire de ansamblu cuprinzătoare

Poate de asta ai nevoie în acest scenariu. Dar dacă vei avea nevoie de ceva mai complex decât atât? Ce se întâmplă dacă veți avea nevoie de rangul de la 1 la o valoare nedefinită a contextelor Nume client și Produs?

După cum am subliniat, este important să  înțelegem contextul și modul în care manipulăm contextul  pentru a obține rezultatul dorit.

În exemplul nostru, avem două dimensiuni care provin din două tabele total diferite. Avem  coloana Nume client din  tabelul Clienți și coloana Nume produs din tabelul Produse.

Funcția RANKX DAX în LuckyTemplates: o privire de ansamblu cuprinzătoare

Trebuie să eliminăm cumva filtrele din această tabelă virtuală din logica RANKX din ambele două tabele. Trebuie să facem ceea ce am făcut în primul tabel (partea stângă), dar trebuie să facem acest lucru în ambele coloane Nume client și Nume produs din ambele tabele particulare.

Apoi, în cele din urmă, vom obține clasarea corectă prin Vânzările totale ale numelui clientului și al produsului. Iată formula pe care o putem folosi pentru acest scenariu distinct.

Funcția RANKX DAX în LuckyTemplates: o privire de ansamblu cuprinzătoare

Funcția ne permite să unim două coloane împreună sau ar putea fi și două tabele. Cu toate acestea, în acest caz, vom uni doar coloane.

Eliminam  toate filtrele  din tabelele Clienți și Produse. Apoi, vom parcurge fiecare rând din acest tabel virtual și vom evalua sau identifica locul în care se află clasamentul pentru acest anumit subset Nume client și Nume produs.

Exemplu avansat RANKX DAX

După cum puteți vedea în exemplele anterioare, funcția RANKX vă oferă informații valoroase atunci când o utilizați pentru o serie de contexte diferite pe pagina de raport. Cu toate acestea, poate fi și una dintre cele mai confuze funcții de utilizat în LuckyTemplates. Vă poate oferi rezultate diferite care par a fi corecte, când, de fapt, sunt greșite. Dacă nu ești atent, va trebui să reproșezi întregul raport.

Aveți nevoie de o înțelegere solidă a contextului și apoi să învățați cum să utilizați RANKX în acel context.

Mă voi scufunda în cât de complex poate fi uneori RANKX. Voi lucra printr-un exemplu, astfel încât să puteți înțelege numeroasele nuanțe ale lucrului cu această funcție.

În vizualizarea de mai jos, avem Clasamentul Județelor, Clasamentul Statelor și Clasamentul Regiunilor Statului.

Funcția RANKX DAX în LuckyTemplates: o privire de ansamblu cuprinzătoare

Gestionarea contextului calculului poate fi dificilă dacă doriți să le vedeți pe toate într-o singură matrice. Să ne uităm la masă. Puteți vedea că are informații despre Regiunile de Stat, Stat și Județ.

Funcția RANKX DAX în LuckyTemplates: o privire de ansamblu cuprinzătoare

Pentru acest exemplu, trebuie să elaborați clasamentul județelor. Dacă aveți doar județul, clasamentul județului și vânzările totale în tabel, obțineți rezultatele corecte de clasare:

Funcția RANKX DAX în LuckyTemplates: o privire de ansamblu cuprinzătoare

Dar odată ce începeți să stratificați celelalte contexte din tabel, rezultatul clasamentului începe să se acumuleze pentru fiecare județ care se află în diferite state și regiuni de stat.

Funcția RANKX DAX în LuckyTemplates: o privire de ansamblu cuprinzătoare

Deci, trebuie să identificați și să modificați contextul calculului pentru a vă asigura că obțineți clasamentul general corect pentru fiecare județ, indiferent de ceea ce este selectat pe pagina raportului. Ori de câte ori selectați un stat precum Colorado, formula se actualizează și ea.

Funcția RANKX DAX în LuckyTemplates: o privire de ansamblu cuprinzătoare

De asemenea, puteți face o selecție folosind Regiunile de stat. Dacă selectați Nord-est, va afișa clasarea corectă.

Funcția RANKX DAX în LuckyTemplates: o privire de ansamblu cuprinzătoare

În acest exemplu, două formule sunt folosite pentru a obține Clasamentul Județean. Acest lucru vă va ajuta să înțelegeți diferența dintre rezultatele generate prin utilizarea diferitelor funcții DAX împreună cu RANKX:

Formula #1: RANKX cu ALL AND ALLSELECTED

Funcția ALL este partea cheie a acestei formule pentru rangul județului:

Funcția RANKX DAX în LuckyTemplates: o privire de ansamblu cuprinzătoare

Manipulează contextul în formula RANKX. Apoi iterează prin tabelul Regiuni și creează rezultatul clasamentului. În acest caz, funcția ALL funcționează practic în fiecare județ, indiferent de contextul inițial.

Această problemă devine complicată atunci când începeți să stratificați pe contexte slicer. Folosind , clasamentul se va actualiza automat în funcție de selecția din slicer. De asemenea, trebuie să utilizați pentru a plasa context suplimentar pe un rezultat sau pentru a schimba contextul calculului.

Funcția RANKX DAX în LuckyTemplates: o privire de ansamblu cuprinzătoare

Contextul este ajustat pe baza filtrelor din funcția CALCULATE. Prin aceasta, clasamentul se va ajusta în funcție de contextul provenit din slicerele State și State Region.

Funcția RANKX DAX în LuckyTemplates: o privire de ansamblu cuprinzătoare

Formula #2: RANKX Cu TOATE și VALORI

Să ne uităm acum la coloana Județ (Actualizat).

Funcția RANKX DAX în LuckyTemplates: o privire de ansamblu cuprinzătoare

Doriți să vă asigurați că această coloană va continua să arate clasamentul general, indiferent de ceea ce este selectat în slicere. Fiecare județ ar trebui să aibă un număr unic.

Aceasta este formula folosită:

Funcția RANKX DAX în LuckyTemplates: o privire de ansamblu cuprinzătoare

Pentru acest exemplu, nu a existat o modalitate de a descifra un județ unic, așa că a fost creată o altă coloană. Coloana Județ complet include județul, statul și regiunea.

Funcția RANKX DAX în LuckyTemplates: o privire de ansamblu cuprinzătoare

Acest lucru vă oferă o bună distincție între județe. În acest fel, acum puteți lucra un tabel virtual al județelor care se află în date. Înainte de a face acest lucru, trebuie să eliminați TOATE contextul din tabelul Regiuni.

Funcția RANKX DAX în LuckyTemplates: o privire de ansamblu cuprinzătoare

Deci, orice context care provine din tabelul Regiunii nu există în acest moment. Cu funcția , puteți adăuga înapoi contextul coloanei Full County.

Funcția RANKX DAX în LuckyTemplates: o privire de ansamblu cuprinzătoare

O opțiune este să faceți referire la fiecare coloană folosind funcția ALL, dar alternativa mai bună este să scăpați de tot contextul din Regiuni și să aduceți înapoi numai județul complet. Odată ce contextul a fost manipulat în CALCULATE, funcția RANKX își începe lucrul de acolo.

Funcția RANKX DAX în LuckyTemplates: o privire de ansamblu cuprinzătoare

RANKX lucrează în fiecare județ la fiecare rând împreună cu vânzările totale și apoi le clasifică. Așa obțineți valorile de la 1 la X sub rândul Județ (Actualizat). Drept urmare, filtrele și slicerele nu vor conta și nu vor afecta clasarea deoarece formula a fost setată să le ignore.

Alte exemple practice RANKX pentru măsurarea puterii BI

Acum că ați învățat elementele de bază ale conceptelor RANKX și LuckyTemplates DAX, să explorăm mai multe exemple despre cum este utilizat RANKX. Mai întâi, parcurgeți un exemplu în care RANKX este folosit pentru a găsi valorile de sus și de jos. Următorul exemplu prezintă RANKX ca o modalitate de a segmenta sau grupa rezultatele.

Găsirea valorilor superioare și inferioare utilizând RANKX

O utilizare obișnuită a RANKX este atunci când doriți să aflați valorile de sus sau de jos . De exemplu, dacă doriți să vă găsiți clienții de top sau produsele de mai jos, puteți utiliza RANKX împreună cu alte funcții DAX.

În acest prim exemplu, vă voi arăta cum să combinați RANKX cu funcțiile CALCULATE și pentru a vedea cine sunt clienții noștri de top, nu numai pentru o perioadă statică de timp, ci și de-a lungul timpului. Apoi, îl vom prezenta într-o matrice de vânzări a primilor 10 clienți ai noștri.

Când punem măsurătorile Trimestru și An  și  Vânzările totale  într-o matrice, obținem toate rezultatele. Acest lucru este grozav, dar poate fi foarte greu să vezi o perspectivă și să identifici tendințele.

Funcția RANKX DAX în LuckyTemplates: o privire de ansamblu cuprinzătoare

Dorim să vedem tendințe și să stabilim care sunt cei mai buni 10 clienți ai noștri pentru această perioadă. De exemplu, am avut un client care pentru o perioadă de timp a fost unul dintre clienții noștri de top, dar a dispărut complet? Acestea sunt genul de perspective pe care le căutăm.

Putem face acest lucru folosind o singură formulă. Iată măsura pe care am creat- o folosind funcția CALCULATE pentru a calcula vânzările noastre totale pentru clienții care se află în Top 10.

Funcția RANKX DAX în LuckyTemplates: o privire de ansamblu cuprinzătoare

Trebuie să folosim logica de clasare  pentru a crea un indicator logic de clasare care va spune că, dacă acest client este în Top 10, atunci returnează această valoare a vânzărilor totale. Pe lângă utilizarea RANKX în LuckyTemplates, vom folosi și funcția FILTER și apoi vom folosi VALUES, care va crea un tabel intern pentru fiecare client.

Apoi trebuie să ne gândim la ce logică să scriem aici, ceva care spune „dacă rangul actual este mai mic sau egal cu 10, egal cu vânzările totale, dacă nu, este egal gol”. Ceea ce este cu adevărat cool la instrucțiunile de filtrare ca acesta este că puteți scrie acest tip de logică în interior.

Deci, vom folosi funcția RANKX și TOATE numele clienților, deoarece vom clasifica fiecare client în orice context anume. ALL scapă de orice filtru pentru numele clienților, astfel încât să putem finaliza acest clasament.

Vom clasa apoi în funcție de vânzări totale și în ordine descrescătoare, iar apoi vom merge mai puțin sau egal cu 10. o face, vrem să fie egal cu vânzările totale, iar dacă nu, să nu fie necompletat.

Funcția RANKX DAX în LuckyTemplates: o privire de ansamblu cuprinzătoare

În cele din urmă, vom înlocui vânzările noastre totale cu cei mai buni 10 clienți. Putem vedea primii 10 clienți pentru fiecare perioadă de timp și putem implementa formatarea condiționată pentru a o îmbunătăți vizual. De asemenea, putem folosi formatarea condiționată pentru a avea informații mai convingătoare.

Funcția RANKX DAX în LuckyTemplates: o privire de ansamblu cuprinzătoare

Dacă vindeți clienților de multe ori, veți dori să scurtați intervalul de timp; dar dacă doar tu vinzi clienților de 2 sau 3 ori pe an, atunci vei dori să analizezi lucrurile dintr-un interval de timp pe termen mai lung.

Există o altă funcție DAX, numită TOPN, care este, de asemenea, folosită pentru statistici de clasare. Cu toate acestea, există încă o . Rețineți că TOPN este o funcție de tabel, în timp ce RANKX returnează o valoare scalară . Cheia este să înțelegeți contextul în care puneți aceste funcții.

Combinarea grupării dinamice folosind LuckyTemplates RANKX

O altă modalitate excelentă de a utiliza RANKX este de a segmenta sau grupa rezultatele, mai degrabă decât de a afișa rezultatele singure, fără niciun context.

În acest exemplu, în loc să arăt doar un rezultat de vânzări generic, vreau să văd dacă un client a fost în primele rezultate și apoi să văd dacă se modifică în timp. Vreau să înțeleg cât de mult din vânzările noastre provin de la clienții noștri de top 5, de la 5 până la 20 și apoi de la restul clienților noștri.

Pentru a vedea dacă există o tendință, trebuie să creăm grupuri dinamice și să le evaluăm în timp. Acest lucru este foarte dificil de făcut, mai ales dacă lucrați din Excel. Dar dacă înțelegi foarte bine DAX, poți scrie o formulă care nu îți ia deloc mult timp să scrii, iar apoi devine un model pe care îl poți folosi iar și iar.

Iată măsura pe care am creat-o pentru acest scenariu:

Funcția RANKX DAX în LuckyTemplates: o privire de ansamblu cuprinzătoare

Începem cu funcția CALCULATE pentru că nimic nu se întâmplă fără CALCULATE. Apoi, adăugăm Vânzări totale, deoarece asta este ceea ce rezumăm.

Apoi, trebuie să filtram peste un tabel de Nume de clienți care va itera prin fiecare client, să evaluăm care este clasarea lor și apoi să vedem dacă clasamentul lor este peste sau sub MIN și MAX pe care tocmai le-am creat.

Următorul pas este să utilizați din nou funcția și funcția FILTER. Apoi alegeți Grupuri de clienți, care este tabelul pe care l-am creat.

Apoi, vom itera prin acest tabel folosind RANKX. Calculăm vânzările totale în partea de sus, dar tabelul Grupuri de clienți este de fapt clasamentul. Trebuie să obținem clasamentul fiecăruia dintre acești clienți individuali și apoi să vedem dacă se află în vreunul dintre grupurile din tabelul Grupuri de clienți.

Apoi le vom clasa în funcție de vânzări totale și apoi alegem DESC pentru a le clasifica ca 1 pentru cea mai mare și 200 pentru cea mai mică. Apoi îl vom închide cu o valoare mai mare decât pentru clienții cu cel mai bine clasat. În cele din urmă, vom folosi RANKX cu logica similară pe care am folosit-o mai sus, dar apoi cu mai puțin sau egal cu .

Puteți folosi acest din nou și din nou în atât de multe scenarii aplicabile. RANKX vă permite să creați tabele de clasare dinamice , oferindu-vă informații incredibile despre clasament.

Concluzie

RANKX este o funcție simplă, dar nu ușor de utilizat. Cheia este să vă concentrați pe nuanțele sale pentru a putea înțelege mai bine funcția. Există atât de multe moduri de a folosi funcția RANKX în calculele DAX, mai ales atunci când este combinată cu diferite funcții. Veți fi uimit de cât de flexibilă poate fi această funcție în LuckyTemplates.

Exemplele pe care vi le-am arătat în acest blog sunt cu siguranță cele mai bune modalități de a demonstra RANKX, mai ales când vine vorba de versatilitatea sa în calcularea oricărei analize de tip de clasare. Poate fi folosit într-un număr de scenarii diferite.

Principala concluzie aici este că trebuie să înțelegeți cu adevărat contextul în care este plasată funcția dvs. RANKX.

Sper că veți găsi acest conținut util și să îl utilizați în propriul mediu de lucru.

Noroc!

Leave a Comment

Ce este Sinele în Python: Exemple din lumea reală

Ce este Sinele în Python: Exemple din lumea reală

Ce este Sinele în Python: Exemple din lumea reală

Cum să salvați și să încărcați un fișier RDS în R

Cum să salvați și să încărcați un fișier RDS în R

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.

Primele N zile lucrătoare revizuite – O soluție de limbaj de codare DAX

Primele N zile lucrătoare revizuite – O soluție de limbaj de codare DAX

Î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.

Prezentați perspective utilizând tehnica vizuală dinamică cu mai multe fire în LuckyTemplates

Prezentați perspective utilizând tehnica vizuală dinamică cu mai multe fire în LuckyTemplates

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.

Introducere la filtrarea contextului în LuckyTemplates

Introducere la filtrarea contextului în LuckyTemplates

Î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.

Cele mai bune sfaturi pentru utilizarea aplicațiilor din serviciul online LuckyTemplates

Cele mai bune sfaturi pentru utilizarea aplicațiilor din serviciul online LuckyTemplates

Vreau să arăt cum serviciul online LuckyTemplates Apps poate ajuta la gestionarea diferitelor rapoarte și informații generate din diverse surse.

Analizați modificările marjei de profit ore suplimentare – Analytics cu LuckyTemplates și DAX

Analizați modificările marjei de profit ore suplimentare – Analytics cu LuckyTemplates și DAX

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.

Idei de materializare pentru cache-urile de date în DAX Studio

Idei de materializare pentru cache-urile de date în DAX Studio

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.

Raportare de afaceri folosind LuckyTemplates

Raportare de afaceri folosind LuckyTemplates

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

Ce este LuckyTemplates Gateway? Tot ce trebuie să știți

Ce este LuckyTemplates Gateway? Tot ce trebuie să știți