SQLShack

Microsoft Power BI podporuje dva různé jazyky, jazyk M a DAX (Data Analysis Expression), které lze použít k filtrování, správě a vizualizaci dat.

Jazyk M lze považovat za jazyk dotazovacích vzorců a lze jej použít v editoru dotazů Power BI k přípravě dat před jejich načtením do modelu Power BI.

Na druhé straně DAX je jazyk pro analytické výpočty dat, který lze použít pro hloubkovou analýzu dat ve fázi zobrazení dat.

M a DAX na sobě nejsou závislé a řídí se zcela odlišnou strukturou a logikou a mají odlišné základní kódy. M a DAX nelze používat současně, protože jazyk M se používá v Editoru dotazů, zatímco DAX se většinou používá v modelu Data View.

Tento příspěvek na blogu vám na příkladech ukáže, jak se od sebe liší M a DAX v Power BI. Stručný úvod do jazyka DAX najdete v tomto článku.

Import datové sady

V této části naimportujeme fiktivní datovou sadu, kterou budeme používat k provádění našich dotazů v jazyce M a DAX. Za tím účelem začněte kliknutím na tlačítko „Získat data“ v horní nabídce, jak ukazuje následující obrázek.

V novém dialogu se zobrazí seznam všech datových odkazů otevřených v Power BI.

Do části pro vyhledávání vložte „Web“ a velmi brzy se objeví možnost „Web“ data a také se zobrazí ikona v možnosti Všechny zdroje dat. Vyberte možnost „Web“ a poté klikněte na tlačítko „připojit“ v dolní části. To je zřejmé z níže uvedeného snímku obrazovky.

Objeví se dialogové okno, které vidíte na níže uvedeném snímku obrazovky. Nyní je třeba do pole označeného URL vložit níže uvedenou adresu URL:

https://raw.githubusercontent.com/treselle-systems/customer_churn_analysis/master/WA_Fn-UseC_-Telco-Customer-Churn.csv

Po dokončení klikněte na tlačítko „OK“ pro potvrzení.

Zde je snímek obrazovky pro vaši informaci:

Tato adresa URL přenese Power BI na Github, kde se nachází soubor s daty CSV, který potřebujeme. Datový soubor podrobně popisuje soubor dat o odlivu zákazníků v telekomunikacích. Obsahuje údaje o zákaznících telekomunikační společnosti, kteří po určitém období společnost opustili.

V závislosti na velikosti souboru může stažení dat ze vzdáleného webu chvíli trvat.

Po stažení dat máte dvě možnosti: buď můžete data přímo importovat do Data/Report View, nebo je můžete nejprve načíst do Query Editoru. Protože jazyk M pracuje v Editoru dotazů, načteme data nejprve do Editoru dotazů kliknutím na tlačítko „Transformovat data“, jak ukazuje následující snímek obrazovky:

Uvidíte, že datová sada obsahuje informace o zákazníkovi, jako je pohlaví, délka pracovního poměru, telefonní služby, internetové služby, závislé osoby atd.

Po kliknutí na tlačítko Transformovat byste měli vidět následující Editor dotazů.

Rozdíl mezi jazykem M a DAX

V předchozí části jsme připojili Power BI k fiktivní datové sadě na GitHubu. V této části si na příkladech ukážeme rozdíly mezi jazykem M a DAX.

Jazyk M

Nejprve si ukážeme, co je to jazyk M a jak se používá v Power BI. Jak jsem již uvedl, jazyk M se používá ke správě a filtrování dat v Editoru dotazů. Pokud jste Editor dotazů zavřeli, můžete jej otevřít klepnutím na možnost „Upravit dotazy“ v horní nabídce.

V Editoru dotazů bude na levém panelu obrazovky pouze název vaší tabulky, jak je uvedeno níže. Klikněte na datovou tabulku „WA_Fn-UseC_-Telco-Customer-Churn“ na levém panelu editoru dotazů, jak je znázorněno níže:

Chcete-li zobrazit dotazy v M. Vyberte libovolný sloupec, například „Partner“, a poté klikněte na tlačítko „Odebrat sloupce“ v horním menu. Tím se z tabulky odstraní sloupec „Partner“, jak je znázorněno níže:

Dále klikněte na možnost „Zobrazit“ z horní nabídky, jak je zvýrazněno na následujícím obrázku:

Klikněte na zaškrtávací políčko „Panel vzorců“. Nyní byste měli vidět dotaz na panelu vzorců, jak je zvýrazněno na následujícím snímku obrazovky. Dotaz zde zní „= Table.RemoveColumns(#“Changed Type“,{„Partner“}). Tento dotaz je dotaz v jazyce M, který slouží k odstranění sloupce „Partner“ z vybrané tabulky. Vidíte, že dotaz jazyka M se více podobá příkazu SQL nebo LINQ (Language Integrated Query) v jazyce C#.

Chcete-li zobrazit všechny dříve provedené dotazy jazyka M ve své datové sadě, můžete kliknout na „Zobrazit – Rozšířený editor“, jak je znázorněno na následujícím obrázku.

Po kliknutí na možnost „Pokročilý editor“ v horní nabídce by se mělo zobrazit okno pokročilého editoru, jak je znázorněno níže. Okno pokročilého editoru obsahuje všechny dotazy v jazyce M, které jste dosud provedli v aktuální relaci.

Vidíte, že poslední dotaz je ten, který z tabulky odstranil sloupec „Partner“. Předtím byl použit dotaz „Změnit typ“, který přiřadil datové typy různým sloupcům v datové sadě. A předtím se dotaz „Promoted Headers“ používá k nastavení sloupců záhlaví. Pokud provedete další dotaz, objeví se tento dotaz na konci seznamu dotazů v „Editoru předvoleb“.

Zkusme přidat jednoduchý sloupec do tabulky knih a podívejme se na dotaz M pro tento účel. Klikněte na možnost „Přidat sloupec -> Vlastní sloupec“ v nabídce v horní části okna, jak vidíte níže:

Měli byste vidět níže uvedené okno. Klikněte postupně na sloupce „TotalCharges“ a „MonthlyCharges“ a poté je kliknutím na tlačítko „Insert“ vložte do okna editoru dotazů. V okně editoru dotazů přidejte mezi názvy obou sloupců znaménko „+“ a klikněte na tlačítko „OK“.

Měli byste vidět nový sloupec „Měsíční-celkem“ přidaný do tabulky, jak je uvedeno níže. V panelu vzorců můžete také vidět dotaz M vygenerovaný pro vytvoření sloupce „Monthly-Total“. Sloupec „Monthly-Total“ v podstatě zobrazuje součet hodnot ve sloupcích „TotalCharges“ a „MonthlyCharges“.

Pokud nyní opět otevřete okno „Pokročilý editor“, uvidíte dotaz použitý k přidání sloupce „Monthly-Total“ v dolní části dotazů v pokročilém editoru.

Nyní víme, jak funguje jazyk M a jak vypadá. V další části se pokusíme vytvořit stejný sloupec „Monthly-Total 2“ pomocí výrazu DAX (Data Analysis Expression).

Dotazy DAX se provádějí v zobrazení dat, proto musíme data přesunout z editoru dotazů do zobrazení dat. Za tímto účelem klikněte v Editoru dotazů na možnost „Zavřít & Použít“ v horní nabídce, jak je znázorněno níže:

Po kliknutí na tlačítko „Zavřít & Použít“ se otevře Zobrazení dat.

DAX (Data Analysis Expression)

V této části uvidíme, jak přidat nový sloupec do tabulky Knihy pomocí DAX. V Zobrazení dat klikněte v horní nabídce na možnost „Modelování -> Nový sloupec“, jak je uvedeno níže:

Po kliknutí na možnost „Nový sloupec“ by se mělo zobrazit následující okno. V panelu vzorců můžete vidět výchozí název sloupce. V tomto panelu vzorců můžete provádět dotazy DAX.

Do panelu vzorců zadejte dotaz „Měsíční-celkem 2 = + “ a stiskněte klávesu „Enter“. Jakmile stisknete klávesu enter, zobrazí se nový sloupec „Měsíční-celkem 2“, který zobrazuje součet hodnot ve sloupcích „Celkem-náklady“ a „Měsíční-náklady“.

Vidíte, že dotazy DAX se více podobají dotazům MS Excel.

Závěr

Jazyk M a DAX jsou dva jazyky, které Power BI podporuje pro manipulaci, filtrování a analýzu dat. Ačkoli mají oba jazyky podobné funkce, fungují nezávisle na sobě. Jazyk M se používá k předběžnému zpracování dat uvnitř editoru dotazů, zatímco DAX se používá k analýze dat po jejich načtení do modelu zobrazení dat.

  • Autor
  • Poslední příspěvky
Ben Richardson vede Acuity Training předního poskytovatele školení SQL Velká Británie. Nabízí celou škálu školení SQL od úvodních kurzů až po školení pokročilé správy a datových skladů – více informací naleznete zde. Společnost Acuity má kanceláře v Londýně a Guildfordu v hrabství Surrey. Příležitostně také publikuje na blogu společnosti Acuity
Zobrazit všechny příspěvky Bena Richardsona

Nejnovější příspěvky Bena Richardsona (zobrazit všechny)
  • Práce s tématy sestav Power BI – 25. února 2021
  • Power BI: Vodopádové grafy a kombinované vizualizace – 19. ledna 2021
  • Power BI: Podmíněné formátování a barvy dat v akci – 14. ledna 2021

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.