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?
- Základy Power BI DAX: Jak to funguje?
- Základy Power BI DAX: Vypočítané sloupce a míry
- Základy DAX v Power BI: Typy funkcí v DAX
- Základy Power BI DAX: Vytvoření prvního opatření
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:
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
Příklad Tato funkce DAX returns maximální hodnotu ve sloupci, včetně všech logických hodnot a čísel reprezentovaných jako text. Syntax Příklad Tato funkce DAX returns maximální hodnotu ve sloupci, včetně všech logických hodnot a čísel reprezentovaných jako text. Syntax Příklad Tato funkce DAX se vracímaximální číselná hodnota, která je výsledkem vyhodnocení výrazu pro každý řádek tabulky. Syntax Příklad Tato funkce DAX adds všechna čísla ve sloupci. Syntax Příklad Tato funkce DAX returns aritmetický průměr hodnot ve sloupci. Syntax Příklad Tato funkce DAX returns součet výrazu vyhodnoceného pro každý řádek v tabulce. Syntax Příklad Tato funkce DAX cvypočítá aritmetický průměr množiny výrazů vyhodnocených přes tabulku. Syntax Příklad 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 Příklad 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 Příklady Toto je funkce DAX používaná k vrácení počtu položek ve sloupci, který není prázdný. Syntax Příklad Toto je funkce DAX, kteráspočítá počet řádků v zadané tabulce nebo v tabulce definované výrazem. Syntax Příklad Toto je funkce DAX, kteráspočítá počet prázdných buněk ve sloupci. Syntax Příklad Tato funkce DAX rVrátí zadané datum ve formátu Date-Time. Syntax Příklad Tato funkce DAX rvrátí zadanou hodinu jako číslo od 0 do 23 (12:00 - 23:00). Syntax Příklad Tato funkce DAX rvrátí aktuální datum. Syntax Tato funkce DAX rVrátí aktuální datum a čas ve formátu Date-Time. Syntax 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 Příklad Tato funkce DAX returns absolutní hodnotu daného čísla. Syntax Příklad Tato funkce DAX rvrátí hodnotu e zvýšenou na sílu daného čísla. Syntax Příklad Tato funkce DAX rvrátí faktoriál čísla. Syntax Příklad Tato funkce DAX rvrátí přirozený log daného čísla. Syntax Příklad Tato funkce DAX rvrátí protokol se základnou daného čísla. Syntax Příklad Tato funkce DAX rvrátí hodnotu Pi. Syntax Tato funkce DAX rvrátí hodnotu prvního argumentu zvýšenou na sílu druhého argumentu. Syntax Příklad Tato funkce DAX provádí dělení rvrátí celou část kvocientu. Syntax Příklad Tato funkce DAX vrací znaménko daného čísla. Syntax Příklad Tato funkce DAX rvrátí druhou odmocninu daného čísla. Syntax Příklad 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 Příklad 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 Příklad Tato funkce DAX provádí logický NOT (negace) na daný výraz. Syntax Příklad Tato funkce DAX testuje řadu vstupů pro ten, který splňuje podmínku uvedenou v argumentu. Syntax Příklad Tato funkce DAX eocení výraz a vrátí zadanou hodnotu, pokud výraz vrátí chybu. Syntax Příklad Tato funkce DAXvrátí TRUE nebo FALSE poCsakra, zda je hodnota prázdná. Syntax Příklad Tato funkce DAXvrátí TRUE nebo FALSE poCposměch, zda je hodnota číselná. Syntax Příklad Tato funkce DAXvrátí TRUE nebo FALSE poCposlouchat, zda je hodnota text. Syntax Příklad Tato funkce DAXvrátí TRUE nebo FALSE poCposlouchat, zda je hodnota netextová. Syntax Příklad Tato funkce DAXvrátí TRUE nebo FALSE poCposlouchat, zda je hodnota chybou. Syntax Příklad Tato funkce DAX jspojuje dva textové řetězce do jednoho. Syntax Příklad Tato funkce DAXvýsledek výrazu vyhodnoceného pro každý řádek v tabulce. Syntax Příklad Tato funkce DAX rpřevede číslo na zadaný počet desetinných míst a vrátí výsledek jako text. Syntax Příklad Tato funkce DAXnahradí část textového řetězce na základě zadaného počtu znaků jiným textovým řetězcem. Syntax Příklad Tato funkce DAX returns počet znaků, při kterých je nejprve nalezen konkrétní textový řetězec. Syntax Příklad Tato funkce DAX se vracítextový řetězec všemi velkými písmeny. Syntax Příklad 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. V seznamu polí Zobrazit přehled , klikněte pravým tlačítkem na ikonu Odbyt stůl, následovaný tabulkou Nové opatření . Nahradit Opatření zadáním nového názvu míry Předchozí čtvrtletní prodeje, v Formula Bar . 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. Funkce CALCULATE má alespoň dva argumenty. První je výraz, který se má vyhodnotit, a druhý je a Filtr . Po otevření závorky ( pro VYPOČÍTAT funkce, typ SOUČET následuje další úvodní závorka ( předat argument SOUČET funkce. 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. Zadejte a čárka (,) následovaný mezerou k určení prvního filtru a poté zadejte PŘEDCHOZÍ ČTVRTLETICE . Toto bude náš filtr. Budete používat PŘEDCHOZÍ ČTVRTLETICE funkce časové inteligence k filtrování SOUČET výsledky za předchozí čtvrtletí. Po úvodní závorkách ( pro funkci PREVIOUSQUARTER zadejte Kalendář [DateKey] . 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ář. 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 )) . Váš vzorec by nyní měl vypadat nějak takto 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í 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.
MINX(
,)
=MINX(FILTR(InternetSales, InternetSales [SalesTerritoryKey] =5), InternetSales [Nákladní doprava] + InternetSales [TaxAmt])
MAX
MAX()
=MAX([ResellerMargin])
MAX
MAX()
=MAX(([Poštovní směrovací číslo])
MAXX
MAXX(
,)
=MAXX(FILTR(InternetSales, InternetSales [SalesTerritoryKey] =5), InternetSales [Nákladní doprava] + InternetSales [TaxAmt])
SOUČET
SOUČET()
=SOUČET(Prodejní kancelář])
PRŮMĚRNÝ
PRŮMĚRNÝ()
=PRŮMĚRNÝ(InternetSales [ExtendedSalesAmount])
sumx
sumx(
,)
=sumx(FILTR(InternetSales, InternetSales [SalesTerritoryID] =5),[Náklad])
AVERAGEX
AVERAGEX(
,)
=AVERAGEX(InternetSales, InternetSales [Freight] + InternetSales [TaxAmt])
2. Funkce počítání
DISTINCTCOUNT
DISTINCTCOUNT()
=DISTINCTCOUNT(ResellerSales_USD [SalesOrderNumber])
POČET
POČET()
=POČET([Datum odeslání])
COUNTA
COUNTA()
=COUNTA(„Prodejce“ [telefon])
COUNTROWS
COUNTROWS(
)
výukový program talend open studio pdf
=COUNTROWS(„Objednávky“)
COUNTBLANK
COUNTBLANK()
=COUNTBLANK(Prodejce [název banky])
3. Funkce data a času
DATUM
DATUM(<rok>,<Měsíc>,<den>)
=DATUM(2019,12, 17)
HODINA
HODINA()
=HODINA(„Objednávky“ [TransactionTime])
DNES
DNES()
NYNÍ
NYNÍ()
EOMONTH
EOMONTH(,)
=EOMONTH(„3. března 2008“,1.5)
4. Matematické funkce
SEKCE
SEKCE()
=ABS ([DealerPrice] - [ListPrice])
EXP
EXP()
= EXP ([síla])
SKUTEČNOST
SKUTEČNOST()
= FAKT ([Hodnoty])
LN
LN()
= LN ([hodnoty])
LOG
LOG(,)
Všechny následující vrátí stejný výsledek, 2.
= LOG (100,10)
= LOG (100)
= LOG10 (100)
PI
PI()
NAPÁJENÍ
NAPÁJENÍ(,<Napájení>)
= VÝKON (5,2)
KVOCIENT
KVOCIENT(,)
= QUOTIENT (5,2)
PODEPSAT
PODEPSAT()
= PODPIS (([prodejní cena] - [nákladová cena]))
SQRT
SQRT()
= SQRT (25)
5. Logické funkce
A
A(,)
= 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
NEBO(,)
= 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
NE()
= NE ([CalculatedColumn1])
Pro každý řádek ve Vypočítaném sloupci1 vrátí funkce NOT logický opak dané hodnoty.
LI
LI(logical_test> ,, value_if_false)
= KDYŽ [[Hovory]<200,'nízký', IF ([Hovory]<300,'střední','vysoký'))
IFERROR
IFERROR(hodnota, value_if_error)
= IFERROR (25/0,9999)
6. Informační funkce
ISBLANK
ISBLANK(<hodnota>)
= IF (ISBLANK ('CalculatedMeasures' [PreviousYearTotalSales]), BLANK (), ('CalculatedMeasures' [Total Sales] - 'CalculatedMeasures' [PreviousYearTotalSales]) / 'CalculatedMeasures' [PreviousYearTotalSales])
ČÍSLO
ČÍSLO(<hodnota>)
= IF (ISNUMBER (0),‚Je číslo ',„Není číslo“)
ISTEXT
ISTEXT(<hodnota>)
= IF (ISTEXT ('text'),„Je text“,„Není netextové“)
ISNONTEXT
ISNONTEXT(<hodnota>)
= IF (ISNONTEXT ('text'),„Není netextové“,„Je text“)
ISERROR
ISERROE(<hodnota>)
= 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
KONCATENÁT(,)
= CONCATENATE ('Hello', 'World')
CONCATENATEX
CONCATENATEX(
, , [oddělovač])
= CONCATENATEX (zaměstnanci, [křestní jméno] & „“ & [příjmení], “,“)
PEVNÝ
PEVNÝ(,,)
= OPRAVENO ([PctCost],3,jeden)
NAHRADIT
NAHRADIT(,,,)
= REPLACE ('Nové produkty' [Kód produktu],jeden,2,'OB')
VYHLEDÁVÁNÍ
VYHLEDÁVÁNÍ(, [, [] [,]])
= HLEDAT ('n','tiskárna')
Vzorec vrací 4, protože „n“ je čtvrtý znak ve slově „tiskárna“.
HORNÍ
HORNÍ()
= HORNÍ (['Nové produkty' [Kód produktu])
Základy Power BI DAX: Vytvoření prvního opatření
Předchozí čtvrtletní prodej = VÝPOČET (SUM (prodej [SalesAmount]), PREVIOUSQUARTER (Calendar [DateKey])) jak vytvořit balíček