Začínáme s DAX v Power BI



Tento blog Edureka vám pomůže začít se základy Power BI DAX nebo Data Analytics Expressions, pokud jste v Power BI noví se syntaxí a příklady.

Tento blog je v zásadě určen pro uživatele, kteří jsou na internetu noví a má vám poskytnout rychlou a snadnou procházku po formulačním jazyce zvaném Výrazy pro analýzu dat (DAX) .Pokud znáte funkce v MS Excel nebo , mnoho vzorců v tomto Základy Power BI DAX článek bude vypadat podobně jako vy.

Přesto jsou zde pojmy, které tvoří nedílnou součást všech , po osvojení které byste měli dobře rozumět nejzákladnějším konceptům v DAX.





Základy DAX v Power BI: Co je to DAX?

Pojďme tedy začít se základy Power BI DAX, dobře?

Vytváření sestav pomocí Power BI Desktopu je celkem snadné, což vám ihned ukáže netradiční přehledy.



Ale co když potřebujete analyzovat procento růstu ve všech kategoriích produktů pro všechna různá období? Nebo musíte vypočítat roční růst vaší společnosti ve srovnání s obrymi trhu?

Učení jazyka DAX vám pomůže vytěžit maximum z vašeho a řešit skutečné obchodní problémy.

Jazyk DAX zahrnuje funkce, operátory a konstanty, které lze dát do formy vzorců pro výpočet hodnot pomocí dat, která jsou již ve vašem modelu k dispozici.



Power BI DAX obsahuje knihovnu více než 200 funkcí, operátorů a konstrukcí. Jeho knihovna poskytuje obrovskou flexibilitu při vytváření opatření pro výpočet výsledků téměř pro každou potřebu analýzy dat.

Základy Power BI DAX: Jak to funguje?

Nejprve vám vysvětlím, jak to funguje.Z větší části budeme rámovat naše chápání jazyka Power BI DAX kolem tří základních konceptů: Syntax , Kontext , a Funkce .

Samozřejmě zde jsou i další důležité koncepty, ale porozumění těmto třem poskytne nejlepší základ, na kterém budete stavět své dovednosti.

Syntax

The Syntax skládá se z různých složek, které tvoří vzorec a jak je napsán. Lpodívejte se na tento jednoduchý vzorec DAX.

Když se snažíte pochopit vzorec DAX, je často užitečné rozdělit každý z prvků do jazyka, na který myslíte a kterým mluvíte každý den. Tento vzorec tedy zahrnuje následující prvky syntaxe:

Syntaxe - Power BI DAX - Edureka

I. Celkový prodej je název míry.

II. The operátor znaménka rovná se (=) označuje začátek vzorce.

III. SOUČET sečte všechna čísla ve sloupci, Prodej [SalesAmount] .

IV. Tady jsou závorky () které obklopují výraz obsahující jeden nebo více argumentů. Všechny funkce vyžadují alespoň jeden argument.

PROTI. Odbyt je odkazovaná tabulka.

MY. An argument předá hodnotu funkci. Odkazovaný sloupec [SalesAmount] je argument, pomocí kterého funkce SUM zná sloupec, do kterého má agregovat SUM.

Jednoduše řečeno, můžete si jej přečíst jako, ' U míry s názvem Celkový prodej vypočítejte (=) SOUČET hodnot ve sloupci [SalesAmount] v tabulce Prodej. “

& pikyEditor Power BI DAX obsahuje funkci návrhů, která vám pomůže vytvářet syntakticky správné vzorce tím, že vám navrhne správné prvky.

Kontext

Kontext je jedním z nejdůležitějších ze 3 konceptů DAX. Když se mluví o kontextu, může to znamenat jeden ze dvou typů Kontext řádku a Kontext filtru .

Používá se převážně při mluvení o Opatření , Řádkový kontext je nejjednodušší považovat za aktuální řádek. Platí vždy, když má vzorec funkci, která používá filtry k identifikaci jednoho řádku v tabulce.

Kontext filtru je o něco těžší pochopit než Row-Context. Nejsnadněji si můžete představit kontext filtru jako jeden nebo více filtrů použitých ve výpočtu. TheMísto toho v kontextu řádků neexistuje filtr-kontext. Spíše platí vedle toho prvního. Podívejte se na následující vzorec jazyka DAX.

Tento vzorec obsahuje následující prvky syntaxe:

I. Název míry Prodej v obchodě .

II. The operátor znaménka rovná se (=) označuje začátek vzorce.

III. The VYPOČÍTAT funkce vyhodnotí výraz jako argument.

IV. Závorka () obklopují výraz obsahující jeden nebo více argumentů.

PROTI. Opatření [Celkový prodej] ve stejné tabulce jako výraz.

MY. NA čárka (,) odděluje první argument výrazu od argumentu filtru.

PŘÍJDEŠ. Plně kvalifikovaný odkazovaný sloupec, Kanál [ChannelName] je náš řádkový kontext. Každý řádek v tomto sloupci určuje kanál, obchod, online atd.

VIII. Konkrétní hodnota, Obchod se používá jako filtr. Toto je náš kontext filtru.

Tento vzorec zajišťuje že měření celkového prodeje se počítá pouze pro řádky ve sloupci Channel [ChannelName] s hodnotou „Store“ jako filtr.

Funkce

Funkce jsou předdefinované, strukturované a uspořádané vzorce. Provádějí výpočty pomocí argumenty předal jim. Těmito argumenty mohou být čísla, text, logické hodnoty nebo jiné funkce.

Základy Power BI DAX: Vypočítané sloupce a míry

V tomto blogu se zaměříme na vzorce Power BI DAX používané při výpočtech v Opatření a Vypočítané sloupce .

Vypočítané sloupce

Když vytvoříte datový model na Power BI Desktopu, můžete tabulku rozšířit vytvořením nových sloupců. Obsah sloupců je definován výrazem DAX, vyhodnocen po řádcích nebo v kontextu aktuálního řádku v této tabulce.

V datových modelech pro DAX však všechny vypočítané sloupce zabírají místo v paměti a jsou počítány během zpracování tabulky.

Toto chování je užitečné ve výsledcích lepšího uživatelského zážitku, ale používá drahocennou paměť RAM, a proto je ve výrobě špatným zvykem, protože každý mezilehlý výpočet je uložen v paměti RAM a plýtvá drahocenným prostorem.

Opatření

Existuje další způsob definování výpočtů v modelu DAX, který je užitečný, pokud potřebujete pracovat na agregovaných hodnotách namísto na řádcích. Tyto výpočty jsou měřítkem. Jedním z požadavků jazyka DAX je, že je třeba definovat míru v tabulce. Opatření však do tabulky opravdu nepatří. Můžete tedy přesunout míru z jedné tabulky do druhé, aniž byste ztratili její funkčnost.

Vypočítané sloupce vs míry

Míry a vypočítané sloupce používají výrazy DAX. Rozdíl je v kontextu hodnocení. Míra se hodnotí v kontextu buňky vyhodnocené v sestavě nebo v dotazu DAX, zatímco vypočítaný sloupec se počítá na úrovni řádků v tabulce, do které patří.

I když vypadají podobně, existuje velký rozdíl mezi vypočítanými sloupci a měřítky. Hodnota vypočítaného sloupce se vypočítá během aktualizace dat a použije aktuální řádek jako kontext, který nezávisí na interakci uživatele v sestavě.

Proto budete muset definovat vypočítaný sloupec, kdykoli budete chtít provést následující

  • Umístěte vypočítané výsledky do průřezu nebo zobrazte výsledky v řádcích nebo sloupcích v kontingenční tabulce (na rozdíl od oblasti hodnot) nebo v osách grafu nebo použijte výsledek jako podmínku filtru v dotazu DAX.
  • Definujte výraz, který je přísně vázán na aktuální řádek. Například Cena * Množství nemůže fungovat na průměru nebo na součtu dvou sloupců.
  • Kategorizujte text nebo čísla. Například rozsah hodnot pro míru.

Míra pracuje s agregacemi dat definovaných aktuálním kontextem, což závisí na filtru použitém v sestavě - například na výřezu, řádcích a sloupcích v kontingenční tabulce nebo na osách a filtrech použitých v grafu.

Takže musíte definovat míru, kdykoli chcete zobrazit výsledné hodnoty výpočtu, které odrážejí výběr uživatelů, například

  • Když vypočítáte procento zisku na určitém výběru dat.
  • Když vypočítáte poměry produktu ve srovnání se všemi produkty, ale zachováním filtru podle roku a regionu.

Základy Power BI DAX: Typy funkcí v DAX

1. Souhrnné funkce

MIN

Tato funkce DAX returns minimální číselnou hodnotu ve sloupci nebo mezi dvěma skalárními výrazy.

Syntax

MIN()

Příklad

=MIN([ResellerMargin])

MINA

Tato funkce DAX returns minimální hodnotu ve sloupci, včetně všech logických hodnot a čísel reprezentovaných jako text.

Syntax

MINA()

Příklad

=MINA(([Poštovní směrovací číslo])

MINX

Tato funkce DAX se vracíminimální číselná hodnota, která je výsledkem vyhodnocení výrazu pro každý řádek tabulky.

Syntax

MINX(

,)

Příklad

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

MAX

Tato funkce DAX returns maximální hodnotu ve sloupci, včetně všech logických hodnot a čísel reprezentovaných jako text.

Syntax

MAX()

Příklad

=MAX([ResellerMargin])

MAX

Tato funkce DAX returns maximální hodnotu ve sloupci, včetně všech logických hodnot a čísel reprezentovaných jako text.

Syntax

MAX()

Příklad

=MAX(([Poštovní směrovací číslo])

MAXX

Tato funkce DAX se vracímaximální číselná hodnota, která je výsledkem vyhodnocení výrazu pro každý řádek tabulky.

Syntax

MAXX(

,)

Příklad

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

SOUČET

Tato funkce DAX adds všechna čísla ve sloupci.

Syntax

SOUČET()

Příklad

=SOUČET(Prodejní kancelář])

PRŮMĚRNÝ

Tato funkce DAX returns aritmetický průměr hodnot ve sloupci.

Syntax

PRŮMĚRNÝ()

Příklad

=PRŮMĚRNÝ(InternetSales [ExtendedSalesAmount])

sumx

Tato funkce DAX returns součet výrazu vyhodnoceného pro každý řádek v tabulce.

Syntax

sumx(

,)

Příklad

=sumx(FILTR(InternetSales, InternetSales [SalesTerritoryID] =5),[Náklad])

AVERAGEX

Tato funkce DAX cvypočítá aritmetický průměr množiny výrazů vyhodnocených přes tabulku.

Syntax

AVERAGEX(

,)

Příklad

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

2. Funkce počítání

DISTINCTCOUNT

Toto je funkce DAX používaná k vrácení odlišného počtu položek ve sloupci. Pokud tedy existuje více čísel stejné položky, tato funkce ji bude počítat jako jednu položku.

Syntax

DISTINCTCOUNT()

Příklad

=DISTINCTCOUNT(ResellerSales_USD [SalesOrderNumber])

POČET

Toto je funkce DAX používaná k vrácení počtu položek ve sloupci. Pokud tedy existuje více čísel stejné položky, tato funkce ji bude počítat jako samostatné položky a ne jako jednu položku.

Syntax

POČET()

Příklady

=POČET([Datum odeslání])

COUNTA

Toto je funkce DAX používaná k vrácení počtu položek ve sloupci, který není prázdný.

Syntax

COUNTA()

Příklad

=COUNTA(„Prodejce“ [telefon])

COUNTROWS

Toto je funkce DAX, kteráspočítá počet řádků v zadané tabulce nebo v tabulce definované výrazem.

Syntax

COUNTROWS(

)

Příklad

výukový program talend open studio pdf

=COUNTROWS(„Objednávky“)

COUNTBLANK

Toto je funkce DAX, kteráspočítá počet prázdných buněk ve sloupci.

Syntax

COUNTBLANK()

Příklad

=COUNTBLANK(Prodejce [název banky])

3. Funkce data a času

DATUM

Tato funkce DAX rVrátí zadané datum ve formátu Date-Time.

Syntax

DATUM(<rok>,<Měsíc>,<den>)

Příklad

=DATUM(2019,12, 17)

HODINA

Tato funkce DAX rvrátí zadanou hodinu jako číslo od 0 do 23 (12:00 - 23:00).

Syntax

HODINA()

Příklad

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

DNES

Tato funkce DAX rvrátí aktuální datum.

Syntax

DNES()

NYNÍ

Tato funkce DAX rVrátí aktuální datum a čas ve formátu Date-Time.

Syntax

NYNÍ()

EOMONTH

Tato funkce DAX rvrátí datum ve formátu Date-Time posledního dne měsíce, před nebo po zadaném počtu měsíců.

Syntax

EOMONTH(,)

Příklad

=EOMONTH(„3. března 2008“,1.5)

4. Matematické funkce

SEKCE

Tato funkce DAX returns absolutní hodnotu daného čísla.

Syntax

SEKCE()

Příklad

=ABS ([DealerPrice] - [ListPrice])

EXP

Tato funkce DAX rvrátí hodnotu e zvýšenou na sílu daného čísla.

Syntax

EXP()

Příklad

= EXP ([síla])

SKUTEČNOST

Tato funkce DAX rvrátí faktoriál čísla.

Syntax

SKUTEČNOST()

Příklad

= FAKT ([Hodnoty])

LN

Tato funkce DAX rvrátí přirozený log daného čísla.

Syntax

LN()

Příklad

= LN ([hodnoty])

LOG

Tato funkce DAX rvrátí protokol se základnou daného čísla.

Syntax

LOG(,)

Příklad

Všechny následující vrátí stejný výsledek, 2.

= LOG (100,10)

= LOG (100)

= LOG10 (100)

PI

Tato funkce DAX rvrátí hodnotu Pi.

Syntax

PI()

NAPÁJENÍ

Tato funkce DAX rvrátí hodnotu prvního argumentu zvýšenou na sílu druhého argumentu.

Syntax

NAPÁJENÍ(,<Napájení>)

Příklad

= VÝKON (5,2)

KVOCIENT

Tato funkce DAX provádí dělení rvrátí celou část kvocientu.

Syntax

KVOCIENT(,)

Příklad

= QUOTIENT (5,2)

PODEPSAT

Tato funkce DAX vrací znaménko daného čísla.

Syntax

PODEPSAT()

Příklad

= PODPIS (([prodejní cena] - [nákladová cena]))

SQRT

Tato funkce DAX rvrátí druhou odmocninu daného čísla.

Syntax

SQRT()

Příklad

= SQRT (25)

5. Logické funkce

A

Tato funkce DAX provádí logické AND (konjunkce) ve dvou výrazech. Aby AND vrátil true, musí být splněny obě zadané podmínky.

Syntax

A(,)

Příklad

= IF (AND (10>9, -10 <-jeden),'Všechno pravdivé',„Jeden nebo více falešných“

Protože obě podmínky předané jako argumenty funkci AND jsou pravdivé, vrátí vzorec hodnotu „All True“.

NEBO

Tato funkce DAX provádí logické OR (disjunkce) ve dvou výrazech. Aby OR vrátil true, musí být splněna jedna ze dvou uvedených podmínek.

Syntax

NEBO(,)

Příklad

= IF (NEBO (10>9, -10> -jeden),'Skutečný','Nepravdivé'

Protože jedna z podmínek předaná jako argumenty funkci OR má hodnotu true, vrátí vzorec hodnotu „True“.

NE

Tato funkce DAX provádí logický NOT (negace) na daný výraz.

Syntax

NE()

Příklad

= NE ([CalculatedColumn1])

Pro každý řádek ve Vypočítaném sloupci1 vrátí funkce NOT logický opak dané hodnoty.

LI

Tato funkce DAX testuje řadu vstupů pro ten, který splňuje podmínku uvedenou v argumentu.

Syntax

LI(logical_test> ,, value_if_false)

Příklad

= KDYŽ [[Hovory]<200,'nízký', IF ([Hovory]<300,'střední','vysoký'))

IFERROR

Tato funkce DAX eocení výraz a vrátí zadanou hodnotu, pokud výraz vrátí chybu.

Syntax

IFERROR(hodnota, value_if_error)

Příklad

= IFERROR (25/0,9999)

6. Informační funkce

ISBLANK

Tato funkce DAXvrátí TRUE nebo FALSE poCsakra, zda je hodnota prázdná.

Syntax

ISBLANK(<hodnota>)

Příklad

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

ČÍSLO

Tato funkce DAXvrátí TRUE nebo FALSE poCposměch, zda je hodnota číselná.

Syntax

ČÍSLO(<hodnota>)

Příklad

= IF (ISNUMBER (0),‚Je číslo ',„Není číslo“)

ISTEXT

Tato funkce DAXvrátí TRUE nebo FALSE poCposlouchat, zda je hodnota text.

Syntax

ISTEXT(<hodnota>)

Příklad

= IF (ISTEXT ('text'),„Je text“,„Není netextové“)

ISNONTEXT

Tato funkce DAXvrátí TRUE nebo FALSE poCposlouchat, zda je hodnota netextová.

Syntax

ISNONTEXT(<hodnota>)

Příklad

= IF (ISNONTEXT ('text'),„Není netextové“,„Je text“)

ISERROR

Tato funkce DAXvrátí TRUE nebo FALSE poCposlouchat, zda je hodnota chybou.

Syntax

ISERROE(<hodnota>)

Příklad

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

7. Textové funkce

KONCATENÁT

Tato funkce DAX jspojuje dva textové řetězce do jednoho.

Syntax

KONCATENÁT(,)

Příklad

= CONCATENATE ('Hello', 'World')

CONCATENATEX

Tato funkce DAXvýsledek výrazu vyhodnoceného pro každý řádek v tabulce.

Syntax

CONCATENATEX(

, , [oddělovač])

Příklad

= CONCATENATEX (zaměstnanci, [křestní jméno] & „“ & [příjmení], “,“)

PEVNÝ

Tato funkce DAX rpřevede číslo na zadaný počet desetinných míst a vrátí výsledek jako text.

Syntax

PEVNÝ(,,)

Příklad

= OPRAVENO ([PctCost],3,jeden)

NAHRADIT

Tato funkce DAXnahradí část textového řetězce na základě zadaného počtu znaků jiným textovým řetězcem.

Syntax

NAHRADIT(,,,)

Příklad

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

VYHLEDÁVÁNÍ

Tato funkce DAX returns počet znaků, při kterých je nejprve nalezen konkrétní textový řetězec.

Syntax

VYHLEDÁVÁNÍ(, [, [] [,]])

Příklad

= HLEDAT ('n','tiskárna')

Vzorec vrací 4, protože „n“ je čtvrtý znak ve slově „tiskárna“.

HORNÍ

Tato funkce DAX se vracítextový řetězec všemi velkými písmeny.

Syntax

HORNÍ()

Příklad

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

Základy Power BI DAX: Vytvoření prvního opatření

Předpoklad: Budete muset otevřít tento daný soubor Power BI Desktopu .

Protože předpokládám, že to bude vaše první, budu tento kousek psát velmi podrobně, abyste ho mohli sledovat.

  1. V seznamu polí Zobrazit přehled , klikněte pravým tlačítkem na ikonu Odbyt stůl, následovaný tabulkou Nové opatření .

  2. Nahradit Opatření zadáním nového názvu míry Předchozí čtvrtletní prodeje, v Formula Bar .

  3. V tomto vzorci chcete použít VYPOČÍTAT funkce. Takže za znaménkem rovnosti zadejte několik prvních písmen CAL a potom poklepejte na funkci, kterou chcete použít.

  4. Funkce CALCULATE má alespoň dva argumenty. První je výraz, který se má vyhodnotit, a druhý je a Filtr .

  5. Po otevření závorky ( pro VYPOČÍTAT funkce, typ SOUČET následuje další úvodní závorka ( předat argument SOUČET funkce.

  6. Začněte psát Sůl a potom vyberte Prodej [SalesAmount] , následovaná závěrečnou závorkou ) . Toto je první výrazový argument pro naše VYPOČÍTAT funkce.

  7. Zadejte a čárka (,) následovaný mezerou k určení prvního filtru a poté zadejte PŘEDCHOZÍ ČTVRTLETICE . Toto bude náš filtr.

  8. Budete používat PŘEDCHOZÍ ČTVRTLETICE funkce časové inteligence k filtrování SOUČET výsledky za předchozí čtvrtletí.

  9. Po úvodní závorkách ( pro funkci PREVIOUSQUARTER zadejte Kalendář [DateKey] .

  10. The PŘEDCHOZÍ ČTVRTLICE funkce má jeden argument, sloupec obsahující souvislý rozsah dat. V našem případě to je DateKey sloupec v tabulce Kalendář.

  11. Ujistěte se, že oba argumenty předávané PREVIOUSQUARTER a funkce CALCULATE jsou uzavřeny zadáním dvou uzavřených závorek )) .

  12. Váš vzorec by nyní měl vypadat nějak takto
    Předchozí čtvrtletní prodej = VÝPOČET (SUM (prodej [SalesAmount]), PREVIOUSQUARTER (Calendar [DateKey]))

  13. Klepnutím na značku na řádku vzorců nebo stisknutím klávesy Enter vzorec ověříte.

Jakmile to přidáte do svého modelu, voila! Právě jste vytvořili míru pomocí jazyka DAX, a to není vůbec snadné.

Co tento vzorec dělá, je vypočítat celkový prodej za předchozí čtvrtletí v závislosti na filtrech použitých v sestavě.

Takže, pokud bychom to museli dát Částka prodeje a naše nové Předchozí čtvrtletní prodej změřte v grafu a poté přidejte Rok a QuarterOfYear tak jako Kráječe, dostali bychom něco jako následující

jak vytvořit balíček

Teď, když máte základní znalosti o konceptech v Power BI DAX, můžete začít vytvářet vzorce DAX pro vlastní opatření. Ve skutečnosti může být trochu složité se učit, aleDAX existuje již několik let ana webu je k dispozici mnoho zdrojů. Po přečtení tohoto blogu a krátkém experimentování se můžete naučit najít obchodní řešení prostřednictvím DAX v Power BI.