Kompletny przewodnik po języku DAX dla początkujących

Kompletny przewodnik po języku DAX dla początkujących

Trzecim filarem w rozwoju LuckyTemplates są obliczenia DAX. Ten samouczek zawiera szczegółowy przewodnik po języku DAX dla początkujących, obejmujący podstawy formatowania i edytowania. Omówiono również często używane funkcje języka DAX.

Spis treści

Przewodnik edytora języka DAX

Przede wszystkim oto kilka wskazówek dotyczących edytora DAX, które warto znać:

Użyj Ctrl + kółko przewijania myszy, aby zwiększyć lub zmniejszyć rozmiar czcionki w oknie edytora DAX.

Kompletny przewodnik po języku DAX dla początkujących

Użyj Ctrl + Shift + L, aby zaktualizować wszystkie wystąpienia nazwy jednocześnie.

Kompletny przewodnik po języku DAX dla początkujących

Dodaj przedrostek „ @ ” do wirtualnych tabel lub tymczasowych nazw kolumn w języku DAX.

Kompletny przewodnik po języku DAX dla początkujących

Przewodnik po języku DAX dotyczący formatowania

Twój kod DAX musi być uporządkowany i łatwy do zrozumienia dla użytkowników.

Nie tylko piszesz kod dla siebie dzisiaj, ale także dla siebie w przyszłości.

Ważne jest, aby opracowywać kody języka DAX, które są łatwe do odczytania i zrozumienia przez Ciebie i innych, zarówno teraz, jak iw przyszłości.

Nie martw się, jeśli edytowanie i organizowanie może zrujnować Twój kod. Komputery są inteligentne; dopóki składnia jest poprawna, będą w stanie zinterpretować i wykonać kody, które napisałeś.

Świetny cytat Marco Russo brzmi:

Jeśli nie jest sformatowany, nie jest to język DAX.

Istnieje kilka sposobów formatowania języka DAX. Zalecaną opcją jest użycie narzędzia DAX Clean Up Tool dostępnego w LuckyTemplates Analyst Hub.

Kompletny przewodnik po języku DAX dla początkujących

Możesz uzyskać dostęp do tego narzędzia za pomocą tego . Innym sposobem jest uzyskanie dostępu do witryny LuckyTemplates, a następnie wybranie Zasobów. U dołu strony znajdziesz narzędzie do czyszczenia języka DAX.

Aby użyć tego narzędzia, skopiuj kod z edytora języka DAX do pliku usługi LuckyTemplates. Wklej go do narzędzia DAX Clean Up Tool, a następnie kliknij przycisk Formatuj.

Kompletny przewodnik po języku DAX dla początkujących

Po zakończeniu czyszczenia możesz wkleić sformatowany kod z powrotem do pliku usługi LuckyTemplates.

Kompletny przewodnik po języku DAX dla początkujących

Możesz także edytować kod w narzędziu.

Komentowanie w kodzie DAX

W przypadku złożonych kodów języka DAX dobrą praktyką jest dodawanie komentarzy. Bardzo skorzystasz na wyjaśnieniu pseudokodu. Ale są wyjątki.

Komentowanie to bardzo osobista czynność. Mogą istnieć różne opinie na temat odpowiedniego poziomu komentarzy ze strony programistów i użytkowników. Więc ponownie, podczas tworzenia kodów i komentarzy, ważne jest, aby wziąć pod uwagę, w jaki sposób zostaną one zaakceptowane i zrozumiane przez użytkowników lub programistów w przyszłych przypadkach. W dłuższej perspektywie przyniesie to ogromne korzyści Tobie i firmie.

Przewodnik DAX dla zmiennych

Używaj pełnych nazw zmiennych. Kluczem jest jasność . Ważne jest, aby nazwy były jasne i łatwe do zrozumienia.

Ponownie, komputery są inteligentne i mogą łatwo dowiedzieć się, co jest napisane. Pamiętaj więc, że nie piszesz dla komputera ani dla usługi LuckyTemplates; piszesz dla siebie i każdego, kto będzie używał i utrzymywał Twój kod w kolejnych miesiącach.

W przypadku używania zmiennych w kodzie języka DAX najlepszym rozwiązaniem jest użycie przedrostka przed nazwą zmiennej, aby mieć pewność, że w kolejnych wierszach zostanie wybrana poprawna zmienna. Podkreślenie ( _ ) jest zalecanym prefiksem do użycia. Pomaga to również zmniejszyć listę prezentowaną w funkcji IntelliSense w usłudze LuckyTemplates.

Oto przykład:

Kompletny przewodnik po języku DAX dla początkujących

Możesz zobaczyć, że po wpisaniu podkreślenia wyświetlane są tylko dwie opcje. Liczba wyborów jest znacznie zmniejszona, co poprawia wydajność podczas kodowania.

Inną dobrą praktyką jest użycie konstrukcji RETURN Result .

Kompletny przewodnik po języku DAX dla początkujących

Ułatwia to stopniowe opracowywanie i debugowanie kodów języka DAX.

Kwalifikacja obliczeń DAX

Używając kolumn w wyrażeniach języka DAX, musisz być konkretny, ponieważ istnieje możliwość posiadania tej samej nazwy kolumny w wielu tabelach.

Na przykład może wystąpić kolumna Klucz klienta zarówno w tabelach Klienci, jak i Sprzedaż.

Kompletny przewodnik po języku DAX dla początkujących

Chociaż często oznaczają to samo i zawierają te same dane, nie zawsze tak będzie. Aby uzyskać pożądane wyniki, należy zawsze kwalifikować nazwy kolumn.

Dodatkowo musisz upewnić się, że miary nie są przywiązane do stołu. Można je przenosić z jednej tabeli do drugiej, dlatego ważne jest, aby nazwy miar nie były kwalifikowane.

Ważne funkcje języka DAX, które warto znać

1. OBLICZ

to jedna z najważniejszych funkcji języka DAX, ponieważ umożliwia zmianę kontekstu obliczeń.

Jednak ta funkcja często powoduje zamieszanie nie dlatego, że jest trudna w użyciu, ale raczej ze względu na swoją nazwę. Nawet jeśli nazywa się CALCULATE, w rzeczywistości nie wykonuje obliczeń. Raczej zmienia kontekst obliczenia.

Na przykład w tej mierze Sales LY funkcja CALCULATE służy do zmiany kontekstu obliczania Total Sales na jeden rok przed bieżącym kontekstem oceny.

Kompletny przewodnik po języku DAX dla początkujących

2. DATADODAJ

W języku DAX dostępnych jest wiele funkcji analizy czasu. Zwykłe kody języka DAX najprawdopodobniej będą używać między innymi funkcji , i Ale jest jedną z najbardziej wszechstronnych funkcji analizy czasowej języka DAX. I ta funkcja powinna być twoim pierwszym wyborem.

W przypadku DATEADD ta sama składnia może być używana do wielu obliczeń, wstecz lub do przodu w czasie, dla ROK, KWARTAŁ, MIESIĄC lub DZIEŃ. Ułatwia to tworzenie wielu miar inteligencji czasowej przy użyciu metody kopiowania i wklejania z niewielką edycją.

Kompletny przewodnik po języku DAX dla początkujących

3. PODZIEL

Podział w LuckyTemplates można wykonać na wiele sposobów. Najbardziej podstawowym sposobem jest użycie prostego dzielenia arytmetycznego.

Kompletny przewodnik po języku DAX dla początkujących

Jednak dzielenie przez zero przypadków zwykle wymaga przeprowadzenia skomplikowanych testów przed kontynuowaniem. Na szczęście istnieje funkcja języka DAX, która obsługuje to za Ciebie.

Funkcja automatycznie obsługuje dzielenie przez zero przypadków, a także umożliwia dodanie alternatywnego wyniku. Ponieważ jest to prostsze niż dzielenie arytmetyczne w usłudze LuckyTemplates, kod jest bardziej czytelny.

Kompletny przewodnik po języku DAX dla początkujących

4. PRZEŁĄCZ PRAWDA

Innym kodem języka DAX jest logika .

Gdy masz do oceny wiele warunków, doprowadzi to do utworzenia wielu zagnieżdżonych instrukcji , które często są trudne do odczytania i prześledzenia.

Instrukcja SWITCH TRUE daje elastyczność modyfikacji kodu w późniejszym terminie i dostosowania warunków do nowych. Jest również bardziej kompaktowy, co ułatwia czytanie.

Kompletny przewodnik po języku DAX dla początkujących

Przewodnik języka DAX po wirtualnych stołach

Podczas konstruowania tabeli wirtualnej w kodzie języka DAX użyj funkcji , aby pogrupować kolumny w tabelę podstawową. Następnie otocz go konstrukcją , aby dodać kolumny.

Aby powtórzyć, użyj przedrostka „ @ ” w kolumnach korzystających z funkcji ADDCOLUMNS, aby uniknąć niejednoznaczności i upewnić się, że wybrana kolumna tabeli wirtualnej jest poprawna.

Ponadto w przypadku tabel wirtualnych zaleca się korzystanie z DAX Studio lub Edytora tabelarycznego jako pomocy.

Między parą tabel w usłudze LuckyTemplates może istnieć wiele relacji. Kod DAX domyślnie użyje aktywnej relacji. Ale można go zmodyfikować, aby używał określonej nieaktywnej relacji za pomocą polecenia .

Na przykład może istnieć wiele relacji między kolumnami Data tabeli Daty i tabelą Sprzedaż. Sprzedaż [Data zamówienia] to relacja aktywna, natomiast Sprzedaż [Data faktury] to relacja nieaktywna. Jeśli chcesz użyć sprzedaży [Data zamówienia] w obliczeniach, nie jest wymagany żaden dodatkowy wysiłek. Jeśli jednak chcesz użyć sprzedaży [Data faktury] w obliczeniach, musisz użyć jej razem z poleceniem USERELATIONSHIP .

Kompletny przewodnik po języku DAX dla początkujących

W widoku modelu w usłudze LuckyTemplates najechanie kursorem na linię ciągłą pokazuje aktywną relację. Natomiast dwie kropkowane linie pokazują nieaktywne relacje między każdym elementem w dwóch tabelach.

Kompletny przewodnik po języku DAX dla początkujących

Przeglądając przykładowy raport, można również zauważyć, że istnieje różnica między kolumną Sprzedaż według daty zamówienia, kolumną Sprzedaż według daty faktury i kolumną Sprzedaż według daty wysyłki.

Kompletny przewodnik po języku DAX dla początkujących

Kolumny obliczeniowe miar Vs

Jest to wygodne miejsce dla tych, którzy pochodzą ze środowisk Excela, aby korzystać z kolumn obliczeniowych , ponieważ pozwala to zobaczyć dane. Jednak najlepszą praktyką w DAX i usłudze LuckyTemplates jest używanie miar w jak największym stopniu.

W niektórych przypadkach używane są kolumny obliczeniowe. Często są opracowywane jako punkt wyjścia, aby pomóc w wizualizacji obliczeń. Ale potem musisz je później zastąpić miarami, gdy już obliczenie zostanie w pełni zwizualizowane w twojej głowie. Co więcej, w przeciwieństwie do miar, kolumny obliczeniowe mogą być używane we fragmentatorach.

Miara nie zwiększa fizycznego rozmiaru modelu danych podczas jego obliczania; działa tylko wtedy, gdy jest używany w wizualizacji. Kolumna obliczeniowa zwiększa jednak fizyczny rozmiar modelu danych, ponieważ jest obliczana i fizycznie przechowywana za każdym razem, gdy plik jest odświeżany.

DAX Przewodnik po mierzeniu rozgałęzień

Jedną z najcenniejszych technik w usłudze LuckyTemplates jest rozgałęzianie miar .

Świetnym sposobem na modularyzację kodu jest rozpoczęcie od prostych lub podstawowych miar, które wykonują proste obliczenia, a następnie łączenie ich w razie potrzeby w celu wykonania bardziej złożonych obliczeń. Umieść miary podstawowe i pośrednie w tabelach, aby zobaczyć obliczenia w trakcie ich wykonywania.

Istnieją różne szkoły myślenia o tym, gdzie powinny znajdować się określone środki, a wszystkie metody mają zalety i wady. Jednak bardziej korzystne jest użycie dedykowanej grupy miar podczas opracowywania usługi LuckyTemplates. Jeśli wszystkie miary znajdują się w tym samym miejscu u góry okienka Pola, ułatwia to śledzenie logiki w obliczeniach języka DAX.

Kompletny przewodnik po języku DAX dla początkujących

Kontekst w obliczeniach języka DAX

Jedną z głównych zalet usługi LuckyTemplates jest kontekst. Jest to również jedna z najtrudniejszych koncepcji do zrozumienia dla programistów.

Kontekst to środowisko, w którym wykonywane są obliczenia.

Często prezentowane są dwa konteksty: kontekst wiersza i kontekst filtra . Ale tak naprawdę jest jeszcze trzeci: kontekst ewaluacji .

A to prowadzi cię z powrotem do polecenia CALCULATE , które ponownie pozwala użytkownikowi zmienić kontekst obliczenia. Istnieją dwie główne klasy funkcji w językach DAX i LuckyTemplates: funkcje agregujące i funkcje iteracyjne .

Funkcje agregujące to takie, które agregują wartości z pojedynczej kolumny. Przykłady funkcji agregujących to , i . Podczas gdy większość funkcji agregujących działa tylko na wartościach liczbowych lub datach, MAX i MIN działają również na wartościach tekstowych.

Funkcje iteracyjne to te, które obliczają wyrażenie dla każdego wiersza tabeli. Są one również znane jako funkcje X. Przykłady obejmują , , i . Mają dwa parametry: tabelę do iteracji i wyrażenie, które wykonuje obliczenia. Może to wykorzystywać wiele kolumn z tabeli podstawowej lub z innych powiązanych tabel.

Oto krótki przykład tego, jak funkcje agregacji i iteracji są używane w różny sposób, a mimo to dają ten sam wynik:

Kompletny przewodnik po języku DAX dla początkujących

Wniosek

Ten przewodnik po języku DAX ma na celu pomóc nowym użytkownikom usługi LuckyTemplates, którzy wciąż odkrywają i uczą się. Jest to również bardzo przydatne jako kompleksowa lista kontrolna dla doświadczonych programistów, którzy potrzebują szybkiego kursu przypominającego. Ten samouczek to doskonały element konstrukcyjny do tworzenia zaawansowanych raportów w usłudze LuckyTemplates.

LuckyTemplates zawiera różne zasoby dotyczące samouczków języka DAX, od podstaw po zaawansowane kodowanie. Zajrzyj do nich, aby być lepiej zorientowanym w języku programowania DAX.

Greg


Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Jak zapisać i załadować plik RDS w R

Jak zapisać i załadować plik RDS w R

Dowiesz się, jak zapisywać i ładować obiekty z pliku .rds w R. Ten blog będzie również omawiał sposób importowania obiektów z R do LuckyTemplates.

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Z tego samouczka języka kodowania DAX dowiesz się, jak używać funkcji GENERUJ i jak dynamicznie zmieniać tytuł miary.

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

W tym samouczku omówiono sposób korzystania z techniki wielowątkowych wizualizacji dynamicznych w celu tworzenia szczegółowych informacji na podstawie dynamicznych wizualizacji danych w raportach.

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

W tym artykule omówię kontekst filtra. Kontekst filtrowania to jeden z głównych tematów, z którym każdy użytkownik usługi LuckyTemplates powinien zapoznać się na początku.

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Chcę pokazać, jak usługa online LuckyTemplates Apps może pomóc w zarządzaniu różnymi raportami i spostrzeżeniami generowanymi z różnych źródeł.

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Dowiedz się, jak obliczyć zmiany marży zysku przy użyciu technik, takich jak rozgałęzianie miar i łączenie formuł języka DAX w usłudze LuckyTemplates.

Pomysły na materializację pamięci podręcznych danych w DAX Studio

Pomysły na materializację pamięci podręcznych danych w DAX Studio

W tym samouczku omówiono idee materializacji pamięci podręcznych danych oraz ich wpływ na wydajność języka DAX w dostarczaniu wyników.

Raportowanie biznesowe przy użyciu usługi LuckyTemplates

Raportowanie biznesowe przy użyciu usługi LuckyTemplates

Jeśli do tej pory nadal korzystasz z programu Excel, jest to najlepszy moment, aby zacząć korzystać z usługi LuckyTemplates na potrzeby raportowania biznesowego.

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć