Filtrování a počítání v DAX

DAX Functions in Power BI

Maarten Van den Broeck

Content Developer at DataCamp

Funkce filtrů

  • Filtry se aplikují na kontext filtru
  • Filtry mají přednost před jakýmkoliv vizuálem
Total Sales = SUM(Orders[Sales])

DAX Functions in Power BI

Funkce filtrů

  • Filtry se aplikují na kontext filtru
  • Filtry mají přednost před jakýmkoliv vizuálem
Total Sales = SUM(Orders[Sales])
CALCULATE(<expression>, 
            <filter1> , [<filter2> [, ...]])
  • Používá se s mezilehlými funkcemi
Total Sales ALL = CALCULATE(
                    [Total Sales],
                    ALL(Orders))

$$ $$ $$

Region Total Sales
Central $501,239.89
East $678,781.24
South $391,721.91
West $725,457.82
TOTAL $2,297,200.86
DAX Functions in Power BI

Funkce filtrů

  • Filtry se aplikují na kontext filtru
  • Filtry mají přednost před jakýmkoliv vizuálem
Total Sales = SUM(Orders[Sales])
CALCULATE(<expression>, 
            <filter1> , [<filter2> [, ...]])
  • Používá se s mezilehlými funkcemi
Total Sales ALL = CALCULATE(
                    [Total Sales],
                    ALL(Orders))

$$ $$ $$

Region Total Sales Total Sales ALL
Central $501,239.89 $2,297,200.86
East $678,781.24 $2,297,200.86
South $391,721.91 $2,297,200.86
West $725,457.82 $2,297,200.86
TOTAL $2,297,200.86 $2,297,200.86
DAX Functions in Power BI

Další možnosti filtrování

  • FILTER(<table>, <filter>)
    • Vrátí filtrovanou tabulku
Total Sales Chuck = 
CALCULATE(
    [Total Sales],
    FILTER(Fact_Orders,
        RELATED(Dim_Sales[Salesperson]) = "Chuck"))
DAX Functions in Power BI

Další možnosti filtrování

  • FILTER(<table>, <filter>)
    • Vrátí filtrovanou tabulku
Total Sales Chuck = 
CALCULATE(
    [Total Sales],
    FILTER(Fact_Orders,
        RELATED(Dim_Sales[Salesperson]) = "Chuck"))
Total Sales Total Sales Chuck
$2,297,200.86 $235,856.05

$$

  • RELATED() slouží k vrácení hodnot z jiné tabulky
DAX Functions in Power BI

Další možnosti filtrování

  • CROSSFILTER(<col1>, <col2>, <direction>)
    • Určuje směr křížového filtrování mezi dvěma sloupci

Jednosměrný vztah mezi dvěma tabulkami Fact_Orders a Dim_Returns

CROSSFILTER(Dim_Returns[Order ID], 
            Fact_Orders[Order ID],
            Both)
  • Přepisuje směr vztahu datového modelu
DAX Functions in Power BI

Výhody filtrování v DAX

  • Zlepšení výkonu
    • Odfiltrování nepotřebných dat
    • Definování konkrétních vztahů mezi tabulkami
  • Znovupoužitelnost
    • Odkaz na jiné vypočítané míry
  • Složitější výpočty
    • Stručná syntaxe
DAX Functions in Power BI

Počítání

  • COUNT(<column>)
    • Vrátí počet řádků s čísly, daty nebo řetězci ve sloupci
  • COUNTA(<column>)
    • Vrátí počet řádků s čísly, daty, řetězci nebo logickými hodnotami ve sloupci
  • COUNTBLANKS(<column>)
    • Vrátí počet prázdných řádků
  • DISTINCTCOUNT(<column>)
    • Vrátí počet jedinečných hodnot ve sloupci
  • COUNTROWS(<table>)
    • Vrátí počet řádků s čísly, daty a řetězci v tabulce
DAX Functions in Power BI

Pojďme si procvičit!

DAX Functions in Power BI

Preparing Video For Download...