Začíname s DAX v Power BI



Tento blog Edureka vám pomôže začať so základmi Power BI DAX alebo výrazmi analýzy údajov, ak ste v Power BI nováčikom so syntaxou a príkladmi.

Tento blog je v podstate určený pre používateľov, ktorí sú na webe noví a má vám poskytnúť rýchlu a ľahkú prechádzku po formulovanom jazyku s názvom Výrazy na analýzu údajov (DAX) .Ak poznáte funkcie v MS Excel alebo , veľa vzorcov v tomto Základy Power BI DAX článok sa zobrazí podobne ako vy.

Napriek tomu tu uvádzame pojmy, ktoré tvoria neoddeliteľnú súčasť všetkého , po osvojení ktorých by ste mali dobre porozumieť najzákladnejším pojmom v DAX.





Základy DAX v Power BI: Čo je to DAX?

Začnime teda základmi jazyka Power BI DAX, dobre?

Vytváranie prehľadov pomocou aplikácie Power BI Desktop je celkom jednoduché, ktoré vám okamžite ukáže netradičné informácie.



Čo však v prípade, že potrebujete analyzovať percentuálny podiel rastu vo všetkých kategóriách produktov pre všetky rôzne rozsahy dátumov? Alebo musíte vypočítať ročný rast vašej spoločnosti v porovnaní s trhovými gigantmi?

Učenie jazyka DAX vám pomôže vyťažiť z toho maximum a vyriešiť skutočné obchodné problémy.

Jazyk DAX obsahuje funkcie, operátory a konštanty, ktoré je možné vložiť do formy vzorcov na výpočet hodnôt pomocou údajov, ktoré sú už vo vašom modeli k dispozícii.



Power BI DAX obsahuje knižnicu s viac ako 200 funkciami, operátormi a konštrukciami. Jej knižnica poskytuje obrovskú flexibilitu pri vytváraní opatrení na výpočet výsledkov pre takmer každú potrebu analýzy údajov.

Základy Power BI DAX: Ako to funguje?

Najprv mi dovoľte vysvetliť, ako to funguje.Z väčšej časti budeme svoje chápanie jazyka Power BI DAX koncipovať okolo troch základných konceptov: Syntax , Kontext a Funkcie .

Samozrejme, sú tu aj ďalšie dôležité pojmy, ale porozumenie týmto trom vám poskytne najlepší základ, na ktorom budete budovať svoje schopnosti.

Syntax

The Syntax sa skladá z rôznych zložiek, ktoré tvoria vzorec a ako je napísaný. Ľpozrite sa na tento jednoduchý vzorec jazyka DAX.

Pri pokuse o pochopenie vzorca DAX je často užitočné rozdeliť jednotlivé prvky do jazyka, o ktorom si myslíte a ktorým každý deň hovoríte. Tento vzorec teda obsahuje nasledujúce prvky syntaxe:

Syntax - Power BI DAX - Edureka

I. Celkové predaje je názov miery.

II. The operátor znamienka rovnosti (=) označuje začiatok vzorca.

III. SUM sčíta všetky čísla v stĺpci, Predaj [SalesAmount] .

IV. Sú také zátvorky () ktoré obklopujú výraz obsahujúci jeden alebo viac argumentov. Všetky funkcie vyžadujú aspoň jeden argument.

V. Predaj je tabuľka, na ktorú sa odkazuje.

MY. An argument odovzdá hodnotu funkcii. Odkazovaný stĺpec [Objem predaja] je argument, s ktorým funkcia SUM pozná stĺpec, do ktorého má agregovať SUM.

Jednoducho povedané, môžete si ho prečítať ako, Pre opatrenie s názvom Celkový predaj vypočítajte (=) SÚČET hodnôt v stĺpci [SalesAmount] v tabuľke Predaj. “

& pikyEditor Power BI DAX obsahuje funkciu návrhov, ktorá vám pomôže vytvárať syntakticky správne vzorce tým, že vám navrhne správne prvky.

Kontext

Kontext je jedným z najdôležitejších z 3 konceptov DAX. Keď sa hovorí o kontexte, môže to znamenať jeden z dvoch typov Kontext riadku a Kontext filtra .

Používa sa prevažne, keď už hovoríme o Opatrenia , Riadkový kontext sa najľahšie považuje za aktuálny riadok. Platí vždy, keď má vzorec funkciu, ktorá pomocou filtrov identifikuje jeden riadok v tabuľke.

Kontext filtra je o niečo ťažšie pochopiteľné ako Row-Context. Najjednoduchšie si môžete predstaviť kontext filtra ako jeden alebo viac filtrov použitých vo výpočte. TheNamiesto kontextu kontextu neexistuje filter-kontext. Platí to skôr ako to prvé. Pozrite sa na nasledujúci vzorec jazyka DAX.

Tento vzorec obsahuje nasledujúce prvky syntaxe:

I. Názov miery Predaj v obchode .

II. The operátor znamienka rovnosti (=) označuje začiatok vzorca.

III. The VÝPOČET funkcia vyhodnotí výraz ako argument.

IV. Zátvorka () obklopujú výraz obsahujúci jeden alebo viac argumentov.

V. Opatrenie [Celkové predaje] v tej istej tabuľke ako výraz.

MY. TO čiarka (,) oddeľuje prvý argument výrazu od argumentu filtra.

PRICHÁDZAŠ. Plne kvalifikovaný odkazovaný stĺpec, Kanál [ChannelName] je náš riadkový kontext. Každý riadok v tomto stĺpci určuje kanál, obchod, online atď.

VIII. Konkrétna hodnota, Uložiť sa používa ako filter. Toto je náš kontext filtra.

Tento vzorec zaisťuje že miera celkového predaja sa počíta iba pre riadky v stĺpci Channel [ChannelName] s hodnotou „Store“ ako filter.

Funkcie

Funkcie sú preddefinované, štruktúrované a usporiadané vzorce. Vykonávajú výpočty pomocou argumenty prešlo na nich. Týmito argumentmi môžu byť čísla, text, logické hodnoty alebo iné funkcie.

Základy Power BI DAX: Vypočítané stĺpce a miery

V tomto blogu sa zameriame na vzorce Power BI DAX používané pri výpočtoch v Opatrenia a Vypočítané stĺpce .

Vypočítané stĺpce

Keď v aplikácii Power BI Desktop vytvoríte údajový model, môžete tabuľku rozšíriť vytvorením nových stĺpcov. Obsah stĺpcov je definovaný výrazom DAX, ktorý je hodnotený riadok po riadku alebo v kontexte aktuálneho riadku v tejto tabuľke.

V dátových modeloch pre DAX však všetky vypočítané stĺpce zaberajú miesto v pamäti a počítajú sa počas spracovania tabuľky.

Toto správanie je užitočné, pretože vedie k lepšej používateľskej skúsenosti, ale využíva vzácnu pamäť RAM, a preto je pri výrobe zlým zvykom, pretože každý medzivýpočet je uložený v pamäti RAM a stráca drahocenný priestor.

Opatrenia

Existuje ďalší spôsob definovania výpočtov v modeli DAX, ktorý je užitočný, ak potrebujete pracovať s agregovanými hodnotami namiesto s riadkami po riadkoch. Tieto výpočty sú mierami. Jednou z požiadaviek jazyka DAX je, že opatrenie je potrebné definovať v tabuľke. Toto opatrenie však v skutočnosti nepatrí do tabuľky. Meradlo teda môžete presúvať z jednej tabuľky do druhej bez straty jej funkčnosti.

Vypočítané stĺpce vs miery

Miery aj vypočítané stĺpce používajú výrazy DAX. Rozdiel predstavuje kontext hodnotenia. Miera sa hodnotí v kontexte bunky vyhodnotenej v zostave alebo v dotaze DAX, zatiaľ čo vypočítaný stĺpec sa počíta na úrovni riadku v tabuľke, ku ktorej patrí.

Aj keď vyzerajú podobne, medzi vypočítanými stĺpcami a mierami je veľký rozdiel. Hodnota vypočítaného stĺpca sa počíta počas obnovovania údajov a používa aktuálny riadok ako kontext, ktorý nezávisí od interakcie používateľa v prehľade.

Preto musíte definovať vypočítaný stĺpec, kedykoľvek budete chcieť urobiť nasledovné

  • Vložte vypočítané výsledky do výrezu alebo si pozrite výsledky v riadkoch alebo stĺpcoch v kontingenčnej tabuľke (na rozdiel od oblasti hodnôt) alebo v osiach grafu alebo použite výsledok ako podmienku filtra v dotaze DAX.
  • Definujte výraz, ktorý je striktne viazaný na aktuálny riadok. Napríklad Cena * Množstvo nemôže pracovať na priemere alebo na súčte dvoch stĺpcov.
  • Kategorizujte text alebo čísla. Napríklad rozsah hodnôt pre mieru.

Meradlo funguje na agregáciách údajov definovaných aktuálnym kontextom, čo závisí od filtra použitého v prehľade - napríklad oddeľovač, výber riadkov a stĺpcov v kontingenčnej tabuľke alebo osi a filtre použité v grafe.

Takže musíte definovať mieru, kedykoľvek chcete zobraziť výsledné hodnoty výpočtu, ktoré odrážajú výber používateľa, ako je napr

  • Keď vypočítate percento zisku z určitého výberu údajov.
  • Pri výpočte pomerov produktu v porovnaní so všetkými produktmi, ale pri zachovaní filtra podľa roku aj regiónu.

Základy Power BI DAX: Typy funkcií v jazyku DAX

1. Súhrnné funkcie

MIN

Táto funkcia DAX returnuje minimálnu číselnú hodnotu v stĺpci alebo medzi dvoma skalárnymi výrazmi.

Syntax

MIN()

Príklad

=MIN([ResellerMargin])

MINA

Táto funkcia DAX rvráti minimálnu hodnotu v stĺpci vrátane akýchkoľvek logických hodnôt a čísel reprezentovaných ako text.

Syntax

MINA()

Príklad

=MINA(([Poštové smerovacie číslo])

MINX

Táto funkcia DAX sa vrátiminimálna číselná hodnota, ktorá je výsledkom vyhodnotenia výrazu pre každý riadok tabuľky.

Syntax

MINX(

,)

Príklad

=MINX(FILTER(InternetSales, InternetSales [SalesTerritoryKey] =5), InternetSales [Nákladná doprava] + InternetSales [TaxAmt])

MAX

Táto funkcia DAX rvráti maximálnu hodnotu v stĺpci vrátane akýchkoľvek logických hodnôt a čísel reprezentovaných ako text.

Syntax

MAX()

Príklad

=MAX([ResellerMargin])

MAX

Táto funkcia DAX rvráti maximálnu hodnotu v stĺpci vrátane akýchkoľvek logických hodnôt a čísel reprezentovaných ako text.

Syntax

MAX()

Príklad

=MAX(([Poštové smerovacie číslo])

MAXX

Táto funkcia DAX sa vrátimaximálna číselná hodnota, ktorá je výsledkom vyhodnotenia výrazu pre každý riadok tabuľky.

Syntax

MAXX(

,)

Príklad

=MAXX(FILTER(InternetSales, InternetSales [SalesTerritoryKey] =5), InternetSales [Nákladná doprava] + InternetSales [TaxAmt])

SUM

Táto funkcia DAX adds všetky čísla v stĺpci.

Syntax

SUM()

Príklad

=SUM(Predaj [kancelária])

PRIEMER

Táto funkcia DAX returnetický aritmetický priemer hodnôt v stĺpci.

Syntax

PRIEMERNÝ ()

Príklad

=PRIEMER(InternetSales [ExtendedSalesAmount])

sumx

Táto funkcia DAX returnuje súčet výrazu vyhodnoteného pre každý riadok v tabuľke.

Syntax

sumx(

,)

Príklad

=sumx(FILTER(InternetSales, InternetSales [SalesTerritoryID] =5), [Nákladná doprava])

AVERAGEX

Táto funkcia DAX cvypočítava aritmetický priemer množiny výrazov hodnotených nad tabuľkou.

Syntax

AVERAGEX(

,)

Príklad

=AVERAGEX(InternetSales, InternetSales [Nákladná doprava] + InternetSales [TaxAmt])

2. Funkcie počítania

DISTINCTCOUNT

Toto je funkcia DAX, ktorá sa používa na vrátenie zreteľného počtu položiek v stĺpci. Pokiaľ teda existuje viac čísel tej istej položky, táto funkcia ju bude počítať ako jednu položku.

Syntax

DISTINCTCOUNT()

Príklad

=DISTINCTCOUNT(ResellerSales_USD [SalesOrderNumber])

COUNT

Toto je funkcia DAX, ktorá sa používa na vrátenie počtu položiek v stĺpci. Pokiaľ teda existuje viac čísel tej istej položky, táto funkcia ju bude počítať ako samostatné položky a nie ako jednu položku.

Syntax

COUNT()

Príklady

=COUNT([Dátum odoslania])

COUNTA

Toto je funkcia DAX, ktorá sa používa na vrátenie počtu položiek v stĺpci, ktorý nie je prázdny.

Syntax

COUNTA()

Príklad

=COUNTA(„Predajca“ [Telefón])

COUNTROWS

Toto je funkcia DAX, ktorápočíta počet riadkov v zadanej tabuľke alebo v tabuľke definovanej výrazom.

Syntax

COUNTROWS(

)

Príklad

príkazy riadenia toku v jave

=COUNTROWS(„Objednávky“)

COUNTBLANK

Toto je funkcia DAX, ktorápočíta počet prázdnych buniek v stĺpci.

Syntax

COUNTBLANK()

Príklad

=COUNTBLANK(Predajca [BankName])

3. Funkcie dátumu a času

DÁTUM

Táto funkcia DAX rvráti určený dátum vo formáte Date-Time.

Syntax

DÁTUM(<rok>,<mesiac>,<deň>)

Príklad

=DÁTUM(2019,12, 17)

HODINA

Táto funkcia DAX rvráti určenú hodinu ako číslo od 0 do 23 (12:00 - 23:00).

Syntax

HODINA()

Príklad

=HODINA(„Objednávky“ [TransactionTime])

DNES

Táto funkcia DAX rvráti aktuálny dátum.

Syntax

DNES()

TERAZ

Táto funkcia DAX rvráti aktuálny dátum a čas vo formáte Date-Time.

Syntax

TERAZ()

EOMONTH

Táto funkcia DAX rvráti dátum vo formáte Date-Time posledného dňa v mesiaci, pred alebo po zadanom počte mesiacov.

Syntax

EOMONTH(,)

Príklad

=EOMONTH(„3. marca 2008“,1.5)

4. Matematické funkcie

SEKCIA

Táto funkcia DAX rvráti absolútnu hodnotu daného čísla.

Syntax

SEKCIA()

Príklad

=ABS ([DealerPrice] - [ListPrice])

EXP

Táto funkcia DAX rvráti hodnotu e zvýšenú na moc daného čísla.

Syntax

EXP()

Príklad

= EXP ([napájanie])

FAKT

Táto funkcia DAX rvráti faktoriál čísla.

Syntax

FAKT()

Príklad

= FAKT ([Hodnoty])

LN

Táto funkcia DAX rvráti prirodzený protokol daného čísla.

Syntax

LN()

Príklad

= LN ([hodnoty])

LOG

Táto funkcia DAX rvráti záznam so základom daného čísla.

Syntax

LOG(,)

Príklad

Všetky nasledujúce výsledky vrátia rovnaký výsledok, 2.

= LOG (100,10)

= LOG (100)

= LOG10 (100)

PI

Táto funkcia DAX rvráti hodnotu Pi.

Syntax

PI()

MOC

Táto funkcia DAX rvráti hodnotu prvého argumentu zvýšenú na hodnotu druhého argumentu.

Syntax

MOC(,<moc>)

Príklad

= VÝKON (5,2)

KVOTIENT

Táto funkcia DAX vykonáva delenie return celočíselnú časť kvocientu.

Syntax

KVOTIENT(,)

Príklad

= QUOTIENT (5,2)

PODPIS

Táto funkcia DAX vracia znamienko daného čísla.

Syntax

PODPIS()

Príklad

= ZNAČKA (([[Predajná cena] - [Nákladová cena]))

SQRT

Táto funkcia DAX rvráti druhú odmocninu daného čísla.

Syntax

SQRT()

Príklad

= SQRT (25)

5. Logické funkcie

A

Táto funkcia DAX vykonáva logické AND (spojenie) v dvoch výrazoch. Aby AND platilo, musia byť splnené obidve zadané podmienky.

Syntax

A(,)

Príklad

= AK (AND (10>9, -10 <-jeden),„Všetko pravda“,„Jeden alebo viac nepravdivých“

Pretože obe podmienky odovzdané ako argumenty do funkcie AND sú pravdivé, vzorec vráti hodnotu „Všetko pravé“.

ALEBO

Táto funkcia DAX vykonáva logické ALEBO (disjunkciu) v dvoch výrazoch. Aby OR platilo, musí byť splnená ktorákoľvek z dvoch uvedených podmienok.

Syntax

ALEBO(,)

Príklad

= AK (ALEBO (10>9, -10> -jeden),„Pravda“,„Nepravda“

Pretože jedna z podmienok odovzdaná ako argumenty do funkcie OR je pravdivá, vráti vzorec hodnotu „True“.

NIE

Táto funkcia DAX vykonáva logické NOT (negácia) pri danom výraze.

Syntax

NIE()

Príklad

= NIE ([CalculatedColumn1])

Pre každý riadok vo Vypočítanom stĺpci1 funkcia NOT vráti logický opak danej hodnoty.

AK

Táto funkcia DAX testuje sériu vstupov pre ten, ktorý spĺňa podmienku uvedenú v argumente.

Syntax

AK(logický_test> ,, hodnota_k_false)

Príklad

= AK ([hovory]<200,„nízka“, IF ([hovory]<300,„stredný“,„vysoký“))

IFERROR

Táto funkcia DAX naprocení výraz a vráti zadanú hodnotu, ak výraz vráti chybu.

Syntax

IFERROR(hodnotu, value_if_error)

Príklad

= IFERROR (25/0,9999)

6. Informačné funkcie

ISBLANK

Táto funkcia DAXvráti TRUE alebo FALSE pocsakra, či je hodnota prázdna.

Syntax

ISBLANK(<hodnotu>)

Príklad

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

ČÍSLO

Táto funkcia DAXvráti TRUE alebo FALSE pocsotva, či je hodnota číselná.

Syntax

ČÍSLO(<hodnotu>)

Príklad

= AK (ČÍSLO (0),„Je číslo“,„Nie je to číslo“)

ISTEXT

Táto funkcia DAXvráti TRUE alebo FALSE pocsakra, či je hodnota text.

Syntax

ISTEXT(<hodnotu>)

Príklad

= AK (ISTEXT ('text'),„Je text“,„Nie je textové“)

ISNONTEXT

Táto funkcia DAXvráti TRUE alebo FALSE pocsotva, či je hodnota netextová.

Syntax

ISNONTEXT(<hodnotu>)

Príklad

= AK (ISNONTEXT ('text'),„Nie je textové“,„Je text“)

ISERROR

Táto funkcia DAXvráti TRUE alebo FALSE pocsotva, či je hodnota chybou.

Syntax

ISERROE(<hodnotu>)

Príklad

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

7. Textové funkcie

KONCATENÁT

Táto funkcia DAX jspojí dva textové reťazce do jedného.

Syntax

KONCATENÁT(,)

Príklad

= CONCATENATE ('Hello', 'World')

CONCATENATEX

Táto funkcia DAXvýsledok výrazu vyhodnoteného pre každý riadok v tabuľke.

Syntax

CONCATENATEX(

,, [oddeľovač])

Príklad

= CONCATENATEX (zamestnanci, [meno] a „„ a [priezvisko], “,“)

OPRAVENÉ

Táto funkcia DAX rounds číslo na zadaný počet desatinných miest a vráti výsledok ako text.

Syntax

OPRAVENÉ(,,)

Príklad

= OPRAVENÉ ([PctCost],3,jeden)

VYMENIŤ

Táto funkcia DAXnahradí časť textového reťazca iným textovým reťazcom na základe zadaného počtu znakov.

Syntax

VYMENIŤ(,,,)

Príklad

= REPLACE ('Nové produkty' [Kód produktu],jeden,2,„OB“)

VYHĽADÁVANIE

Táto funkcia DAX returns počet znakov, pri ktorých je prvý textový reťazec nájdený ako prvý.

Syntax

VYHĽADÁVANIE(, [, [] [,]])

Príklad

= HĽADAŤ ('n',„tlačiareň“)

Vzorec vráti 4, pretože „n“ je štvrtý znak v slove „tlačiareň“.

HORNÁ

Táto funkcia DAX sa vrátitextový reťazec napísaný veľkými písmenami.

Syntax

HORNÁ()

Príklad

= HORNÉ (['Nové produkty' [Kód produktu])

Základy Power BI DAX: Vytvorenie prvého opatrenia

Predpoklad: Budete musieť otvoriť tento daný súbor Power BI Desktop .

Pretože predpokladám, že to bude vaše prvé, napíšem tento kúsok veľmi podrobne, aby ste ho mohli sledovať.

  1. V zozname polí Zobraziť prehľad , kliknite pravým tlačidlom myši na ikonu Predaj stôl, za ktorým nasleduje tabuľka Nové opatrenie .

  2. Vymeniť Zmerajte zadaním názvu nového taktu Predchádzajúce štvrťročné tržby, v Formula Bar .

  3. V tomto vzorci chcete použiť VÝPOČET funkcia. Za znak rovnosti teda zadajte niekoľko prvých písmen CAL a potom dvakrát kliknite na funkciu, ktorú chcete použiť.

  4. Funkcia CALCULATE obsahuje najmenej dva argumenty. Prvý je výraz, ktorý sa má vyhodnotiť, a druhý je a Filtrovať .

  5. Po otvorení zátvorky ( pre VÝPOČET funkcia, typ SUM nasledovaná ďalšou úvodnou zátvorkou ( predložiť argument SUM funkcia.

  6. Začnite písať Soľ a potom vyberte Predaj [SalesAmount] , po ktorej nasleduje záverečná zátvorka ) . Toto je prvý argument pre náš výraz VÝPOČET funkcia.

  7. Zadajte a čiarka (,) nasleduje medzera na určenie prvého filtra a potom zadajte PREVIOUSQUARTER . Toto bude náš filter.

  8. Použijete PREVIOUSQUARTER funkcia časovej inteligencie na filtrovanie SUM výsledky za predchádzajúci štvrťrok.

  9. Po úvodnej zátvorke ( pre funkciu PREVIOUSQUARTER napíš Kalendár [DateKey] .

  10. The PREVIOUSQUARTER funkcia má jeden argument, stĺpec obsahujúci súvislý rozsah dátumov. V našom prípade to je DateKey stĺpec v tabuľke Kalendár.

  11. Uistite sa, že oba argumenty, ktoré sa prenášajú do PREVIOUSQUARTER aj do funkcie CALCULATE, sú uzavreté zadaním dvoch uzavretých zátvoriek )) .

  12. Váš vzorec by teraz mal vyzerať asi takto
    Predchádzajúce štvrťročné tržby = VÝPOČET (SUMA (tržby [SalesAmount]), PREDCHÁDZAJÚCI ŠTART (kalendár [DateKey]))

  13. Kliknite na začiarknutie na paneli vzorcov alebo stlačte kláves Enter na potvrdenie vzorca.

Keď to pridáte do svojho modelu, voila! Práve ste vytvorili mieru pomocou jazyka DAX a nie je to vôbec jednoduché.

Tento vzorec je taký vypočítajte celkový predaj za predchádzajúci štvrťrok v závislosti od filtrov použitých v prehľade.

Takže, ak by sme to museli dať Objem predaja a naše nové Predchádzajúci štvrťročný predaj zmerajte v grafe a potom pridajte Rok a QuarterOfYear ako Krájače, dostali by sme niečo ako nasledujúce

príklad vyvolania vzdialenej metódy v jave

Teraz, keď máte základné znalosti o konceptoch v Power BI DAX, môžete začať sami vytvárať vzorce DAX pre miery. Môže to byť skutočne trochu zložité naučiť sa, aleDAX existuje už niekoľko rokov ana webe je k dispozícii veľa zdrojov. Po prečítaní tohto blogu a malom experimentovaní sa môžete naučiť nájsť podnikové riešenia prostredníctvom jazyka Power BI DAX.