Szczegóły ebooka

Kompletny przewodnik po DAX, wyd. 3. Doskonalenie języka wyrażeń modelu semantycznego dla Microsoft Power BI, Fabric i Excel

Kompletny przewodnik po DAX, wyd. 3. Doskonalenie języka wyrażeń modelu semantycznego dla Microsoft Power BI, Fabric i Excel

Alberto Ferrari i Marco Russo

Ładowanie...
EBOOK
Ładowanie...

Wydanie trzecie

Doświadczeni eksperci Alberto Ferrari i Marco Russo pomagają opanować język DAX dla rozwiązań BI

Kompletny przewodnik po DAX to autorytatywne źródło wiedzy na temat języka DAX, kluczowego dla tworzenia skutecznych miar w modelach semantycznych wykorzystywanych w Microsoft Power BI, Fabric, Analysis Services i Excelu. Dzięki wieloletniemu doświadczeniu od samego powstania Power Pivot autorzy przedstawiają kompleksowy przewodnik po unikatowych i złożonych koncepcjach DAX, co czyni go niezbędnym narzędziem każdego profesjonalisty BI. Trzecie wydanie zawiera omówienie najnowszych funkcjonalności i zapewnia ramy dla pisania wydajnego kodu, zwiększając możliwości dostosowywania obliczeń w modelach danych. Zdobędziesz umiejętności niezbędne dla zrozumienia i stosowania zaawansowanych koncepcji języka DAX, strukturyzowania kodu w funkcjach definiowanych przez użytkownika i wykorzystywania nowych kalendarzy w analizach czasowych.

Poznaj fundamenalne koncepcje języka DAX i jego unikatową strukturę

Opanuj stosowanie kontekstów wykonania dla usprawnienia analiz

Naucz się skutecznie stosować funkcje CALCULATE i CALCULATETABLE

Stosuj zmienne, aby upraszczać złożone wyrażenia DAX

Wykorzystuj klasyczne i nowe funkcje analizy czasowej

Używaj iteratorów do wykonywania zaawansowanych obliczeń

Stosuj obliczenia wizualne, aby ulepszać interaktywność raportów

Twórz i wykorzystuj grupy kalkulacji dla raportowania dynamicznego

Obsługuj złożone hierarchie i relacje w modelach danych

Twórz zapytania DAX dla celów testowych i rozwiązywania problemów

O tej książce

- Dla profesjonalistów BI i zaawansowanych użytkowników Excela, którzy pragną pogłębić swoją znajomość języka DAX i rozszerzyć swoje możliwości modelowania danych

- Dla analityków danych i specjalistów IT szukających sposobów optymalizacji swoich rozwiązań w Microsoft Power BI, Fabric, Analysis Services i Excelu

O autorach

Alberto Ferrari i Marco Russo to uznani eksperci w dziedzinie analityki biznesowej, specjalizujący się w języku DAX i Microsoft Power BI. Jako założyciele witryny sqlbi.com, utworzyli wiodącą platformę nauki języka DAX, dzieląc się swą rozległą wiedzą. Dzięki głębokiej znajomości języka DAX stali się wpływowymi postaciami w społeczności BI i regularnie pojawiają się na prestiżowych konferencjach międzynarodowych, takich jak Microsoft Fabric Conference, PASS Summit i SQLBits.

Wszystkie pliki do ćwiczeń są dostępne do pobrania ze strony
MicrosoftPressStore.com/register

Wymagania systemowe zawiera Wstęp do książki.

Przedmowa xiii
Podziękowania xvii
Wstęp xix
1 Wprowadzenie do nauki języka DAX 1
Dlaczego DAX w ogóle istnieje? 2
Jak model danych wpływa na nasz kod DAX 6
Przedstawiamy demonstracyjny model danych 10
Dlaczego DAX jest odmienny od dowolnego innego języka 12
DAX dla użytkowników Excela 12
DAX dla programistów SQL 17
DAX dla użytkownika Pythona 20
DAX dla użytkowników Power BI 23
Jak stać się mistrzem DAX 24
DAX jako język funkcyjny 24
Trening czyni mistrza 25
Kilka ważnych koncepcji 26
DAX jest ściśle logiczny 26
Diabeł tkwi w szczegółach 27
Metoda prób i błędów nie działa w DAX 28
Podsumowanie 28
2 Wprowadzenie do DAX 29
Istota obliczeń DAX 29
Typy danych DAX 31
Operatory języka DAX 36
Wyrażenia warunkowe 38
Konstruktory tabel i krotek oraz operator IN 38
Istota kolumn obliczanych i miar 39
Kolumny obliczane 40
Miary 42
Wprowadzenie do funkcji agregujących i iteratorów 46
Wybieranie pomiędzy kolumnami obliczanymi a miarami 49
Formatowanie kodu DAX 51
Zmienne 55
Podstawowe funkcje DAX 55
Funkcje agregujące 56
Spis treści
iv Spis treści
Funkcje logiczne 57
Funkcje tablicowe 60
Funkcje informacyjne 62
Funkcje matematyczne 63
Funkcje statystyczne 64
Funkcje finansowe 64
Funkcje tekstowe 65
Funkcje konwersji 66
Funkcje daty i czasu 66
Funkcje relacyjne 68
Funkcje okna 71
Funkcje analizy czasowej 72
Wprowadzenie do obliczeń wizualnych 73
Wprowadzenie do funkcji zdefiniowanych przez użytkownika 77
Obsługa błędów w wyrażeniach DAX 80
Błędy konwersji 80
Błędy w operacjach arytmetycznych 81
Przechwytywanie błędów 85
Generowanie błędów 89
Podsumowanie 91
3 Wprowadzenie do kontekstu filtru i funkcji CALCULATE 93
Osie i współrzędne 94
Kontekst filtru 97
Funkcja CALCULATE 104
Modyfikator KEEPFILTERS 108
VALUES jako alternatywa dla KEEPFILTERS 115
Modyfikator REMOVEFILTERS 118
Jak Power BI oblicza sumy częściowe i całkowite 120
Podsumowanie 126
4 Manipulowanie kontekstem filtru 127
Kraj jako udział procentowy kontynentu 128
Udział procentowy dla wybranej marki 133
Wyróżnianie najlepszych marek 139
Wybieranie sposobu usuwania filtrów 151
Obliczanie udziału procentowego i wizualna reprezentacja wzrostu
w stosunku do poprzedniego roku 158
Obliczanie procentowego udziału dla roku 158
Obliczanie wskaźnika dla ikony 161
Poprawianie sum 165
Obliczanie powracających klientów 168
Podsumowanie 173
Spis treści v
5 Wprowadzenie do kontekstu wiersza i przejścia kontekstu 175
Wprowadzenie do kontekstu wiersza 176
Tworzenie kontekstu wiersza poprzez iteratory 179
Wartości kolumn a odwołania do kolumn 180
Używanie agregatorów wewnątrz kontekstu wiersza 183
Wprowadzenie do przejścia kontekstu 185
Obliczanie klientów, którzy zakupili więcej niż dwa produkty 188
Automatyczne opakowywanie miar funkcją CALCULATE 190
Kontekst wiersza a relacje 193
Obliczanie sprzedaży w pierwszym tygodniu 199
Obliczanie całkowitej wartości zamówienia na podstawie
modelu zdenormalizowanego 203
Zagnieżdżone konteksty wiersza 208
Zagnieżdżanie kontekstu wiersza w różnych tabelach 208
Zagnieżdżanie kontekstu wiersza w tej samej tabeli 210
Używanie funkcji EARLIER 214
Różnica pomiędzy FILTER a CALCULATE 216
Podsumowanie 217
6 Podstawowe funkcje tablicowe 219
Wprowadzenie do funkcji tablicowych 219
Składnia polecenia EVALUATE 222
Istota funkcji FILTER 224
Funkcje ALL i ALLEXCEPT 227
Funkcje VALUES, DISTINCT i puste wiersze 231
Funkcje SELECTCOLUMNS i ADDCOLUMNS 241
Funkcja SUMMARIZE 247
Funkcja SUMMARIZECOLUMNS 250
Obliczanie najlepszego sklepu według produktu 252
Używanie tabel jako wartości skalarnych 256
Funkcja ALLSELECTED 259
Podsumowanie 263
7 Zmienne 265
Wprowadzenie do składni VAR 265
Ważność nazw zmiennych 267
Zmienne są stałymi 270
Zakres (zasięg ważności) zmiennej 271
Używanie zmiennych tablicowych 275
Kiedy zmienne są obliczane 277
Typowe wzorce wykorzystania zmiennych 279
Podsumowanie 282
vi Spis treści
8 Istota kontekstu wykonania 283
Filtry CALCULATE to tabele 283
Wprowadzenie do tabel rozszerzonych 289
Wprowadzenie do rodowodu danych i funkcji TREATAS 294
Istota przejścia kontekstu 298
Przypomnienie wiadomości o kontekście wiersza i kontekście filtru 299
Jak działa przejście kontekstu 300
Używanie przejścia kontekstu dla zduplikowanych wierszy 303
Przejście kontekstu w kolumnach obliczanych 307
Kolumny aktywne i nieaktywne w kontekście wiersza 311
Podsumowanie przejścia kontekstu 314
Używanie przejścia kontekstu w iteratorach 315
Używanie iteratorów 315
Istota kardynalności iteratora 317
Wykorzystywanie przejścia kontekstu w iteratorach 320
Modyfikatory funkcji CALCULATE 325
Modyfikator USERELATIONSHIP 325
Modyfikator CROSSFILTER 327
Modyfikator KEEPFILTERS 329
Rodzina funkcji ALL* 331
ALL 334
ALLEXCEPT 334
ALLNOBLANKROW 334
ALLSELECTED 335
ALLCROSSFILTERED 335
Kolejność przetwarzania w funkcji CALCULATE 337
Zależności cykliczne 339
Podsumowanie 344
9 Praca z kontekstem wykonania 345
Używanie różnych sposobów formułowania filtrów 345
Używanie CALCULATE w różnych kontekstach 349
Filtrowanie kolumn kontra filtrowanie tabel 356
Istota relacji aktywnych 361
Używanie KEEPFILTERS z iteratorami 363
Zarządzanie wyborami przy użyciu SELECTEDVALUE i VALUES 372
Obliczanie prezentów dla najlepszych klientów 378
Używanie relacji wiele-do-wielu 387
Podsumowanie 398
10 Funkcje zdefiniowane przez użytkownika 399
Wprowadzenie do UDF 400
Tryby przekazywania parametru 403
Spis treści vii
Dynamiczne wiązanie kolumn 412
Funkcje zależne i niezależne od modelu 413
Konwencje nazewnicze dla funkcji zdefiniowanych przez użytkownika 415
Nazwy funkcji 415
Parametry 416
Komentarze 417
Przykłady użycia UDF 418
Obliczanie konwersji walut za pomocą funkcji 418
Używanie funkcji dla złożonych filtrów CALCULATE 419
Używanie funkcji w celu implementacji zmiennych globalnych 421
Podsumowanie 423
11 Praca z tabelami 425
Funkcje grupujące i filtrujące 425
Funkcja CALCULATETABLE 425
Funkcja ADDCOLUMNS 429
Funkcja SELECTCOLUMNS 433
Funkcje SUMMARIZE i SUMMARIZECOLUMNS 435
Funkcja GROUPBY 441
Czytanie zapytań w Power BI 445
Korzystanie z Analizatora wydajności 445
Analizowanie pojedynczej macierzy 446
Istota filtrów i fragmentatorów 448
Dodawanie miar bazujących na miarach 451
Używanie wierszy, kolumn i wielu miar 453
Funkcje przekształcające tabele i zbiory 455
Funkcja CROSSJOIN 455
Funkcja UNION 459
Funkcja INTERSECT 464
Funkcja EXCEPT 466
Funkcje do wydobywania wierszy i złączania tabel 468
Korzystanie z funkcji TOPN 468
Korzystanie z funkcji GENERATE i GENERATEALL 475
Korzystanie z funkcji NATURALINNERJOIN i NATURALLEFTOUTERJOIN 479
Wykorzystywanie tabel jako filtrów 482
Implementowanie alternatywy 482
Zawężanie obliczeń do klientów z pierwszego roku 486
Znajdowanie nowych klientów 487
Tworzenie tabel obliczanych 490
Tworzenie tabel statycznych przy użyciu funkcji ROW 490
Tworzenie tabel statycznych przy użyciu DATATABLE 491
Funkcja GENERATESERIES 493
Podsumowanie 495
viii Spis treści
12 Funkcje okna 497
Funkcja INDEX 498
Obsługa remisów 501
Funkcja pomocnicza PARTITIONBY 504
Pomijanie tabeli źródłowej 505
Funkcja OFFSET 508
Wprowadzenie do semantyki apply 511
Istota funkcji OFFSET 522
Funkcja WINDOW 528
Istota funkcji WINDOW i semantyki apply 533
Istota semantyki apply 540
Dopasowywanie 540
Stosowanie 541
Algorytm w pseudokodzie DAX 541
Modyfikator MATCHBY 542
Funkcje RANK i ROWNUMBER 544
Typowe błędy funkcji okna 547
Zduplikowane wiersze w tabeli źródłowej 547
Zależności cykliczne w kolumnach obliczanych 552
Niejednoznaczny kontekst wiersza 554
Podsumowanie 556
13 Analiza czasowa 557
Wprowadzenie do analizy czasowej 558
Zachowanie klasycznych funkcji analizy czasowej 560
Automatyczne stosowanie REMOVEFILTERS względem Date 563
Kolumny utrzymujące filtry 565
Wprowadzenie do kalendarzy 568
Funkcje analizy czasowej to funkcje tablicowe 569
Budowanie tabeli dat 572
Budowanie tabeli Date dla kalendarza gregoriańskiego 574
Budowanie tabeli dat dla kalendarza miesięcznego 576
Budowanie tabeli Date dla kalendarzy fiskalnych opartych na miesiącach 578
Budowanie tabeli Date dla kalendarza tygodniowego 579
Praca z wieloma kolumnami dat 579
Obsługa wielu relacji do tabeli Date 580
Używanie kalendarzy 584
Definiowanie kalendarzy 586
Wprowadzenie do kolumn powiązanych czasowo 587
Zachowanie funkcji analizy czasowej 588
Istota klasycznych funkcji analizy czasowej 589
Istota zachowania kalendarzowych funkcji analizy czasowej 590
Czyszczenie filtrów 592
Spis treści ix
Przesunięcia równoległe kontra hierarchiczne 594
Działanie funkcji analizy czasowej 595
Funkcje DATEADD i SAMEPERIODLASTYEAR 595
Funkcja PARALLELPERIOD i funkcje pełnych okresów 607
Obliczenia typu interwał-do-dziś 611
Mieszanie funkcji analizy czasowej 614
Używanie miar semi-addytywnych z funkcjami FIRSTDATE i LASTDATE 616
Obliczanie sald początkowych i końcowych 621
Podsumowanie 625
14 Obliczenia wizualne 627
Czym są obliczenia wizualne 627
Obliczenia wizualne i funkcje okna 630
Kształt wizualizacji 631
Obliczenia wizualne to nowe kolumny w tabeli wirtualnej 637
Zagęszczanie 639
Kontekst wizualny 641
Funkcje EXPAND, COLLAPSE, EXPANDALL oraz COLLAPSEALL 643
Nawigowanie po szkielecie tabeli wirtualnej 646
Dostęp do tabeli wirtualnej za pomocą ROWS, COLUMNS i ROWPAGES 649
Wspólne korzystanie z ROWS, COLUMNS i ROWPAGES 652
Reset i kierunek 655
CALCULATE w obliczeniach wizualnych 658
Funkcje dla obliczeń wizualnych 661
Funkcje PREVIOUS, NEXT, FIRST, LAST 662
Funkcje LOOKUP, LOOKUPWITHTOTALS i auto-rozwijanie 664
Funkcja RUNNINGSUM 666
Funkcja ISATLEVEL 667
Funkcja MOVINGAVERAGE 668
Funkcja RANGE 670
Przykłady obliczeń wizualnych 671
Obliczanie średniej ruchomej dla ostatnich sześciu miesięcy 671
Obliczanie wzrostu względem tego samego okresu w roku poprzednim 676
Porównywanie sprzedaży względem średniej dla rodzeństwa 679
Podsumowanie 682
15 Grupy obliczeń 683
Wprowadzenie do grup obliczeń 684
Pierwszeństwo grup obliczeń 691
Używanie ISSELECTEDMEASURE oraz SELECTEDMEASURENAME 695
Przechwytywanie wielokrotnego zaznaczania i braku zaznaczenia 697
Aktywowanie elementów obliczanych w kodzie DAX 699
Używanie grup obliczeń do stosowania filtrów globalnych 702
x Spis treści
Obliczenia wizualne i grupy obliczeń 706
Podsumowanie 707
16 Badanie kontekstu filtru i zarządzanie hierarchiami 709
Korzystanie z funkcji HASONEVALUE i ISINSCOPE 710
Funkcje ISFILTERED i ISCROSSFILTERED 714
Różnice pomiędzy funkcjami VALUES i FILTERS 717
Korzystanie z funkcji ISEMPTY 719
Arbitralnie ukształtowane filtry 721
Obliczanie procentowych udziałów w hierarchiach 728
Obsługa hierarchii rodzic-dziecko 733
Podsumowanie 748
17 Budowanie zapytań 751
Istota funkcji EVALUATE 751
Składnia EVALUATE 752
Używanie DEFINE VAR 753
Używanie DEFINE MEASURE 756
Używanie DEFINE TABLE 758
Używanie DEFINE COLUMN 759
Używanie DEFINE FUNCTION 760
Używanie DEFINE VISUAL SHAPE 761
Używanie DEFINE MPARAMETER 761
Implementowanie typowych wzorców zapytań 762
Wykorzystanie funkcji ROW do testowania miar 762
Korzystanie z funkcji SUMMARIZECOLUMNS 763
Korzystanie z funkcji ISONORAFTER oraz ISAFTER 768
Korzystanie z funkcji ADDMISSINGITEMS 771
Korzystanie z funkcji SUBSTITUTEWITHINDEX 773
Korzystanie z funkcji SAMPLE 775
Podsumowanie 776
18 Zaawansowane koncepcje języka DAX 779
Tabele rozszerzone 779
Istota funkcji RELATED 779
Używanie funkcji RELATED w kolumnach obliczanych 782
Różnica pomiędzy filtrami tabel a filtrami kolumn 784
Używanie filtrów tablicowych w miarach 787
Rozróżnienie pomiędzy rozszerzaniem tabel a filtrowaniem 791
Przejście kontekstu w tabelach rozszerzonych 793
Istota funkcji ALLSELECTED i przesłanianych kontekstów filtru 794
ALLSELECTED wewnątrz SUMMARIZECOLUMNS 795
Pojęcie przesłanianych kontekstów filtru 797
Spis treści xi
Najlepsze praktyki stosowania ALLSELECTED 799
Dwukierunkowe relacje i niejednoznaczność 804
Niejednoznaczność w aktywnych relacjach 811
Rozwiązywanie niejednoznaczności w nieaktywnych relacjach 813
Funkcjonalności auto-exists i non-empty 816
Wprowadzenie do auto-exists 819
Wprowadzenie do non-empty 820
Zachowanie filtru wartości 821
Najlepsze praktyki dotyczące SUMMARIZECOLUMNS 825
Podsumowanie 827
19 Zaawansowane obliczenia w języku DAX 829
Praca z budżetem i różnymi granularnościami 829
Użycie statycznej alokacji 831
Użycie nowego wymiaru 835
Posługiwanie się relacjami wiele-do-wielu 835
Obliczenia o różnych granularnościach 837
Używanie alokacji dynamicznej dla wszystkich wymiarów 841
Wspólne pokazywanie planów budżetowych i sprzedaży 842
Obliczenia semi-addytywne 845
Scenariusz 1: użycie LASTDATE 848
Data ostatniego salda 850
Scenariusz 2: użycie ostatniej daty dowolnego klienta w bieżącym okresie 852
Scenariusz 3: Używanie ostatniej daty dla dowolnego klienta,
ale z uwzględnieniem poprzedzających okresów 853
Scenariusz 4: Używanie ostatniej daty dla każdego klienta
z uwzględnieniem poprzedzających okresów 854
Obliczanie sprzedaży w tym samym sklepie 859
Filtrowanie sklepów otwartych w każdym wybranym roku 859
Filtrowanie sklepów otwartych w pierwszym lub ostatnim z wybranych lat 868
Używanie grup obliczeń do wybierania algorytmu filtrowania 870
Podsumowanie 872
Indeks 873
 

  • Tytuł:Kompletny przewodnik po DAX, wyd. 3. Doskonalenie języka wyrażeń modelu semantycznego dla Microsoft Power BI, Fabric i Excel
  • Autor:Alberto Ferrari i Marco Russo
  • ISBN:9788375416084, 9788375416084
  • Data wydania:2026-07-23
  • Format:Ebook - EPUB
  • Identyfikator pozycji: e_51wa
  • Wydawca: Promise
Ładowanie...
Ładowanie...