Filtrowanie i zliczanie w DAX

Funkcje DAX w Power BI

Maarten Van den Broeck

Content Developer at DataCamp

Funkcje filtrowania

  • Filtry są stosowane w kontekście filtru
  • Filtry mają pierwszeństwo przed wizualizacjami
Total Sales = SUM(Orders[Sales])

Funkcje DAX w Power BI

Funkcje filtrowania

  • Filtry są stosowane w kontekście filtru
  • Filtry mają pierwszeństwo przed wizualizacjami
Total Sales = SUM(Orders[Sales])
CALCULATE(<expression>, 
            <filter1> , [<filter2> [, ...]])
  • Używana z funkcjami pośrednimi
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
Funkcje DAX w Power BI

Funkcje filtrowania

  • Filtry są stosowane w kontekście filtru
  • Filtry mają pierwszeństwo przed wizualizacjami
Total Sales = SUM(Orders[Sales])
CALCULATE(<expression>, 
            <filter1> , [<filter2> [, ...]])
  • Używana z funkcjami pośrednimi
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
Funkcje DAX w Power BI

Więcej opcji filtrowania

  • FILTER(<table>, <filter>)
    • Zwraca przefiltrowaną tabelę
Total Sales Chuck = 
CALCULATE(
    [Total Sales],
    FILTER(Fact_Orders,
        RELATED(Dim_Sales[Salesperson]) = "Chuck"))
Funkcje DAX w Power BI

Więcej opcji filtrowania

  • FILTER(<table>, <filter>)
    • Zwraca przefiltrowaną tabelę
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() służy do zwracania wartości z innej tabeli
Funkcje DAX w Power BI

Więcej opcji filtrowania

  • CROSSFILTER(<col1>, <col2>, <direction>)
    • Określa kierunek krzyżowego filtrowania między dwiema kolumnami

Relacja jednokierunkowa między dwiema tabelami: Fact_Orders i Dim_Returns

CROSSFILTER(Dim_Returns[Order ID], 
            Fact_Orders[Order ID],
            Both)
  • Nadpisuje kierunek relacji w modelu danych
Funkcje DAX w Power BI

Zalety filtrowania w DAX

  • Poprawa wydajności
    • Eliminacja zbędnych danych
    • Definiowanie relacji między tabelami
  • Możliwość ponownego użycia
    • Odwoływanie się do innych miar obliczanych
  • Bardziej złożone obliczenia
    • Zwięzła składnia
Funkcje DAX w Power BI

Zliczanie

  • COUNT(<column>)
    • Zwraca liczbę wierszy zawierających liczby, daty lub ciągi znaków w kolumnie
  • COUNTA(<column>)
    • Zwraca liczbę wierszy zawierających liczby, daty, ciągi znaków lub wartości logiczne w kolumnie
  • COUNTBLANKS(<column>)
    • Zwraca liczbę pustych wierszy
  • DISTINCTCOUNT(<column>)
    • Zwraca liczbę unikatowych wartości w kolumnie
  • COUNTROWS(<table>)
    • Zwraca liczbę wierszy zawierających liczby, daty i ciągi znaków w tabeli
Funkcje DAX w Power BI

Czas na ćwiczenia!

Funkcje DAX w Power BI

Preparing Video For Download...