Începând cu DAX în Power BI



Acest blog Edureka vă ajută să începeți cu Power BI DAX Basics sau Data Analytics Expressions dacă sunteți nou în Power BI cu sintaxă și exemple.

Acest blog este conceput, în esență, pentru utilizatorii nou cunoscuți și este menit să vă ofere o plimbare rapidă și ușoară pe o limbă formulă numită Expresii de analiză a datelor (DAX) .Dacă sunteți familiarizat cu funcțiile din MS Excel sau , multe dintre formulele din aceasta Noțiuni de bază despre Power BI DAX articolul va apărea similar cu dvs.

Acestea fiind spuse, iată conceptele care fac parte integrantă din toate , după ce ați aflat care ar trebui să înțelegeți bine cele mai fundamentale concepte din DAX.





Power BI DAX Noțiuni de bază: Ce este DAX?

Deci, să începem cu elementele de bază ale Power BI DAX, bine?

Este destul de ușor să creați rapoarte utilizând Power BI Desktop, care să afișeze informații valoroase imediat.



Dar, dacă trebuie să analizați procentul de creștere pentru toate categoriile de produse, pentru toate intervalele de date diferite? Sau, trebuie să calculați creșterea anuală a companiei dvs. în comparație cu giganții pieței?

Învățarea DAX vă va ajuta să profitați la maximum de dvs. și să rezolve probleme reale de afaceri.

DAX cuprinde funcții, operatori și constante care pot fi puse sub formă de formule pentru calcularea valorilor cu ajutorul datelor deja prezente în modelul dvs.



Power BI DAX include o bibliotecă de peste 200 de funcții, operatori și construcții. Biblioteca sa oferă o flexibilitate imensă în crearea măsurilor de calculare a rezultatelor pentru aproape orice nevoie de analiză a datelor.

Noțiuni de bază despre Power BI DAX: Cum funcționează?

În primul rând, permiteți-mi să vă explic cum funcționează acest lucru.În cea mai mare parte, vom încadra înțelegerea noastră despre Power BI DAX în jurul a trei concepte fundamentale: Sintaxă , Context , și Funcții .

Desigur, există alte concepte importante aici, dar înțelegerea acestor trei vă va oferi cea mai bună bază pe care veți construi abilitățile.

Sintaxă

Sintaxă cuprinde diverse componente care alcătuiesc o formulă și modul în care este scrisă. Lconsultă această formulă simplă DAX.

Când încercați să înțelegeți o formulă DAX, este de multe ori util să descompuneți fiecare dintre elemente într-un limbaj pe care îl gândiți și îl vorbiți în fiecare zi. Deci, această formulă include următoarele elemente de sintaxă:

Sintaxă - Power BI DAX - Edureka

I. Vanzari totale este numele măsurii.

II. operator semn egal (=) indică începutul formulei.

III. SUMĂ adună toate numerele din coloană, Vânzări [Cantitate vânzări] .

IV. Sunt acestea paranteze () care înconjoară o expresie care conține unul sau mai multe argumente. Toate funcțiile necesită cel puțin un argument.

V. Vânzări este tabelul la care se face referire.

NOI. Un argument transmite o valoare unei funcții. Coloana de referință [Suma de vânzări] este un argument cu care funcția SUM cunoaște coloana pe care trebuie să agregeze un SUM.

Pur și simplu, îl puteți citi ca, ' Pentru măsura numită Vânzări totale, calculați (=) SUMA valorilor din coloana [Cantitate vânzări] din tabelul Vânzări. ”

&picăEditorul Power BI DAX include o caracteristică de sugestii, care vă ajută să creați formule corecte din punct de vedere sintactic, sugerându-vă elementele potrivite.

Context

Context este unul dintre cele mai importante dintre cele 3 concepte DAX. Când se vorbește de context, acest lucru se poate referi la unul dintre cele două tipuri Contextul rândului și Filtrează contextul .

Se utilizează predominant în timp ce vorbim de Măsuri , Rând-Context este considerat cel mai ușor ca rândul curent. Se aplică ori de câte ori o formulă are o funcție care aplică filtre pentru a identifica un singur rând într-un tabel.

Filtru-Context este puțin mai dificil de înțeles decât contextul rând. Vă puteți gândi cel mai ușor la context-filtru ca la unul sau mai multe filtre aplicate într-un calcul.Filter-Context nu există în locul contextului Row. Mai degrabă, se aplică în plus față de primul. Uită-te la următoarea formulă DAX.

Această formulă include următoarele elemente de sintaxă:

I. Numele măsurii Vânzări în magazin .

II. operator semn egal (=) indică începutul formulei.

III. CALCULATI funcția evaluează o expresie, ca argument.

IV. Paranteze () înconjoară o expresie care conține unul sau mai multe argumente.

V. O masura [Vanzari totale] în același tabel cu o expresie.

NOI. LA virgula (,) separă primul argument de expresie de argumentul de filtrare.

VII. Coloana de referință complet calificată, Canal [ChannelName] este contextul nostru rând. Fiecare rând din această coloană specifică un canal, magazin, online etc.

VIII. Valoarea specială, Magazin este folosit ca filtru. Acesta este contextul nostru de filtrare.

Această formulă asigură acea măsura totală a vânzărilor este calculată numai pentru rândurile din coloana Channel [ChannelName] cu valoarea „Store”, ca filtru.

Funcții

Funcții sunt formule predefinite, structurate și ordonate. Ei efectuează calcule folosind argumente le-a trecut mai departe. Aceste argumente pot fi numere, text, valori logice sau alte funcții.

Noțiuni de bază despre Power BI DAX: Coloane și măsuri calculate

În acest blog, ne vom concentra asupra formulelor DAX Power BI utilizate în calcule, în Măsuri și Coloane calculate .

Coloane calculate

Când creați un model de date pe Power BI Desktop, puteți extinde un tabel prin crearea de coloane noi. Conținutul coloanelor este definit de o expresie DAX, evaluată rând cu rând sau în contextul rândului curent de pe acel tabel.

Cu toate acestea, în modelele de date pentru DAX, toate coloanele calculate ocupă spațiu în memorie și sunt calculate în timpul procesării tabelelor.

Acest comportament este util pentru a rezulta într-o experiență mai bună a utilizatorului, dar folosește memorie RAM prețioasă și, prin urmare, este un obicei prost în producție, deoarece fiecare calcul intermediar este stocat în memorie RAM și pierde spațiu prețios.

Măsuri

Există un alt mod de a defini calculele într-un model DAX, util dacă trebuie să operați pe valori agregate în loc de rând pe rând. Aceste calcule sunt măsuri. Una dintre cerințele DAX este că o măsură trebuie definită într-un tabel. Cu toate acestea, măsura nu aparține cu adevărat tabelului. Deci, puteți muta o măsură de la o masă la alta fără a-și pierde funcționalitatea.

Coloane calculate vs. Măsuri

Măsurătorile și coloanele calculate utilizează ambele expresii DAX. Diferența este contextul evaluării. O măsură este evaluată în contextul celulei evaluate într-un raport sau într-o interogare DAX, în timp ce o coloană calculată este calculată la nivelul rândului din tabelul căruia îi aparține.

Chiar dacă arată similar, există o mare diferență între coloanele calculate și măsuri. Valoarea unei coloane calculate este calculată în timpul reîmprospătării datelor și utilizează rândul curent ca context, nu depinde de interacțiunea utilizatorului din raport.

Prin urmare, trebuie să definiți o coloană calculată ori de câte ori doriți să faceți următoarele

  • Plasați rezultatele calculate într-un feliator sau vedeți rezultatele în rânduri sau coloane într-un tabel pivot (spre deosebire de zona valorilor) sau în axele unei diagrame sau utilizați rezultatul ca condiție de filtrare într-o interogare DAX.
  • Definiți o expresie care este strict legată de rândul curent. De exemplu, Preț * Cantitatea nu poate funcționa pe o medie sau pe o sumă a celor două coloane.
  • Clasificați textul sau numerele. De exemplu, o gamă de valori pentru o măsură.

O măsură funcționează pe agregări de date definite de contextul actual, care depinde de filtrul aplicat în raport - cum ar fi selecția de feliere, rânduri și coloane într-un tabel pivot sau axe și filtre aplicate unui grafic.

Deci, trebuie să definiți o măsură ori de câte ori doriți să afișați valorile de calcul rezultate care reflectă selecțiile utilizatorilor, cum ar fi

  • Când calculați procentajul de profit pe o anumită selecție de date.
  • Când calculați raporturile unui produs în comparație cu toate produsele, dar păstrând filtrul atât în ​​funcție de an, cât și de regiune.

Noțiuni de bază despre Power BI DAX: Tipuri de funcții în DAX

1. Funcții agregate

MIN

Această funcție DAX rtransformă valoarea numerică minimă într-o coloană sau între două expresii scalare.

Sintaxă

MIN()

Exemplu

=MIN([ResellerMargin])

MINA

Această funcție DAX rafișează valoarea minimă într-o coloană, inclusiv orice valori logice și numere reprezentate ca text.

Sintaxă

MINA()

Exemplu

=MINA(([Cod poștal])

COCHETĂ

Această funcție DAX revinevaloarea numerică minimă care rezultă din evaluarea unei expresii pentru fiecare rând al unui tabel.

Sintaxă

COCHETĂ(

,)

Exemplu

=COCHETĂ(FILTRU(InternetSales, InternetSales [SalesTerritoryKey] =5), InternetSales [Freight] + InternetSales [TaxAmt])

MAX

Această funcție DAX rafișează valoarea maximă într-o coloană, inclusiv orice valori logice și numere reprezentate ca text.

Sintaxă

MAX()

java split string mai multe delimitatori

Exemplu

=MAX([ResellerMargin])

MAX

Această funcție DAX rafișează valoarea maximă într-o coloană, inclusiv orice valori logice și numere reprezentate ca text.

Sintaxă

MAX()

Exemplu

=MAX(([Cod poștal])

MAXX

Această funcție DAX revinevaloarea numerică maximă care rezultă din evaluarea unei expresii pentru fiecare rând al unui tabel.

Sintaxă

MAXX(

,)

Exemplu

=MAXX(FILTRU(InternetSales, InternetSales [SalesTerritoryKey] =5), InternetSales [Freight] + InternetSales [TaxAmt])

SUMĂ

Această funcție DAX adds toate numerele dintr-o coloană.

Sintaxă

SUMĂ()

Exemplu

=SUMĂ(Birou de vanzari])

IN MEDIE

Această funcție DAX rtransformă media aritmetică a valorilor dintr-o coloană.

Sintaxă

IN MEDIE()

Exemplu

=IN MEDIE(InternetSales [ExtendedSalesAmount])

sumx

Această funcție DAX rtransformă suma unei expresii evaluate pentru fiecare rând dintr-un tabel.

Sintaxă

sumx(

,)

Exemplu

=sumx(FILTRU(InternetSales, InternetSales [SalesTerritoryID] =5), [Transport]]

AVERAGEX

Această funcție DAX ccalculează media aritmetică a unui set de expresii evaluate peste un tabel.

Sintaxă

AVERAGEX(

,)

Exemplu

=AVERAGEX(InternetSales, InternetSales [Freight] + InternetSales [TaxAmt])

2. Funcții de numărare

DISTINCTCOUNT

Aceasta este o funcție DAX utilizată pentru a returna numărul distinct de articole dintr-o coloană. Deci, dacă există mai multe numere ale aceluiași element, această funcție îl va număra ca un singur element.

Sintaxă

DISTINCTCOUNT()

Exemplu

=DISTINCTCOUNT(ResellerSales_USD [SalesOrderNumber])

NUMARA

Aceasta este o funcție DAX utilizată pentru a returna numărul de articole dintr-o coloană. Deci, dacă există mai multe numere ale aceluiași element, această funcție îl va numi ca elemente separate și nu ca un singur element.

Sintaxă

NUMARA()

Exemple

=NUMARA([Data de expediere])

COUNTA

Aceasta este o funcție DAX utilizată pentru a returna numărul de articole, într-o coloană, care nu este goală.

Sintaxă

COUNTA()

Exemplu

=COUNTA(„Reseller” [Telefon])

NUMĂRURI

Aceasta este o funcție DAX carenumără numărul de rânduri din tabelul specificat sau dintr-un tabel definit de o expresie.

Sintaxă

NUMĂRURI(

)

Exemplu

=NUMĂRURI('Comenzi')

COUNTBLANK

Aceasta este o funcție DAX carenumără numărul de celule goale dintr-o coloană.

Sintaxă

COUNTBLANK()

Exemplu

=COUNTBLANK(Reseller [BankName])

3. Funcții dată-oră

DATA

Această funcție DAX rmodifică data specificată în formatul dată-oră.

Sintaxă

DATA(<an>,<lună>,<zi>)

Exemplu

=DATA(2019,12, 17)

ORA

Această funcție DAX rtransformă ora specificată ca număr de la 0 la 23 (12:00 AM până la 11:00 PM).

Sintaxă

ORA()

Exemplu

=ORA(„Comenzi” [TransactionTime])

ASTĂZI

Această funcție DAX rmodifică data curentă.

Sintaxă

ASTĂZI()

ACUM

Această funcție DAX rmodifică data și ora curente în formatul Data-Ora.

Sintaxă

ACUM()

EOMONTH

Această funcție DAX rmodifică data în formatul Data-Ora din ultima zi a lunii, înainte sau după un anumit număr de luni.

Sintaxă

EOMONTH(,)

Exemplu

=EOMONTH(„3 martie 2008”,1.5)

4. Funcții matematice

SECȚIUNE

Această funcție DAX rtransformă valoarea absolută a numărului dat.

Sintaxă

SECȚIUNE()

Exemplu

=ABS ([Preț dealer] - [Preț listă])

EXP

Această funcție DAX rtransformă valoarea lui e ridicată la puterea numărului dat.

Sintaxă

EXP()

Exemplu

= EXP ([Putere])

FAPT

Această funcție DAX rtransformă factorialul unui număr.

Sintaxă

FAPT()

Exemplu

= FACT ([Valori])

LN

Această funcție DAX rtransformă jurnalul natural al numărului dat.

Sintaxă

LN()

Exemplu

= LN ([Valori])

BUTURUGA

Această funcție DAX rtransformă jurnalul cu baza numărului dat.

Sintaxă

BUTURUGA(,)

Exemplu

Toate cele următoare returnează același rezultat, 2.

= LOG (100,10)

= LOG (100)

= LOG10 (100)

PI

Această funcție DAX rtransformă valoarea lui Pi.

Sintaxă

PI()

PUTERE

Această funcție DAX rtransformă valoarea primului argument ridicat la puterea celui de-al doilea argument.

Sintaxă

PUTERE(,<putere>)

Exemplu

= PUTERE (5,2)

COEFICIENT

Această funcție DAX efectuează diviziunea rtransformă partea întreagă a coeficientului.

Sintaxă

COEFICIENT(,)

Exemplu

= COTIENT (5,2)

SEMN

Această funcție DAX returnează semnul unui număr dat.

Sintaxă

SEMN()

Exemplu

= SEMN (([Preț de vânzare] - [Preț de cost]))

SQRT

Această funcție DAX rtransformă rădăcina pătrată a numărului dat.

Sintaxă

SQRT()

Exemplu

= SQRT (25)

5. Funcții logice

ȘI

Această funcție DAX efectuează AND (conjuncție) logic pe două expresii. Pentru ca AND să revină adevărat, ambele condiții specificate trebuie îndeplinite.

Sintaxă

ȘI(,)

Exemplu

tutoriale Android studio pentru începători

= DACĂ (ȘI (10>9, -10 <-unu),„Toate adevărate”,„Una sau mai multe false”

Deoarece ambele condiții, transmise ca argumente, funcției ȘI sunt adevărate, formula returnează „Toate adevărate”.

SAU

Această funcție DAX efectuează OR (disjuncție) logic pe două expresii. Pentru ca OR să revină adevărat, oricare dintre cele două condiții specificate trebuie îndeplinite.

Sintaxă

SAU(,)

Exemplu

= DACĂ (SAU (10>9, -10> -unu),'Adevărat','Fals'

Deoarece una dintre condiții, transmisă ca argumente, funcției SAU este adevărată, formula returnează „Adevărat”.

NU

Această funcție DAX efectuează NU (negare) logică asupra expresiei date.

Sintaxă

NU()

Exemplu

= NU ([CalculatedColumn1])

Pentru fiecare rând din Coloana 1 calculată, funcția NOT returnează opusul logic al valorii date.

DACĂ

Această funcție DAX testează o serie de intrări pentru cea care îndeplinește condiția specificată în argument.

Sintaxă

DACĂ(logic_test> ,, value_if_false)

Exemplu

= IF ([Apeluri]<200,'scăzut', IF ([Apeluri]<300,'mediu','înalt')))

IFERROR

Această funcție DAX eevaluează o expresie și returnează o valoare specificată dacă expresia returnează o eroare.

Sintaxă

IFERROR(valoare, value_if_error)

Exemplu

cum să ieșiți din java

= IFERROR (25/0,9999)

6. Funcții de informare

ISBLANK

Această funcție DAXreturnează TRUE sau FALSE dupăcverificând dacă o valoare este goală.

Sintaxă

ISBLANK(<valoare>)

Exemplu

= IF (ISBLANK ('CalculatedMeasures' [PreviousYearTotalSales]), BLANK (), ('CalculatedMeasures' [Total Sales] - 'CalculatedMeasures' [PreviousYearTotalSales]) / 'CalculatedMeasures' [PreviousYearTotalSales])

ISNUMBER

Această funcție DAXreturnează TRUE sau FALSE dupăcverificând dacă o valoare este numerică.

Sintaxă

ISNUMBER(<valoare>)

Exemplu

= IF (ISNUMBER (0),„Este numărul”,„Nu este numărul”)

ISTEXT

Această funcție DAXreturnează TRUE sau FALSE dupăcverificând dacă o valoare este un text.

Sintaxă

ISTEXT(<valoare>)

Exemplu

= IF (ISTEXT ('text'),„Este text”,„Nu este text”)

ISNONTEXT

Această funcție DAXreturnează TRUE sau FALSE dupăcverificând dacă o valoare este non-text.

Sintaxă

ISNONTEXT(<valoare>)

Exemplu

= IF (ISNONTEXT ('text'),„Nu este text”,„Este text”)

ISERROR

Această funcție DAXreturnează TRUE sau FALSE dupăcverificarea dacă o valoare este o eroare.

Sintaxă

ISERROE(<valoare>)

Exemplu

= IF (ISERROR (SUM ('ResellerSales_USD') [SalesAmount_USD]) / SUM ('InternetSales_USD' [SalesAmount_USD])), BLANK (), SUM ('ResellerSales_USD' [SalesAmount_USD]) / SUM ('InternetSales_USD' [SalesAm_)

7. Funcții text

ÎNLĂNŢUI

Această funcție DAX junge două șiruri de text într-unul.

Sintaxă

ÎNLĂNŢUI(,)

Exemplu

= CONCATENATE („Bună ziua”, „Lumea”)

CONCATENATEX

Această funcție DAXrezultatul unei expresii evaluate pentru fiecare rând dintr-un tabel.

Sintaxă

CONCATENATEX(

,, [delimitator])

Exemplu

= CONCATENATEX (Angajați, [Prenume] și „„ & [Prenume], „,”)

FIX

Această funcție DAX radună un număr la numărul specificat de zecimale și returnează rezultatul ca text.

Sintaxă

FIX(,,)

Exemplu

= FIXED ([PctCost],3,unu)

A INLOCUI

Această funcție DAXînlocuiește o parte a unui șir de text, pe baza numărului de caractere specificat, cu un șir de text diferit.

Sintaxă

A INLOCUI(,,,)

Exemplu

= REPLACE („Produse noi” [Cod produs],unu,2,„OB”)

CĂUTARE

Această funcție DAX rtransformă numărul de caractere la care se găsește pentru prima dată un anumit șir de text.

Sintaxă

CĂUTARE(, [, [] [,]])

Exemplu

= CĂUTARE ('n',„imprimantă”)

Formula returnează 4 deoarece „n” este al patrulea caracter din cuvântul „imprimantă”.

SUPERIOR

Această funcție DAX revineun șir de text cu majuscule.

Sintaxă

SUPERIOR()

Exemplu

= SUPERIOR ([„Produse noi” [Cod produs])

Noțiuni de bază despre Power BI DAX: crearea primei dvs. măsuri

Condiție preliminară: Va trebui să deschideți acest fișier dat de Power BI Desktop .

Întrucât presupun că acesta va fi primul dvs., vă voi scrie acest detaliu foarte detaliat pentru ca voi să îl urmați.

  1. În lista de câmpuri a Vizualizare raport , faceți clic dreapta pe Vânzări tabel, urmat de Măsură nouă .

  2. A inlocui Măsura prin introducerea unui nou nume de măsură Vânzările trimestriale anterioare, în Bara de Formula .

  3. În această formulă, doriți să utilizați CALCULATI funcţie. Deci, după semnul egal, tastați primele litere CAL , apoi faceți dublu clic pe funcția pe care doriți să o utilizați.

  4. Funcția CALCULARE are cel puțin două argumente. Prima este expresia care trebuie evaluată, iar a doua este a Filtru .

  5. După deschidere paranteze ( pentru CALCULATI funcție, tip SUMĂ urmată de o altă paranteză de deschidere ( pentru a transmite un argument către SUMĂ funcţie.

  6. Începeți să tastați Sare , apoi selectați Vânzări [Cantitate vânzări] , urmată de o paranteză de închidere ) . Acesta este primul argument pentru expresia noastră CALCULATI funcţie.

  7. Tastați a virgula (,) urmat de un spațiu pentru a specifica primul filtru, apoi tastați TRIMESTRUL ANTERIOR . Acesta va fi filtrul nostru.

  8. Veți folosi TRIMESTRUL ANTERIOR funcția de inteligență temporală pentru a filtra SUMĂ rezultate până în trimestrul anterior.

  9. După paranteză de deschidere ( pentru funcția PREVIOUSQUARTER, tastați Calendar [DateKey] .

  10. TRIMESTRUL ANTERIOR funcția are un argument, o coloană care conține un interval contigu de date. În cazul nostru, acesta este DateKey coloană din tabelul Calendar.

  11. Asigurați-vă că atât argumentele transmise către PREVIOUSQUARTER, cât și funcția CALCULATE sunt închise tastând două paranteze închise ))) .

  12. Formula dvs. ar trebui să arate acum ca următoarea
    Vânzările trimestriale anterioare = CALCULARE (SUMĂ (Vânzări [Cantitate vânzări]), ANTERIOR CARE (Calendar [DateKey]))

  13. Faceți clic pe bifa din bara de formule sau apăsați Enter pentru a valida formula.

După ce ați adăugat acest lucru la modelul dvs., voila! Tocmai ați creat o măsură folosind DAX și nu una ușoară la asta.

Ceea ce face această formulă este calculați vânzările totale pentru trimestrul anterior, în funcție de filtrele aplicate într-un raport.

Deci, să vedem dacă ar trebui să punem Suma de vânzări și noul nostru Vânzările trimestriale anterioare măsurați într-un grafic, apoi adăugați An și QuarterOfYear la fel de Feliatoare, am primi ceva de genul celor de mai jos

Acum, că aveți o înțelegere de bază a conceptelor din Power BI DAX, puteți începe să creați singuri formule DAX pentru măsuri. Într-adevăr, poate fi puțin dificil de învățat, darDAX există de câțiva ani șiexistă multe resurse disponibile pe web. După ce ați citit acest blog și ați experimentat puțin, puteți învăța să găsiți soluții de afaceri prin Power BI DAX.