Pokročilé funkce Power BI: Komplexní průvodce
Tento článek se zaměřuje na pokročilé funkce Power BI, zejména na používání jazyka DAX (Data Analysis Expressions) pro modelování dat a vytváření komplexních výpočtů. DAX je podobný funkcím v Excelu, takže pokud jste s nimi obeznámeni, neměli byste mít s DAX větší potíže.
Obsah kurzu
- Funkce CONCATENATE v DAX
- Logická funkce IF v DAX
- Funkce FORMAT
- Funkce RELATED
- Pomocné funkce jako COUNTROWS
- Příkaz SWITCH
- X funkce
- Měření v DAX
Podrobný rozbor funkcí
1. Funkce CONCATENATE (00:45)
Funkce CONCATENATE v DAX slouží ke spojení dvou textových řetězců do jednoho. Příklad použití: Copy
FullName = CONCATENATE(Customer[FirstName], " ", Customer[LastName])
Alternativně lze použít operátor „&“: Copy
FullName = Customer[FirstName] & " " & Customer[LastName]
2. Logická funkce IF (14:07)
Funkce IF v DAX umožňuje provádět podmíněné výpočty. Příklad použití pro kategorizaci zákazníků podle věku:
clojureCopy
AgeBreakdown =
IF(Customer[Age] >= 55, "55+",
IF(Customer[Age] >= 45, "45-54",
IF(Customer[Age] >= 35, "35-44",
"18-34")))
3. Funkce FORMAT (21:16)
Funkce FORMAT slouží k formátování hodnot podle zadaného vzoru. Příklad vytvoření sloupce měsíc-rok: Copy
MonthYear = FORMAT(Date[Date], "MM-yyyy")
4. Funkce RELATED (24:42)
Funkce RELATED umožňuje přístup k hodnotám z propojených tabulek. Příklad vytvoření klíče pro propojení tabulek: Copy
TempKey = RELATED('Sales Territory'[Region]) & RELATED('Date'[MonthNumberOfYear])
5. Funkce COUNTROWS s RELATEDTABLE (31:51)
Kombinace funkcí COUNTROWS a RELATEDTABLE pro počítání transakcí: Copy
TotalTransactions = COUNTROWS(RELATEDTABLE('Internet Sales'))
6. Příkaz SWITCH (34:40)
Příkaz SWITCH je elegantnější alternativou k vnořeným IF funkcím:
jsonCopy
RegionVolume =
SWITCH(TRUE(),
[TotalTransactions] >= 7000, "High Volume",
[TotalTransactions] >= 4000, "Medium Volume",
[TotalTransactions] >= 1, "Low Volume",
"N/A")
7. X funkce (36:28)
Příklad použití funkce MAXX pro nalezení posledního data nákupu: Copy
LastPurchaseDate = MAXX(RELATEDTABLE('Internet Sales'), 'Internet Sales'[OrderDate])
8. Měření v DAX (39:09)
Příklady vytvoření různých měření:
schemeCopy
TotalSales = SUM('Internet Sales'[SalesAmount])
TotalCost = SUM('Internet Sales'[TotalProductCost])
TotalTransactions = COUNTROWS('Internet Sales')
Profit = [TotalSales] - [TotalCost]
ProfitMargin = DIVIDE([Profit], [TotalSales])
Pokročilé měření s funkcí CALCULATE (48:01)
Použití funkce CALCULATE pro vytvoření měření nezávislého na filtrech:
schemeCopy
TotalSales (All Countries) = CALCULATE([TotalSales], ALL('Sales Territory'[Country]))
TotalSales USA = CALCULATE([TotalSales], 'Sales Territory'[Country] = "United States")
TotalSales Canada = CALCULATE([TotalSales], 'Sales Territory'[Country] = "Canada")
TotalSales USA and Canada = CALCULATE([TotalSales], 'Sales Territory'[Country] IN {"United States", "Canada"})
Časté dotazy
- Jaký je rozdíl mezi funkcemi CONCATENATE a operátorem „&“ v DAX?
- Obě metody slouží ke spojování textových řetězců. CONCATENATE je funkce, zatímco „&“ je operátor. Operátor „&“ je často považován za přehlednější, zejména při spojování více řetězců.
- Kdy je vhodné použít příkaz SWITCH místo vnořených IF funkcí?
- Příkaz SWITCH je vhodnější, když máte více než dvě nebo tři podmínky. Je přehlednější a snáze se udržuje.
- Jak funguje funkce RELATED a kdy ji používat?
- Funkce RELATED se používá k získání hodnot z propojených tabulek. Je užitečná, když potřebujete přistupovat k datům z jiné tabulky v rámci vašeho datového modelu.
- Jaký je význam funkce CALCULATE v DAX?
- CALCULATE je velmi mocná funkce, která umožňuje vyhodnocovat výrazy v modifikovaném kontextu filtrů. Je klíčová pro vytváření pokročilých výpočtů a měření v Power BI.
- Jak vytvořit složku pro ukládání měření v Power BI?
- V zobrazení modelu vyberte měření a v panelu vlastností zadejte název složky do pole „Zobrazit název složky“. Tím se vytvoří virtuální složka pro organizaci vašich měření.