Czym jest self w Pythonie: przykłady z życia wzięte
Czym jest self w Pythonie: przykłady z życia wzięte
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.
Użyj Ctrl + Shift + L, aby zaktualizować wszystkie wystąpienia nazwy jednocześnie.
Dodaj przedrostek „ @ ” do wirtualnych tabel lub tymczasowych nazw kolumn w języku DAX.
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.
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.
Po zakończeniu czyszczenia możesz wkleić sformatowany kod z powrotem do pliku usługi LuckyTemplates.
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:
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 .
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ż.
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.
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ą.
3. PODZIEL
Podział w LuckyTemplates można wykonać na wiele sposobów. Najbardziej podstawowym sposobem jest użycie prostego dzielenia arytmetycznego.
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.
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.
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 .
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.
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.
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.
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:
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
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.
Z tego samouczka języka kodowania DAX dowiesz się, jak używać funkcji GENERUJ i jak dynamicznie zmieniać tytuł miary.
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.
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.
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ł.
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.
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.
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ć