Zapytanie języka DAX w usłudze LuckyTemplates: zrozumienie jego przepływu logicznego

Z tego samouczka dowiesz się, jak kwerenda języka DAX jest wykonywana w usłudze LuckyTemplates DAX Studio. W tym samouczku przedstawiono dwa schematy blokowe. Pierwszy schemat blokowy przedstawia podstawowy proces związany z wykonaniem zapytania języka DAX. Tymczasem drugi schemat blokowy daje wyraźny przykład lepszej wizualizacji procesu.

Spis treści

Schemat blokowy zapytania języka DAX w usłudze LuckyTemplates

Ten schemat blokowy przedstawia sposób, w jaki DAX Studio wykonuje zapytanie języka DAX.

Zapytanie języka DAX w usłudze LuckyTemplates: zrozumienie jego przepływu logicznego

Pierwszym krokiem jest oczywiście napisanie zapytania DAX w LuckyTemplates DAX Studio. Po kliknięciu opcji Uruchom włącza się parser języka DAX . Sprawdza, czy napisany kod jest prawidłowy. Obejmuje to sprawdzenie, czy zapytanie nie jest w jakikolwiek sposób niekompletne, na przykład czy brakuje składni lub nawiasów.

Zapytanie języka DAX w usłudze LuckyTemplates: zrozumienie jego przepływu logicznego

Po zakończeniu sprawdzania parsera języka DAX mechanizm Formula Engine konwertuje zapytanie języka DAX na zestaw planów zapytań . Obejmuje to zarówno logiczny, jak i fizyczny plan zapytań .

Po zbudowaniu logicznego planu zapytań, Formula Engine pobiera dane z Storage Engine. Następnie Storage Engine tworzy fizyczny plan zapytań. Następnie wynik jest zwracany użytkownikowi końcowemu.

Istnieją dwa sposoby zwracania danych do silnika formuł. Formula Engine może wysłać żądanie do bazy danych In Memory Columnar, VertiPaq lub do relacyjnego źródła danych.

Zapytanie języka DAX w usłudze LuckyTemplates: zrozumienie jego przepływu logicznego

Kiedy VertiPaq otrzyma żądanie od Formula Engine, dzieją się dwie rzeczy: VertiPaq wykonuje skanowanie i wykonuje zapytanie xmSQL . Pamięć podręczna danych jest odsyłana z powrotem do silnika formuł, który z kolei odsyła wynik z powrotem do wywołującego.

W przypadku trybu DirectQuery usługi Analysis Services przekazują żądanie z silnika formuł do źródła danych. Następnie źródło danych wykonuje język macierzysty, przygotowuje pamięć podręczną danych i odsyła ją z powrotem do usług Analysis Services.

Następnie usługi Analysis Services wysyłają pamięć podręczną danych do aparatu formuł. Ten silnik traktuje pamięć podręczną danych i wysyła ją do użytkownika końcowego. W przypadku modelu złożonego do VertiPaq wysyłane jest częściowe żądanie, które następnie trafia do DirectQuery.

Przykład zapytania DAX w usłudze LuckyTemplates

Spójrzmy na przykład, aby lepiej zrozumieć proces.

Zapytanie języka DAX w usłudze LuckyTemplates: zrozumienie jego przepływu logicznego

Na przykład chcesz napisać kod DAX , który oblicza kwotę całkowitej sprzedaży, jeśli kolor produktu to „Czerwony”.

Zapytanie języka DAX w usłudze LuckyTemplates: zrozumienie jego przepływu logicznego

Po uruchomieniu tego kodu analizator składni języka DAX najpierw sprawdzi, czy nie popełniłeś błędów w kodzie.

Jeśli wszystko jest w porządku, Formula Engine przygotuje plan zapytań logicznych i pobierze pamięć podręczną danych z Storage Engine. Gdy Storage Engine otrzyma żądanie, pseudojęzyk SQL o nazwie xmSQL tworzy zapytanie.

Zapytanie języka DAX w usłudze LuckyTemplates: zrozumienie jego przepływu logicznego

Następnie kod xmSQL pobiera pamięć podręczną danych i wysyła ją do silnika formuł.

Zapytanie języka DAX w usłudze LuckyTemplates: zrozumienie jego przepływu logicznego

Pamięć podręczna danych może składać się z jednej lub wielu kolumn. Gdy Formula Engine otrzyma pamięć podręczną danych, iteruje ją wiersz po wierszu.

W zależności od rodzaju zapytania otrzymanego przez Formula Engine, wynik zostanie zwrócony w postaci wartości skalarnej lub tabeli.

Wniosek

To było krótkie omówienie sposobu wykonywania zapytania języka DAX w usłudze LuckyTemplates DAX Studio. Mamy nadzieję, że schematy blokowe przedstawione w tym samouczku pomogły Ci zrozumieć logiczny przepływ zapytania języka DAX w modelach tabelarycznych.

Może to być nieco mylące, jeśli nie znasz koncepcji zapytań. Ale kiedy zrozumiesz, jak to działa, łatwiej będzie to zrozumieć i wdrożyć.

Leave a Comment

Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr

Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr

W tym samouczku omówimy pakiet dplyr, który umożliwia sortowanie, filtrowanie, dodawanie i zmianę nazw kolumn w języku R.

Funkcje zbierania w Microsoft Power Automate

Funkcje zbierania w Microsoft Power Automate

Odkryj różnorodne funkcje zbierania, które można wykorzystać w Power Automate. Zdobądź praktyczne informacje o funkcjach tablicowych i ich zastosowaniu.

Oceń wydajność kodu DAX w DAX Studio

Oceń wydajność kodu DAX w DAX Studio

Z tego samouczka dowiesz się, jak ocenić wydajność kodów DAX przy użyciu opcji Uruchom test porównawczy w DAX Studio.

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.