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?
- Osnove Power BI DAX: Kako deluje?
- Osnove Power BI DAX: Izračunani stolpci in ukrepi
- Osnove Power BI DAX: Vrste funkcij v DAX
- Osnove Power BI DAX: Ustvarjanje prvega ukrepa
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:
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
Primer Ta funkcija DAX rvrne največjo vrednost v stolpcu, vključno z vsemi logičnimi vrednostmi in številkami, predstavljenimi kot besedilo. Sintaksa Primer Ta funkcija DAX rvrne največjo vrednost v stolpcu, vključno z vsemi logičnimi vrednostmi in številkami, predstavljenimi kot besedilo. Sintaksa Primer Ta funkcija DAX se vrnenajvečja številska vrednost, ki je rezultat ocenjevanja izraza za vsako vrstico tabele. Sintaksa Primer Ta funkcija DAX adds vse številke v stolpcu. Sintaksa Primer Ta funkcija DAX rvrne aritmetično sredino vrednosti v stolpcu. Sintaksa Primer Ta funkcija DAX rvrne vsoto izraza, izračunanega za vsako vrstico v tabeli. Sintaksa Primer Ta funkcija DAX cizračuna aritmetično sredino nabora izrazov, ovrednotenih v tabeli. Sintaksa Primer 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 Primer 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 Primeri To je funkcija DAX, ki se uporablja za vrnitev števila elementov v stolpcu, ki ni prazen. Sintaksa Primer To je funkcija DAX, kišteje število vrstic v navedeni tabeli ali v tabeli, ki jo določa izraz. Sintaksa Primer To je funkcija DAX, kišteje število praznih celic v stolpcu. Sintaksa Primer Ta funkcija DAX rvrne navedeni datum v obliki Date-Time. Sintaksa Primer Ta funkcija DAX rizračuna določeno uro kot število od 0 do 23 (od 12:00 do 11:00). Sintaksa Primer Ta funkcija DAX rprikaže trenutni datum. Sintaksa Ta funkcija DAX rprikaže trenutni datum in čas v obliki Date-Time. Sintaksa Ta funkcija DAX rprikaže datum v obliki Datum-čas zadnjega dne v mesecu, pred ali po določenem številu mesecev. Sintaksa Primer Ta funkcija DAX rizračuna absolutno vrednost podanega števila. Sintaksa Primer Ta funkcija DAX reurns vrednost e, dvignjeno v potenco danega števila. Sintaksa Primer Ta funkcija DAX rprikaže faktorijel števila. Sintaksa Primer Ta funkcija DAX rprikaže naravni dnevnik danega števila. Sintaksa Primer Ta funkcija DAX rvrne dnevnik z dnom podane številke. Sintaksa Primer Ta funkcija DAX rizračuna vrednost Pi. Sintaksa Ta funkcija DAX reurns vrednost prvega argumenta, dvignjenega do moči drugega argumenta. Sintaksa Primer Ta funkcija DAX izvaja delitev rprikaže celoštevilski količnik. Sintaksa Primer Ta funkcija DAX vrne znak dane številke. Sintaksa Primer Ta funkcija DAX reurns kvadratni koren danega števila. Sintaksa Primer Ta funkcija DAX izvaja logični AND (konjunkcija) na dveh izrazih. Da se možnost AND vrne, morata biti izpolnjena oba navedena pogoja. Sintaksa Primer 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 Primer Ta funkcija DAX izvaja logični NOT (negacija) za dani izraz. Sintaksa Primer Ta funkcija DAX preizkusi vrsto vhodov za tistega, ki izpolnjuje pogoj, naveden v argumentu. Sintaksa Primer Ta funkcija DAX eizračuna izraz in vrne določeno vrednost, če izraz vrne napako. Sintaksa Primer Ta funkcija DAXvrne TRUE ali FALSE pocpreverjanje, ali je vrednost prazna. Sintaksa Primer Ta funkcija DAXvrne TRUE ali FALSE pocpreverjanje, ali je vrednost številčna. Sintaksa Primer Ta funkcija DAXvrne TRUE ali FALSE pocpreverjanje, ali je vrednost besedilo. Sintaksa Primer Ta funkcija DAXvrne TRUE ali FALSE pocpreverjanje, ali je vrednost nebesedilna. Sintaksa Primer Ta funkcija DAXvrne TRUE ali FALSE pocpreverjanje, ali je vrednost napaka. Sintaksa Primer Ta funkcija DAX jpretvori dva besedilna niza v enega. Sintaksa Primer Ta funkcija DAXrezultat izraza, ovrednotenega za vsako vrstico v tabeli. Sintaksa Primer Ta funkcija DAX rpretvori število na določeno število decimalnih mest in vrne rezultat kot besedilo. Sintaksa Primer Ta funkcija DAXnadomesti del besedilnega niza, ki temelji na številu znakov, ki ste ga določili, z drugim besedilnim nizom. Sintaksa Primer Ta funkcija DAX rizračuna število znakov, pri katerih je bil določen besedilni niz prvič najden. Sintaksa Primer Ta funkcija DAX se vrnebesedilni niz z velikimi črkami. Sintaksa Primer 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. Na seznamu polj Pogled poročila , z desno miškino tipko kliknite Prodaja tabela, ki ji sledi Nov ukrep . Zamenjati Izmeri z vpisom novega imena mere Prodaja v prejšnjem četrtletju, v Vrstica formule . 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. Funkcija CALCULATE ima vsaj dva argumenta. Prvi je izraz, ki ga je treba ovrednotiti, drugi pa a Filter . Po odprtju oklepaj ( za IZRAČUNAJ funkcija, vrsta SUM čemur sledi še ena uvodna oklepaja ( za posredovanje argumenta SUM funkcijo. 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. Vnesite a vejica (,) čemur sledi presledek za podajanje prvega filtra in nato tipa PREJŠNJI ČETRTLET . To bo naš filter. Uporabili boste PREJŠNJI ČETRTLET funkcija časovne inteligence za filtriranje SUM rezultati v prejšnjem četrtletju. Po odprtju oklepaja ( za funkcijo PREVIOUSQUARTER vnesite Koledar [DateKey] . 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. Prepričajte se, da sta oba argumenta, ki se posredujeta PREVIOUSQUARTER, in funkcija CALCULATE zaprta, tako da vnesete dve zaprti oklepaji )) . Vaša formula bi zdaj morala izgledati nekako takole 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.
MINX(
,)
=MINX(FILTRIRAJ(InternetSales, InternetSales [SalesTerritoryKey] =5.), InternetSales [Freight] + InternetSales [TaxAmt])
NAJVEČ
NAJVEČ()
=NAJVEČ([ResellerMargin])
NAJVEČ
NAJVEČ()
=NAJVEČ(([Poštna številka])
MAXX
MAXX(
,)
=MAXX(FILTRIRAJ(InternetSales, InternetSales [SalesTerritoryKey] =5.), InternetSales [Freight] + InternetSales [TaxAmt])
SUM
SUM()
=SUM(Prodaja [pisarna])
POVPREČNO
POVPREČNO ()
=POVPREČNO(InternetSales [ExtendedSalesAmount])
sumx
sumx(
,)
=sumx(FILTRIRAJ(InternetSales, InternetSales [SalesTerritoryID] =5.), [Tovorni promet])
AVERAGEX
AVERAGEX(
,)
=AVERAGEX(InternetSales, InternetSales [Freight] + InternetSales [TaxAmt])
2. Štetje funkcij
DISTINCTCOUNT
DISTINCTCOUNT()
=DISTINCTCOUNT(ResellerSales_USD [SalesOrderNumber])
ŠT
ŠT()
kako uporabiti iterator v javi -
=ŠT([Datum pošiljanja])
TOČKA
TOČKA()
=TOČKA('Prodajalec' [telefon])
COUNTROS
COUNTROS(
)
=COUNTROS('Naročila')
COUNTBLANK
COUNTBLANK()
=COUNTBLANK(Prodajalec [BankName])
3. Datum-čas funkcije
DATUM
DATUM(<leto>,<mesec>,<dan>)
=DATUM(2019,12., 17)
URA
URA()
=URA('Naročila' [TransactionTime])
DANES
DANES()
ZDAJ
ZDAJ()
EOMONTH
EOMONTH(,)
=EOMONTH('3. marec 2008',1.5)
4. Matematične funkcije
ODDELEK
ODDELEK()
=ABS ([DealerPrice] - [ListPrice])
EXP
EXP()
= EXP ([moč])
DEJSTVO
DEJSTVO()
= FACT ([Vrednosti])
LN
LN()
= LN ([Vrednosti])
LOG
LOG(,)
Vsi naslednji vrnejo enak rezultat, 2.
= LOG (100,10.)
= LOG (100)
= LOG10 (100)
PI
PI()
MOČ
MOČ(,<moč>)
= MOČ (5.,2.)
KAKOVOST
KAKOVOST(,)
= KAKOVOST (5.,2.)
ZNAK
ZNAK()
= PODPIS (([[prodajna cena] - [cena]])
SQRT
SQRT()
= SQRT (25.)
5. Logične funkcije
IN
IN(,)
= Č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
ALI(,)
= ČE (ALI (10.>9., -10.> -eno),'Prav','Napačno'
Ker je eden od pogojev, poslanih kot argumenti, funkciji OR res, formula vrne 'True'.
NE
NE()
= NE ([Izračunani stolpec1])
Za vsako vrstico v izračunanem stolpcu1 funkcija NOT vrne logično nasprotje dane vrednosti.
ČE
ČE(logic_test> ,, value_if_false)
= IF ([klici]<200,'nizko', IF ([klici]<300,'srednje','visoko'))
IFERROR
IFERROR(vrednost, value_if_error)
= IFERROR (25./0,9999)
6. Informacijske funkcije
ISBLANK
ISBLANK(<vrednost>)
= IF (ISBLANK ('CalculatedMeasures' [PreviousYearTotalSales]), BLANK (), ('CalculatedMeasures' [Skupna prodaja] - 'CalculatedMeasures' [PreviousYearTotalSales]) / 'CalculatedMeasures' [PreviousYearTotalSales])
ŠTEVILO
ŠTEVILO(<vrednost>)
= ČE (ŠTEVILO (0),'Je številka','Ni številka')
ISTEXT
ISTEXT(<vrednost>)
= IF (ISTEXT ('besedilo'),'Je besedilo','Je nebesedilno')
ISNONTEXT
ISNONTEXT(<vrednost>)
= IF (ISNONTEXT ('besedilo'),'Je nebesedilno','Je besedilo')
ISERROR
ISERROE(<vrednost>)
= 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
KONKATENAT(,)
= CONCATENATE ('Pozdravljeni', 'Svet')
CONCATENATEX
CONCATENATEX(
,, [ločilo])
= CONCATENATEX (Zaposleni, [FirstName] & ““ & [LastName], “,“)
POPRAVLJENO
POPRAVLJENO(,,)
= POPRAVLJENO ([PctCost],3.,eno)
ZAMENJATI
ZAMENJATI(,,,)
= REPLACE ('Novi izdelki' [koda izdelka],eno,2.,'OB')
ISKANJE
ISKANJE(, [, [] [,]])
= ISKANJE ('n','tiskalnik')
Formula vrne 4, ker je 'n' četrti znak v besedi 'printer'.
ZGORNJI
ZGORNJI()
= GORNJE (['Novi izdelki' [Koda izdelka])
Osnove Power BI DAX: Ustvarjanje prvega ukrepa
Prodaja v prejšnjem četrtletju = IZRAČUNAJ (SUM (Prodaja [znesek prodaje]), PREJŠNJI KVART (koledar [tipka datuma]))