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
Zobrazit všechny příspěvky Bena Richardsona
- 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