Začetek z DAX v Power BI



Ta spletni dnevnik Edureka vam pomaga, da začnete z osnovami Power BI DAX ali izrazi Data Analytics, če v sintaksi in primerih ne poznate Power BI-ja.

Ta blog je v bistvu zasnovan za uporabnike, ki so novi v in naj bi vam omogočil hiter in enostaven sprehod skozi jezik formule, imenovan Izrazi za analizo podatkov (DAX) .Če poznate funkcije v MS Excel ali , veliko formul v tem Osnove Power BI DAX članek bo videti podoben vam.

Tukaj so koncepti, ki so sestavni del vseh , po učenju katerega bi morali dobro razumeti najbolj temeljne koncepte v DAX-u.





Osnove Power BI DAX: Kaj je DAX?

Začnimo torej z osnovami Power BI DAX, prav?

Z uporabo Power BI Desktop je zelo enostavno ustvariti poročila, ki bodo takoj pokazala dragocene vpoglede.



Kaj pa, če morate analizirati odstotek rasti v vseh kategorijah izdelkov za vsa različna časovna obdobja? Ali pa morate izračunati letno rast vašega podjetja v primerjavi s tržnimi velikani?

Učenje DAX-a vam bo pomagalo kar najbolje izkoristiti svoje in rešiti resnične poslovne težave.

DAX je sestavljen iz funkcij, operatorjev in konstant, ki jih je mogoče v obliki formul izračunati za izračun vrednosti s pomočjo podatkov, ki so že prisotni v vašem modelu.



Power BI DAX vključuje knjižnico z več kot 200 funkcijami, operaterji in konstrukti. Njena knjižnica ponuja izjemno prilagodljivost pri ustvarjanju ukrepov za izračun rezultatov za skoraj vse potrebe po analizi podatkov.

Osnove Power BI DAX: Kako deluje?

Najprej naj vam razložim, kako to deluje.Večinoma bomo svoje razumevanje Power BI DAX oblikovali okoli treh temeljnih konceptov: Sintaksa , Kontekst , in Funkcije .

Seveda tukaj obstajajo še drugi pomembni koncepti, vendar bo razumevanje teh treh najboljših temeljev, na katerih boste gradili svoje veščine.

Sintaksa

The Sintaksa vsebuje različne komponente, ki sestavljajo formulo in kako je napisana. Lpoglejte to preprosto formulo DAX.

Ko poskušate razumeti formulo DAX, je pogosto koristno razčleniti vsak element v jezik, ki ga vsak dan razmišljate in govorite. Ta formula vključuje naslednje sintaksne elemente:

Sintaksa - Power BI DAX - Edureka

JAZ. Skupna prodaja je ime mere.

II. The operator enačbe enak (=) označuje začetek formule.

III. SUM sešteje vse številke v stolpcu, Prodaja [SalesAmount] .

IV. Obstajajo ti oklepaji () ki obdajajo izraz, ki vsebuje enega ali več argumentov. Vse funkcije zahtevajo vsaj en argument.

V. Prodaja je referenčna tabela.

MI. An prepir posreduje vrednost funkciji. Referenčni stolpec [SalesAmount] je argument, s katerim funkcija SUM pozna stolpec, v katerem mora združiti SUM.

Preprosto povedano, lahko ga preberete kot, ' Za ukrep z imenom Skupna prodaja izračunajte (=) SUM vrednosti v stolpcu [SalesAmount] v tabeli Prodaja. '

& pikUrejevalnik Power BI DAX vključuje funkcijo za predloge, ki vam pomaga ustvariti sintaksično pravilne formule, tako da vam predlaga prave elemente.

Kontekst

Kontekst je eden najpomembnejših od 3 konceptov DAX. Ko govorimo o kontekstu, se to lahko nanaša na eno od obeh vrst Vrstni kontekst in Filtriraj kontekst .

Uporablja se pretežno, ko že govorimo o Ukrepi , Vrstni kontekst je najlažje razumeti kot trenutno vrstico. Velja, kadar ima formula funkcijo, ki uporablja filtre za prepoznavanje posamezne vrstice v tabeli.

Filter-kontekst je malo težje razumeti kot vrstni kontekst. Osebje filtra si lahko najlažje predstavljate kot enega ali več filtrov, uporabljenih v izračunu. TheNamesto vrstnega konteksta ne obstaja kontekst filtra. Namesto tega velja poleg prvega. Oglejte si naslednjo formulo DAX.

Ta formula vključuje naslednje skladenjske elemente:

JAZ. Ime mere Prodaja prodaje .

II. The operator enačbe enak (=) označuje začetek formule.

III. The IZRAČUNAJ funkcija ovrednoti izraz kot argument.

IV. Oklepaj () obdajajo izraz, ki vsebuje enega ali več argumentov.

V. Mera [Skupna prodaja] v isti tabeli kot izraz.

MI. TO vejica (,) loči prvi argument izraza od argumenta filtra.

ALI PRIHAJAŠ. Polno kvalificiran referenčni stolpec, Kanal [ChannelName] je naš vrstni kontekst. Vsaka vrstica v tem stolpcu določa kanal, Store, Online itd.

VIII. Posebna vrednost, Shrani se uporablja kot filter. To je naš kontekst filtra.

Ta formula zagotavlja to Ukrep skupne prodaje se izračuna kot filtriranje samo za vrstice v stolpcu Channel [ChannelName] z vrednostjo »Store«.

Funkcije

Funkcije so vnaprej določene, strukturirane in urejene formule. Izračune izvajajo z uporabo argumenti prenesli nanje. Ti argumenti so lahko številke, besedilo, logične vrednosti ali druge funkcije.

Osnove Power BI DAX: Izračunani stolpci in ukrepi

V tem blogu se bomo osredotočili na formule Power BI DAX, uporabljene pri izračunih, v Ukrepi in Izračunani stolpci .

Izračunani stolpci

Ko ustvarite podatkovni model na Power BI Desktop, lahko tabelo razširite z ustvarjanjem novih stolpcev. Vsebina stolpcev je definirana z izrazom DAX, ovrednotena vrstica za vrstico ali v kontekstu trenutne vrstice v tej tabeli.

V podatkovnih modelih za DAX pa vsi izračunani stolpci zasedajo prostor v pomnilniku in se izračunajo med obdelavo tabele.

Takšno vedenje je koristno za boljšo uporabniško izkušnjo, vendar uporablja dragocen RAM in je zato slaba navada v proizvodnji, saj je vsak vmesni izračun shranjen v RAM-u in zapravlja dragocen prostor.

Ukrepi

Obstaja še en način določanja izračunov v modelu DAX, ki je koristen, če morate delovati na skupnih vrednostih, namesto da bi sledili posamezni vrsti. Ti izračuni so ukrepi. Ena od zahtev DAX je, da je treba ukrep določiti v tabeli. Vendar pa mera v resnici ne spada v tabelo. Meritev lahko torej premaknete iz ene tabele v drugo, ne da bi pri tem izgubili svojo funkcionalnost.

Izračunani stolpci v primerjavi z ukrepi

Merila in izračunani stolpci uporabljajo izraze DAX. Razlika je v kontekstu vrednotenja. Ukrep se ovrednoti v okviru celice, ocenjene v poročilu ali v poizvedbi DAX, izračunani stolpec pa se izračuna na ravni vrstice v tabeli, ki ji pripada.

Tudi če so videti podobni, obstaja velika razlika med izračunanimi stolpci in merili. Vrednost izračunanega stolpca se izračuna med osvežitvijo podatkov in uporabi trenutno vrstico kot kontekst, ki ni odvisna od interakcije uporabnika v poročilu.

Zato morate določiti izračunani stolpec, kadar koli želite narediti naslednje

  • Izračunane rezultate položite v rezalnik ali si oglejte rezultate v vrsticah ali stolpcih v vrtilni tabeli (v nasprotju z območjem vrednosti) ali v oseh grafikona ali uporabite rezultat kot pogoj filtra v poizvedbi DAX.
  • Določite izraz, ki je strogo vezan na trenutno vrstico. Na primer, Cena * Količina ne more delovati na povprečje ali na vsoto obeh stolpcev.
  • Razvrstite besedilo ali številke. Na primer obseg vrednosti za mero.

Ukrep deluje na agregacijah podatkov, ki jih določa trenutni kontekst, kar je odvisno od filtra, uporabljenega v poročilu - na primer rezalnik, vrstice in stolpci v vrtilni tabeli ali osi in filtri, uporabljeni na grafikonu.

Torej morate določiti mero, kadar želite prikazati izhajajoče vrednosti izračuna, ki odražajo izbire uporabnikov, kot je

  • Ko izračunate odstotek dobička na določeni izbiri podatkov.
  • Ko izračunate razmerja izdelka v primerjavi z vsemi izdelki, vendar ohranite filter tako po letu kot regiji.

Osnove Power BI DAX: Vrste funkcij v DAX

1. Združene funkcije

MIN

Ta funkcija DAX rprikaže najmanjšo številsko vrednost v stolpcu ali med dvema skalarnima izrazoma.

Sintaksa

MIN()

Primer

=MIN([ResellerMargin])

MINA

Ta funkcija DAX rvrne najmanjšo vrednost v stolpcu, vključno z vsemi logičnimi vrednostmi in številkami, predstavljenimi kot besedilo.

Sintaksa

MINA()

Primer

=MINA(([Poštna številka])

MINX

Ta funkcija DAX se vrnenajmanjša številska vrednost, ki je rezultat ocenjevanja izraza za vsako vrstico tabele.

Sintaksa

MINX(

,)

Primer

=MINX(FILTRIRAJ(InternetSales, InternetSales [SalesTerritoryKey] =5.), InternetSales [Freight] + InternetSales [TaxAmt])

NAJVEČ

Ta funkcija DAX rvrne največjo vrednost v stolpcu, vključno z vsemi logičnimi vrednostmi in številkami, predstavljenimi kot besedilo.

Sintaksa

NAJVEČ()

Primer

=NAJVEČ([ResellerMargin])

NAJVEČ

Ta funkcija DAX rvrne največjo vrednost v stolpcu, vključno z vsemi logičnimi vrednostmi in številkami, predstavljenimi kot besedilo.

Sintaksa

NAJVEČ()

Primer

=NAJVEČ(([Poštna številka])

MAXX

Ta funkcija DAX se vrnenajvečja številska vrednost, ki je rezultat ocenjevanja izraza za vsako vrstico tabele.

Sintaksa

MAXX(

,)

Primer

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

SUM

Ta funkcija DAX adds vse številke v stolpcu.

Sintaksa

SUM()

Primer

=SUM(Prodaja [pisarna])

POVPREČNO

Ta funkcija DAX rvrne aritmetično sredino vrednosti v stolpcu.

Sintaksa

POVPREČNO ()

Primer

=POVPREČNO(InternetSales [ExtendedSalesAmount])

sumx

Ta funkcija DAX rvrne vsoto izraza, izračunanega za vsako vrstico v tabeli.

Sintaksa

sumx(

,)

Primer

=sumx(FILTRIRAJ(InternetSales, InternetSales [SalesTerritoryID] =5.), [Tovorni promet])

AVERAGEX

Ta funkcija DAX cizračuna aritmetično sredino nabora izrazov, ovrednotenih v tabeli.

Sintaksa

AVERAGEX(

,)

Primer

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

2. Štetje funkcij

DISTINCTCOUNT

To je funkcija DAX, ki se uporablja za vrnitev ločenega števila elementov v stolpcu. Torej, če obstaja več številk istega predmeta, ga bo ta funkcija štela kot en element.

Sintaksa

DISTINCTCOUNT()

Primer

=DISTINCTCOUNT(ResellerSales_USD [SalesOrderNumber])

ŠT

To je funkcija DAX, ki se uporablja za vrnitev števila elementov v stolpcu. Torej, če obstaja več številk istega elementa, ga bo ta funkcija štela kot ločene elemente in ne kot en element.

Sintaksa

ŠT()

kako uporabiti iterator v javi -

Primeri

=ŠT([Datum pošiljanja])

TOČKA

To je funkcija DAX, ki se uporablja za vrnitev števila elementov v stolpcu, ki ni prazen.

Sintaksa

TOČKA()

Primer

=TOČKA('Prodajalec' [telefon])

COUNTROS

To je funkcija DAX, kišteje število vrstic v navedeni tabeli ali v tabeli, ki jo določa izraz.

Sintaksa

COUNTROS(

)

Primer

=COUNTROS('Naročila')

COUNTBLANK

To je funkcija DAX, kišteje število praznih celic v stolpcu.

Sintaksa

COUNTBLANK()

Primer

=COUNTBLANK(Prodajalec [BankName])

3. Datum-čas funkcije

DATUM

Ta funkcija DAX rvrne navedeni datum v obliki Date-Time.

Sintaksa

DATUM(<leto>,<mesec>,<dan>)

Primer

=DATUM(2019,12., 17)

URA

Ta funkcija DAX rizračuna določeno uro kot število od 0 do 23 (od 12:00 do 11:00).

Sintaksa

URA()

Primer

=URA('Naročila' [TransactionTime])

DANES

Ta funkcija DAX rprikaže trenutni datum.

Sintaksa

DANES()

ZDAJ

Ta funkcija DAX rprikaže trenutni datum in čas v obliki Date-Time.

Sintaksa

ZDAJ()

EOMONTH

Ta funkcija DAX rprikaže datum v obliki Datum-čas zadnjega dne v mesecu, pred ali po določenem številu mesecev.

Sintaksa

EOMONTH(,)

Primer

=EOMONTH('3. marec 2008',1.5)

4. Matematične funkcije

ODDELEK

Ta funkcija DAX rizračuna absolutno vrednost podanega števila.

Sintaksa

ODDELEK()

Primer

=ABS ([DealerPrice] - [ListPrice])

EXP

Ta funkcija DAX reurns vrednost e, dvignjeno v potenco danega števila.

Sintaksa

EXP()

Primer

= EXP ([moč])

DEJSTVO

Ta funkcija DAX rprikaže faktorijel števila.

Sintaksa

DEJSTVO()

Primer

= FACT ([Vrednosti])

LN

Ta funkcija DAX rprikaže naravni dnevnik danega števila.

Sintaksa

LN()

Primer

= LN ([Vrednosti])

LOG

Ta funkcija DAX rvrne dnevnik z dnom podane številke.

Sintaksa

LOG(,)

Primer

Vsi naslednji vrnejo enak rezultat, 2.

= LOG (100,10.)

= LOG (100)

= LOG10 (100)

PI

Ta funkcija DAX rizračuna vrednost Pi.

Sintaksa

PI()

MOČ

Ta funkcija DAX reurns vrednost prvega argumenta, dvignjenega do moči drugega argumenta.

Sintaksa

MOČ(,<moč>)

Primer

= MOČ (5.,2.)

KAKOVOST

Ta funkcija DAX izvaja delitev rprikaže celoštevilski količnik.

Sintaksa

KAKOVOST(,)

Primer

= KAKOVOST (5.,2.)

ZNAK

Ta funkcija DAX vrne znak dane številke.

Sintaksa

ZNAK()

Primer

= PODPIS (([[prodajna cena] - [cena]])

SQRT

Ta funkcija DAX reurns kvadratni koren danega števila.

Sintaksa

SQRT()

Primer

= SQRT (25.)

5. Logične funkcije

IN

Ta funkcija DAX izvaja logični AND (konjunkcija) na dveh izrazih. Da se možnost AND vrne, morata biti izpolnjena oba navedena pogoja.

Sintaksa

IN(,)

Primer

= ČE (IN (10.>9., -10. <-eno),'Vse res',„Ena ali več napačnih“

Ker sta oba pogoja, posredovana funkciji AND kot argumenta, resnična, formula vrne 'Vse resnično'.

ALI

Ta funkcija DAX izvaja logično ALI (disjunkcija) na dveh izrazih. Če želite OR vrniti true, mora biti izpolnjen kateri koli od navedenih pogojev.

Sintaksa

ALI(,)

Primer

= ČE (ALI (10.>9., -10.> -eno),'Prav','Napačno'

Ker je eden od pogojev, poslanih kot argumenti, funkciji OR res, formula vrne 'True'.

NE

Ta funkcija DAX izvaja logični NOT (negacija) za dani izraz.

Sintaksa

NE()

Primer

= NE ([Izračunani stolpec1])

Za vsako vrstico v izračunanem stolpcu1 funkcija NOT vrne logično nasprotje dane vrednosti.

ČE

Ta funkcija DAX preizkusi vrsto vhodov za tistega, ki izpolnjuje pogoj, naveden v argumentu.

Sintaksa

ČE(logic_test> ,, value_if_false)

Primer

= IF ([klici]<200,'nizko', IF ([klici]<300,'srednje','visoko'))

IFERROR

Ta funkcija DAX eizračuna izraz in vrne določeno vrednost, če izraz vrne napako.

Sintaksa

IFERROR(vrednost, value_if_error)

Primer

= IFERROR (25./0,9999)

6. Informacijske funkcije

ISBLANK

Ta funkcija DAXvrne TRUE ali FALSE pocpreverjanje, ali je vrednost prazna.

Sintaksa

ISBLANK(<vrednost>)

Primer

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

ŠTEVILO

Ta funkcija DAXvrne TRUE ali FALSE pocpreverjanje, ali je vrednost številčna.

Sintaksa

ŠTEVILO(<vrednost>)

Primer

= ČE (ŠTEVILO (0),'Je številka','Ni številka')

ISTEXT

Ta funkcija DAXvrne TRUE ali FALSE pocpreverjanje, ali je vrednost besedilo.

Sintaksa

ISTEXT(<vrednost>)

Primer

= IF (ISTEXT ('besedilo'),'Je besedilo','Je nebesedilno')

ISNONTEXT

Ta funkcija DAXvrne TRUE ali FALSE pocpreverjanje, ali je vrednost nebesedilna.

Sintaksa

ISNONTEXT(<vrednost>)

Primer

= IF (ISNONTEXT ('besedilo'),'Je nebesedilno','Je besedilo')

ISERROR

Ta funkcija DAXvrne TRUE ali FALSE pocpreverjanje, ali je vrednost napaka.

Sintaksa

ISERROE(<vrednost>)

Primer

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

7. Besedilne funkcije

KONKATENAT

Ta funkcija DAX jpretvori dva besedilna niza v enega.

Sintaksa

KONKATENAT(,)

Primer

= CONCATENATE ('Pozdravljeni', 'Svet')

CONCATENATEX

Ta funkcija DAXrezultat izraza, ovrednotenega za vsako vrstico v tabeli.

Sintaksa

CONCATENATEX(

,, [ločilo])

Primer

= CONCATENATEX (Zaposleni, [FirstName] & ““ & [LastName], “,“)

POPRAVLJENO

Ta funkcija DAX rpretvori število na določeno število decimalnih mest in vrne rezultat kot besedilo.

Sintaksa

POPRAVLJENO(,,)

Primer

= POPRAVLJENO ([PctCost],3.,eno)

ZAMENJATI

Ta funkcija DAXnadomesti del besedilnega niza, ki temelji na številu znakov, ki ste ga določili, z drugim besedilnim nizom.

Sintaksa

ZAMENJATI(,,,)

Primer

= REPLACE ('Novi izdelki' [koda izdelka],eno,2.,'OB')

ISKANJE

Ta funkcija DAX rizračuna število znakov, pri katerih je bil določen besedilni niz prvič najden.

Sintaksa

ISKANJE(, [, [] [,]])

Primer

= ISKANJE ('n','tiskalnik')

Formula vrne 4, ker je 'n' četrti znak v besedi 'printer'.

ZGORNJI

Ta funkcija DAX se vrnebesedilni niz z velikimi črkami.

Sintaksa

ZGORNJI()

Primer

= GORNJE (['Novi izdelki' [Koda izdelka])

Osnove Power BI DAX: Ustvarjanje prvega ukrepa

Predpogoj: Morali boste odpreti to dano datoteko Power BI Desktop .

Ker predvidevam, da bo to vaš prvi, bom to podrobno napisal, da boste lahko nadaljevali.

  1. Na seznamu polj Pogled poročila , z desno miškino tipko kliknite Prodaja tabela, ki ji sledi Nov ukrep .

  2. Zamenjati Izmeri z vpisom novega imena mere Prodaja v prejšnjem četrtletju, v Vrstica formule .

  3. V tej formuli želite uporabiti IZRAČUNAJ funkcijo. Torej, za enačbo vnesite prvih nekaj črk CAL in nato dvokliknite funkcijo, ki jo želite uporabiti.

  4. Funkcija CALCULATE ima vsaj dva argumenta. Prvi je izraz, ki ga je treba ovrednotiti, drugi pa a Filter .

  5. Po odprtju oklepaj ( za IZRAČUNAJ funkcija, vrsta SUM čemur sledi še ena uvodna oklepaja ( za posredovanje argumenta SUM funkcijo.

  6. Začnite tipkati Sol in nato izberite Prodaja [SalesAmount] , čemur sledi zaključna oklepaj ) . To je prvi argument izraza za našo IZRAČUNAJ funkcijo.

  7. Vnesite a vejica (,) čemur sledi presledek za podajanje prvega filtra in nato tipa PREJŠNJI ČETRTLET . To bo naš filter.

  8. Uporabili boste PREJŠNJI ČETRTLET funkcija časovne inteligence za filtriranje SUM rezultati v prejšnjem četrtletju.

  9. Po odprtju oklepaja ( za funkcijo PREVIOUSQUARTER vnesite Koledar [DateKey] .

  10. The PREJŠNJI ČETRTLET funkcija ima en argument, stolpec, ki vsebuje sosednji obseg datumov. V našem primeru je to DateKey stolpec v tabeli Koledar.

  11. Prepričajte se, da sta oba argumenta, ki se posredujeta PREVIOUSQUARTER, in funkcija CALCULATE zaprta, tako da vnesete dve zaprti oklepaji )) .

  12. Vaša formula bi zdaj morala izgledati nekako takole
    Prodaja v prejšnjem četrtletju = IZRAČUNAJ (SUM (Prodaja [znesek prodaje]), PREJŠNJI KVART (koledar [tipka datuma]))

  13. Kliknite potrditveno polje v vrstici s formulami ali pritisnite Enter, da potrdite formulo.

Ko to dodate svojemu modelu, voila! Pravkar ste ustvarili ukrep z uporabo DAX-a, in to ne enostavnega.

Kaj naredi ta formula? izračunajte skupno prodajo za prejšnje četrtletje, odvisno od filtrov, uporabljenih v poročilu.

Torej, kaj, če bi morali postaviti SalesAmount in naše novo Prodaja v prejšnjem četrtletju izmerite v grafikonu in nato dodajte Leto in QuarterOfYear kot Rezalniki, dobili bi nekaj takega, kot je naslednje

Zdaj, ko ste osnovno razumeli koncepte v Power BI DAX, lahko začnete sami ustvarjati formule DAX za ukrepe. Dejansko je lahko nekoliko zapleteno pri učenju, todaDAX obstaja že nekaj let inv spletu je na voljo veliko virov. Po branju tega spletnega dnevnika in nekaj eksperimentiranja se lahko naučite iskati poslovne rešitve s pomočjo Power BI DAX.