Počevši od DAX-a u Power BI-u



Ovaj Edureka blog pomaže vam da započnete s Power BI DAX osnovama ili Data Analytics Expressionsima ako ste novi sin Power BI sa sintaksom i primjerima.

Ovaj je blog u osnovi dizajniran za korisnike koji nisu novi u a namijenjen vam je brzoj i laganoj šetnji jezikom formule tzv Izrazi za analizu podataka (DAX) .Ako ste upoznati s funkcijama u MS Excel ili , mnoge formule u ovome Osnove Power BI DAX-a članak će se činiti sličan vama.

Nakon toga, evo pojmova koji čine sastavni dio svega , nakon učenja koje biste trebali dobro razumjeti najosnovnije koncepte u DAX-u.





Osnove Power BI DAX-a: Što je DAX?

Pa, krenimo s osnovama Power BI DAX-a, u redu?

Prilično je jednostavno stvoriti izvješća pomoću Power BI Desktop-a, koji će odmah pokazati dragocjene uvide.



Ali, što ako trebate analizirati postotak rasta u svim kategorijama proizvoda, za sve različite datumske periode? Ili, trebate izračunati godišnji rast vaše tvrtke u usporedbi s tržišnim divovima?

Učenje DAX-a pomoći će vam da na najbolji način iskoristite svoj i riješiti stvarne poslovne probleme.

DAX se sastoji od funkcija, operatora i konstanti koje se mogu staviti u formulu za izračunavanje vrijednosti uz pomoć podataka koji su već prisutni u vašem modelu.



Power BI DAX uključuje biblioteku s preko 200 funkcija, operatora i konstrukcija. Njegova knjižnica pruža neizmjernu fleksibilnost u stvaranju mjera za izračunavanje rezultata za gotovo sve potrebe analize podataka.

Osnove Power BI DAX-a: Kako to radi?

Prije svega, dopustite mi da vam objasnim kako to funkcionira.Uglavnom ćemo svoje razumijevanje Power BI DAX-a oblikovati oko tri temeljna koncepta: Sintaksa , Kontekst , i Funkcije .

Naravno, ovdje postoje i drugi važni koncepti, ali razumijevanje ove trojice pružit će najbolji temelj na kojem ćete graditi svoje vještine.

Sintaksa

The Sintaksa sastoji se od različitih komponenata koje čine formulu i kako je napisana. Lpogledajte ovu jednostavnu formulu DAX.

Kada pokušavate razumjeti formulu DAX-a, korisno je razbiti svaki od elemenata na jezik koji svakodnevno mislite i govorite. Dakle, ova formula uključuje sljedeće elemente sintakse:

Sintaksa - Power BI DAX - Edureka

Ja Totalna rasprodaja je naziv mjere.

II. The operator jednakosti (=) označava početak formule.

III. IZNOS zbraja sve brojeve u stupcu, Prodaja [SalesAmount] .

IV. Ima ih zagrade () koji okružuju izraz koji sadrži jedan ili više argumenata. Sve funkcije zahtijevaju barem jedan argument.

V. Prodajni je referenca na tablicu.

MI. An argument prosljeđuje vrijednost funkciji. Referencirani stupac [SalesAmount] je argument s kojim funkcija SUM zna stupac na kojem mora agregirati SUM.

Jednostavno rečeno, možete ga pročitati kao, ' Za mjeru pod nazivom Ukupna prodaja izračunajte (=) ZBOR vrijednosti u stupcu [SalesAmount] u tablici Prodaja. '

& pikUređivač Power BI DAX uključuje značajku prijedloga koja vam pomaže stvoriti sintaktički ispravne formule predlažući vam prave elemente.

Kontekst

Kontekst jedan je od najvažnijih od 3 DAX koncepta. Kad se govori o kontekstu, to se može odnositi na jednu od dvije vrste Kontekst reda i Filtriraj kontekst .

Koristi se pretežno dok se govori o Mjere , Redak-kontekst najlakše se smatra trenutnim redom. Primjenjuje se kad god formula ima funkciju koja primjenjuje filtre za prepoznavanje jednog retka u tablici.

Filtar-kontekst je malo teže razumjeti od konteksta reda. O filtru-kontekstu najlakše možete razmišljati kao o jednom ili više filtara primijenjenih u izračunu. TheFilter-Context ne postoji umjesto Row-context. Dapače, primjenjuje se uz prvo. Pogledajte sljedeću DAX formulu.

Ova formula uključuje sljedeće elemente sintakse:

Ja Naziv mjere Prodaja u trgovini .

II. The operator jednakosti (=) označava početak formule.

III. The IZRAČUNATI funkcija procjenjuje izraz kao argument.

IV. Zagrada () okružuju izraz koji sadrži jedan ili više argumenata.

V. Mjera [Totalna rasprodaja] u istoj tablici kao izraz.

MI. DO zarez (,) razdvaja prvi argument izraza od argumenta filtra.

DOLAZIŠ LI. Potpuno kvalificirani referencirani stupac, Kanal [ChannelName] je naš redak-kontekst. Svaki redak u ovom stupcu navodi kanal, trgovinu, mrežu itd.

VIII. Posebna vrijednost, Spremi koristi se kao filtar. Ovo je naš kontekst filtra.

Ova formula osigurava da ukupna prodajna mjera izračunava se samo za retke u stupcu Channel [ChannelName] s vrijednošću 'Store' kao filtar.

Funkcije

Funkcije su unaprijed definirane, strukturirane i poredane formule. Izračunavaju pomoću argumenti prenio na njih. Ti argumenti mogu biti brojevi, tekst, logičke vrijednosti ili druge funkcije.

Osnove Power BI DAX-a: Izračunati stupci i mjere

Na ovom ćemo se blogu usredotočiti na Power BI DAX formule korištene u izračunima, u Mjere i Izračunati stupci .

Izračunati stupci

Kada kreirate podatkovni model na Power BI Desktop, možete proširiti tablicu stvaranjem novih stupaca. Sadržaj stupaca definiran je DAX izrazom, vrednuje se red po red ili u kontekstu trenutnog retka u toj tablici.

U podatkovnim modelima za DAX, međutim, svi izračunati stupci zauzimaju prostor u memoriji i izračunavaju se tijekom obrade tablice.

Ovo ponašanje pomaže u rezultiranju boljim korisničkim iskustvom, ali koristi dragocjeni RAM i stoga je loša navika u proizvodnji jer se svaki međuračun pohranjuje u RAM i troši dragocjeni prostor.

Mjere

Postoji još jedan način definiranja izračuna u DAX modelu, koristan ako trebate raditi na skupnim vrijednostima umjesto na osnovi reda po red. Ovi izračuni su mjere. Jedan od zahtjeva DAX-a je da mjeru treba definirati u tablici. Međutim, mjera zapravo ne pripada tablici. Dakle, možete premjestiti mjeru s jedne tablice na drugu, a da pritom ne izgubite njezinu funkcionalnost.

Izračunati stupci nasuprot mjerama

I mjere i izračunati stupci koriste DAX izraze. Razlika je u kontekstu ocjenjivanja. Mjera se procjenjuje u kontekstu ćelije koja se procjenjuje u izvješću ili u DAX upitu, dok se izračunati stupac izračunava na razini retka unutar tablice kojoj pripada.

Čak i ako izgledaju slično, velika je razlika između izračunatih stupaca i mjera. Vrijednost izračunatog stupca izračunava se tijekom osvježavanja podataka i koristi trenutni redak kao kontekst koji ne ovisi o interakciji korisnika u izvješću.

Stoga morate definirati izračunati stupac kad god želite učiniti sljedeće

  • Stavite izračunate rezultate u rezač ili pogledajte rezultate u retke ili stupce u zaokretnoj tablici (za razliku od područja vrijednosti) ili u osi grafikona ili upotrijebite rezultat kao uvjet filtra u DAX upitu.
  • Definirajte izraz koji je strogo vezan uz trenutni redak. Na primjer, cijena * količina ne može raditi na prosjeku ili na zbroju dva stupca.
  • Kategorizirajte tekst ili brojeve. Na primjer, raspon vrijednosti za mjeru.

Mjera djeluje na agregacijama podataka definiranim trenutnim kontekstom, što ovisi o filtru primijenjenom u izvješću - poput rezača, redaka i odabira stupaca u zaokretnoj tablici ili osi i filtara primijenjenih na grafikon.

Dakle, morate definirati mjeru kad god želite prikazati rezultirajuće vrijednosti izračuna koje odražavaju odabir korisnika, kao što je

  • Kada izračunate postotak dobiti na određenom odabiru podataka.
  • Kada izračunate omjere proizvoda u usporedbi sa svim proizvodima, ali zadržavajući filtar i po godini i regiji.

Osnove Power BI DAX-a: Vrste funkcija u DAX-u

1. Skupne funkcije

MIN

Ova funkcija DAX rdaje minimalnu brojčanu vrijednost u stupcu ili između dva skalarna izraza.

Sintaksa

MIN()

Primjer

=MIN([ResellerMargin])

MINA

Ova funkcija DAX rdaje najmanju vrijednost u stupcu, uključujući logičke vrijednosti i brojeve predstavljene u obliku teksta.

Sintaksa

MINA()

Primjer

=MINA(([Poštanski broj])

NAMIGUŠA

Ova funkcija DAX se vraćaminimalna numerička vrijednost koja proizlazi iz procjene izraza za svaki redak tablice.

Sintaksa

NAMIGUŠA(

,)

Primjer

=NAMIGUŠA(FILTAR(InternetSales, InternetSales [SalesTerritoryKey] =5), InternetProdaje [Teret] + InternetProdaje [Porez]

MAKS

Ova funkcija DAX rdaje najveću vrijednost u stupcu, uključujući logičke vrijednosti i brojeve predstavljene u obliku teksta.

Sintaksa

MAKS()

Primjer

=MAKS([ResellerMargin])

MAKS

Ova funkcija DAX rdaje najveću vrijednost u stupcu, uključujući logičke vrijednosti i brojeve predstavljene u obliku teksta.

Sintaksa

MAKS()

Primjer

=MAKS(([Poštanski broj])

MAXX

Ova funkcija DAX se vraćamaksimalna numerička vrijednost koja proizlazi iz procjene izraza za svaki redak tablice.

Sintaksa

MAXX(

,)

Primjer

=MAXX(FILTAR(InternetSales, InternetSales [SalesTerritoryKey] =5), InternetProdaje [Teret] + InternetProdaje [Porez]

IZNOS

Ova DAX funkcija adds sve brojeve u stupcu.

Sintaksa

IZNOS()

Primjer

=IZNOS(Prodaja [ured])

PROSJEČNO

Ova funkcija DAX returns aritmetička sredina vrijednosti u stupcu.

Sintaksa

PROSJEČNO ()

Primjer

=PROSJEČNO(InternetProdaje [ExtendedSalesAmount])

sumx

Ova funkcija DAX rizračunava zbroj izraza koji se procjenjuje za svaki redak u tablici.

Sintaksa

sumx(

,)

Primjer

=sumx(FILTAR(InternetProdaje, InternetProdaje [SalesTerritoryID] =5),[Teretni])

AVERAGEX

Ova DAX funkcija calkulira aritmetičku sredinu skupa izraza vrednovanih preko tablice.

podniz u primjerima sql poslužitelja

Sintaksa

AVERAGEX(

,)

Primjer

=AVERAGEX(InternetProdaje, InternetProdaje [Teret] + InternetProdaje [Porez])

2. Funkcije brojanja

DISTINCTCOUNT

Ovo je DAX funkcija koja se koristi za vraćanje različitog broja stavki u stupcu. Dakle, ako postoji više brojeva iste stavke, ova funkcija će je računati kao jednu stavku.

Sintaksa

DISTINCTCOUNT()

Primjer

=DISTINCTCOUNT(ResellerSales_USD [SalesOrderNumber])

RAČUNATI

Ovo je DAX funkcija koja se koristi za vraćanje broja stavki u stupcu. Dakle, ako postoji više brojeva iste stavke, ova funkcija će je računati kao zasebne stavke, a ne kao jednu stavku.

Sintaksa

RAČUNATI()

Primjeri

=RAČUNATI([Datum slanja])

TAČKA

Ovo je funkcija DAX koja se koristi za vraćanje broja stavki u stupcu koji nije prazan.

Sintaksa

TAČKA()

Primjer

=TAČKA('Preprodavač' [telefon])

ZEMLJE

Ovo je DAX funkcija kojabroji broj redaka u navedenoj tablici ili u tablici definiranoj izrazom.

Sintaksa

ZEMLJE(

)

Primjer

=ZEMLJE('Narudžbe')

COUNTBLANK

Ovo je DAX funkcija kojabroji broj praznih ćelija u stupcu.

Sintaksa

COUNTBLANK()

Primjer

=COUNTBLANK(Prodavač [BankName])

3. Datum-vrijeme funkcije

DATUM

Ova funkcija DAX rvraća navedeni datum u formatu Date-Time.

Sintaksa

DATUM(<godina>,<mjesec>,<dan>)

Primjer

=DATUM(2019,12, 17)

binarni u decimalni pretvarač java

SAT

Ova funkcija DAX rnavodi navedeni sat kao broj od 0 do 23 (od 12:00 do 11:00).

Sintaksa

SAT()

Primjer

=SAT('Narudžbe' [TransactionTime])

DANAS

Ova funkcija DAX rponištava trenutni datum.

Sintaksa

DANAS()

SADA

Ova funkcija DAX rvraća trenutni datum i vrijeme u formatu Date-Time.

Sintaksa

SADA()

EOMONTH

Ova funkcija DAX rizračunava datum u formatu Datum-Vrijeme posljednjeg dana u mjesecu, prije ili nakon određenog broja mjeseci.

Sintaksa

EOMONTH(,)

Primjer

=EOMONTH('3. ožujka 2008',1.5)

4. Matematičke funkcije

ODJELJAK

Ova funkcija DAX rizračunava apsolutnu vrijednost datog broja.

Sintaksa

ODJELJAK()

Primjer

=ABS ([cijena trgovca] - [lista cijene])

EXP

Ova funkcija DAX reurns vrijednost e podignute u potenciju datog broja.

Sintaksa

EXP()

Primjer

= EXP ([snaga])

ČINJENICA

Ova funkcija DAX reurnira faktorijel broja.

Sintaksa

ČINJENICA()

Primjer

= ČINJENICA ([Vrijednosti])

LN

Ova funkcija DAX reurnira prirodni zapis datog broja.

Sintaksa

LN()

Primjer

= LN ([Vrijednosti])

PRIJAVA

Ova funkcija DAX reurnira dnevnik s bazom zadanog broja.

Sintaksa

PRIJAVA(,)

Primjer

Sve sljedeće daju isti rezultat, 2.

= PRIJAVA (100,10)

= PRIJAVA (100)

= LOG10 (100)

PI

Ova funkcija DAX returns vrijednost Pi.

Sintaksa

PI()

VLAST

Ova funkcija DAX rvraća vrijednost prvog argumenta uzdignutog u moć drugog argumenta.

Sintaksa

VLAST(,<vlast>)

Primjer

= SNAGA (5,2)

KVOT

Ova funkcija DAX vrši podjelu reurnsira cjelobrojni dio količnika.

Sintaksa

KVOT(,)

Primjer

= KVOTI (5,2)

ZNAK

Ova DAX funkcija vraća znak zadanog broja.

Sintaksa

ZNAK()

Primjer

= ZNAK (([[Cijena prodaje] - [Cijena cijene]))

SQRT

Ova funkcija DAX returns kvadratni korijen zadanog broja.

Sintaksa

SQRT()

Primjer

= SQRT (25)

5. Logičke funkcije

I

Ova funkcija DAX izvodi logičko I (konjunkciju) na dva izraza. Da bi se AND vratilo istina, moraju biti ispunjena oba navedena uvjeta.

Sintaksa

I(,)

Primjer

= AKO (I (10>9, -10 <-jedan),'Sve istinito','Jedan ili više lažnih'

Budući da su oba uvjeta, prosljeđena kao argumenti, funkciji AND istinita, formula vraća 'All True'.

ILI

Ova funkcija DAX izvodi logičko ILI (disjunkcija) na dva izraza. Da bi se OR vratilo true, mora biti ispunjen bilo koji od dva navedena uvjeta.

Sintaksa

ILI(,)

Primjer

def __init__ u pythonu

= AKO (ILI (10>9, -10> -jedan),'Pravi','Lažno'

Budući da je jedan od uvjeta, prosljeđenih kao argumenti, funkciji OR istinit, formula vraća 'Tačno'.

NE

Ova funkcija DAX izvodi logički NOT (negaciju) na danom izrazu.

Sintaksa

NE()

Primjer

= NIJE ([Izračunati stupac1])

Za svaki redak u izračunatom stupcu1 funkcija NOT vraća logičku suprotnost od zadane vrijednosti.

AKO

Ova funkcija DAX testira niz ulaza za onaj koji ispunjava uvjet naveden u argumentu.

Sintaksa

AKO(logic_test> ,, value_if_false)

Primjer

= IF ([Pozivi]<200,'nisko', AKO ([Pozivi]<300,'srednji','visoko')))

IFERROR

Ova DAX funkcija evrednuje izraz i vraća navedenu vrijednost ako izraz vrati pogrešku.

Sintaksa

IFERROR(vrijednost, vrijednost_ako_pogreška)

Primjer

= IFERROR (25/0,9999)

6. Informacijske funkcije

ISBLANK

Ova funkcija DAXvraća TRUE ili FALSE nakoncprovjeravajući je li vrijednost prazna.

Sintaksa

ISBLANK(<vrijednost>)

Primjer

= IF (ISBLANK ('CalculatedMeasures' [PreviousYearTotalSales]), BLANK (), ('CalculatedMeasures' [Ukupna prodaja] - 'CalculatedMeasures' [PreviousYearTotalSales]) / 'CalculatedMeasures' [PreviousYearTotalSales])

BROJ

Ova funkcija DAXvraća TRUE ili FALSE nakoncprovjeravajući je li vrijednost brojčana.

Sintaksa

BROJ(<vrijednost>)

Primjer

= AKO (BROJ (0),'Je li broj','Nije broj')

ISTEKST

Ova funkcija DAXvraća TRUE ili FALSE nakoncprovjeravajući je li vrijednost tekst.

Sintaksa

ISTEKST(<vrijednost>)

Primjer

= AKO (ISTEXT ('tekst'),'Je li tekst','Nije tekstualno')

ISNONTEXT

Ova funkcija DAXvraća TRUE ili FALSE nakoncprovjeravajući je li vrijednost netekst.

Sintaksa

ISNONTEXT(<vrijednost>)

Primjer

= AKO (ISNONTEXT ('tekst'),'Nije tekstualno','Je li tekst')

ISERROR

Ova funkcija DAXvraća TRUE ili FALSE nakoncprovjeravajući je li vrijednost pogreška.

Sintaksa

ISERROE(<vrijednost>)

Primjer

= AKO (ISERROR (SUM ('ResellerSales_USD' [SalesAmount_USD]) / SUM ('InternetSales_USD' [SalesAmount_USD])), PRAZNO (), SUM ('ResellerSales_USD' [SalesAmount_USD]) / SUM ('InternetSalesAmur_USD]'USD]

7. Tekstualne funkcije

KONKATENAT

Ova DAX funkcija jspaja dva tekstna niza u jedan.

Sintaksa

KONKATENAT(,)

Primjer

= CONCATENATE ('Pozdrav', 'Svijet')

CONCATENATEX

Ova funkcija DAXrezultat izraza koji se procjenjuje za svaki redak u tablici.

Sintaksa

CONCATENATEX(

,, [graničnik])

Primjer

= CONCATENATEX (Zaposlenici, [Ime] & ““ & [Prezime], “,“)

POPRAVLJENO

Ova funkcija DAX rpretvara broj na navedeni broj decimala i vraća rezultat u obliku teksta.

Sintaksa

POPRAVLJENO(,,)

Primjer

= FIKSNO ([PctCost],3,jedan)

ZAMIJENITI

Ova funkcija DAXzamjenjuje dio tekstualnog niza na temelju broja znakova koji ste naveli drugim tekstnim nizom.

Sintaksa

ZAMIJENITI(,,,)

Primjer

= REPLACE ('Novi proizvodi' [Šifra proizvoda],jedan,2,'OB')

TRAŽI

Ova funkcija DAX rizračunava broj znakova kod kojih se prvi put nalazi određeni tekstualni niz.

Sintaksa

TRAŽI(, [, [] [,]])

Primjer

= TRAŽI ('n','printer')

Formula vraća 4 jer je 'n' četvrti znak u riječi 'printer'.

GORNJI

Ova funkcija DAX se vraćatekstualni niz velikim slovima.

Sintaksa

GORNJI()

Primjer

= GORNJE (['Novi proizvodi' [Šifra proizvoda])

Osnove Power BI DAX-a: Stvaranje vaše prve mjere

Preduvjet: Morat ćete otvoriti ovu zadanu datoteku Power BI Desktop .

Budući da pretpostavljam da će vam ovo biti prvo, napisat ću ovaj detalj vrlo detaljno da biste nastavili.

  1. Na popisu polja Prikaz izvješća , desnom tipkom miša kliknite Prodajni tablici, nakon koje slijedi Nova mjera .

  2. Zamijeniti Mjera upisivanjem novog naziva mjere Prodaja u prethodnom tromjesečju, u Formula Bar .

  3. U ovoj formuli želite koristiti IZRAČUNATI funkcija. Dakle, nakon znaka jednakosti upišite prvih nekoliko slova KAL , a zatim dvokliknite funkciju koju želite koristiti.

  4. Funkcija CALCULATE ima najmanje dva argumenta. Prvi je izraz koji treba procijeniti, a drugi je a filtar .

  5. Nakon otvaranja zagrada ( za IZRAČUNATI funkcija, vrsta IZNOS nakon čega slijedi još jedna početna zagrada ( proslijediti argument na IZNOS funkcija.

  6. Počnite tipkati Sol , a zatim odaberite Prodaja [SalesAmount] , nakon čega slijedi završna zagrada ) . Ovo je prvi argument izraza za naš IZRAČUNATI funkcija.

  7. Upišite a zarez (,) nakon čega slijedi razmak za specificiranje prvog filtra, a zatim upišite PRETHODNI KVARTART . Ovo će biti naš filtar.

  8. Upotrijebit ćete PRETHODNI KVARTART funkcija vremenske inteligencije za filtriranje IZNOS rezultati u prethodnom tromjesečju.

  9. Nakon uvodne zagrade ( za funkciju PREVIOUSQUARTER upišite Kalendar [DateKey] .

  10. The PRETHODNI KVARTART funkcija ima jedan argument, stupac koji sadrži susjedni raspon datuma. U našem slučaju, to je DateKey stupac u tablici Kalendar.

  11. Obavezno zatvorite oba argumenta koji se prosljeđuju u PREVIOUSQUARTER i funkciju CALCULATE tako da upišete dvije zatvorene zagrade ))) .

  12. Vaša bi formula sada trebala izgledati otprilike ovako
    Prodaja u prethodnom tromjesečju = IZRAČUNATI (ZBIR (prodaja [iznos prodaje)), PRETHODNI KVARTART (kalendar [tipka datuma]))

  13. Kliknite potvrdni znak na traci s formulama ili pritisnite Enter da biste potvrdili formulu.

Nakon što ste to dodali svom modelu, voila! Upravo ste stvorili mjeru pomoću DAX-a, i to nimalo laganu.

Ono što ova formula radi je izračunajte ukupnu prodaju za prethodni kvartal, ovisno o filtrima primijenjenim u izvješću.

Pa, hajde da moramo staviti Iznos prodaje i naš novi Prodaja u prethodnom tromjesečju izmjerite u grafikonu, a zatim dodajte Godina i QuarterOfYear kao Rezači, dobili bismo nešto poput sljedećeg

Sad kad ste osnovno razumjeli koncepte u Power BI DAX-u, možete samostalno započeti stvaranje DAX-ovih formula za mjere. Doista, to može biti malo nezgodno naučiti, aliDAX postoji već nekoliko godina ina webu je dostupno mnogo resursa. Nakon čitanja ovog bloga i malo eksperimentiranja, možete naučiti pronaći poslovna rješenja putem Power BI DAX-a.