Storage Engine w LuckyTemplates – Operatory i zapytania VertiPaq

W tym samouczku omówiono operatory VertiPaq i zapytania aparatu magazynu w usłudze LuckyTemplates. Dowiesz się, jak operatorzy pracują za obliczeniami i jak mechanizm pamięci masowej pomaga zoptymalizować wydajność kodów DAX.

Operatory i zapytania VertiPaq umożliwiają monitorowanie wykonania każdego kodu, dzięki czemu można je w razie potrzeby poprawić.

Spis treści

Operatorzy VertiPaq

VertiPaq ma możliwość obliczania prostych zapytań. Zawiera operatory logiczne, które wykonują kody DAX w celu uzyskania odpowiedzi.

Oto operatory logiczne VertiPaq:

  • Skanowanie
  • Grupuj według
  • Filtr
  • Suma
  • min
  • Maks
  • Liczyć
  • Odrębna liczba
  • Przeciętny
  • Stdev.S
  • Stdev.P
  • Var.S
  • Var.P

Są to logiczne i fizyczne plany zapytań wygenerowane przez przykładowe zapytanie.

Storage Engine w LuckyTemplates – Operatory i zapytania VertiPaq

Ilekroć linia ma _Vertipaq , oznacza to, że silnik VertiPaq wykonuje pracę samodzielnie. Jeśli spojrzysz na Logiczny plan zapytań , zobaczysz, że ma on Sum_Vertipaq i Scan_Vertipaq . Ci dwaj operatorzy pracują nad skanowaniem i sumowaniem ilości FactSales w celu wygenerowania odpowiedzi.

W planie zapytań fizycznych zobaczysz także Sum_Vertipaq , który używa ProjectionSpool . Oznacza to, że zapytanie jest wysyłane do mechanizmu przechowywania, a następnie zwracane do mechanizmu formuł w pamięci podręcznej danych. Zauważysz również, że ma tylko jeden rekord.

Kolumna Rekordy pokazuje , ile wierszy jest materializowanych z mechanizmu magazynu do mechanizmu formuły. Do wydajnej pracy wystarczy tylko jeden rekord. Wykonanie zapytania z wieloma rekordami zajmuje więcej czasu.

Jeśli aparat magazynu nie może wykonać żądania, aparat formuł przejmuje kontrolę. Silnik formuł może zrobić wszystko, o co poprosisz, ale jest znacznie wolniejszy.

Zapytania silnika pamięci masowej

Jest to wprowadzenie do zapytań aparatu magazynu oraz sposobu ich odczytywania i rozumienia. Tych informacji można użyć do zoptymalizowania zapytania języka DAX w celu uzyskania lepszej wydajności. Zawsze pamiętaj, że pamięć podręczna danych zwrócona przez aparat magazynu do mechanizmu formuły jest w formacie nieskompresowanym.

To jest przykładowe zapytanie, które zostanie użyte.

Storage Engine w LuckyTemplates – Operatory i zapytania VertiPaq

Jeśli go uruchomisz i otworzysz kartę Fizyczny plan zapytań, zobaczysz operatora ProjectionSpool . Musisz zrozumieć, jak to działa w tle obliczeń, aby uzyskać wynik.

Storage Engine w LuckyTemplates – Operatory i zapytania VertiPaq

Zapytania mechanizmu pamięci masowej są wyrażane w pseudojęzyku SQL o nazwie xmSQL . To nie jest prawdziwy język programowania. To bardziej wizualna reprezentacja tego, co silnik robi w tle.

Jeśli uruchomisz przykładowe zapytanie w DAX Studio, wyświetli się xmSQL. Pokazuje, że zapytanie wybiera wartość SalesData's Quantity i sumuje ją z tabeli Sales Data .

Storage Engine w LuckyTemplates – Operatory i zapytania VertiPaq

Zauważysz, że nazwa tabeli w zapytaniu różni się od nazwy xmSQL. XmSQL używa Sales Data zamiast FactSales jako nazwy tabeli, ponieważ DAX nie lubi używać Fact ani DIM jako nazw.

Teraz, aby uzyskać wyższą wydajność języka DAX, musisz pozwolić silnikowi pamięci masowej pracować tak często, jak to możliwe. Może wykonywać proste działania matematyczne i agregacje podczas wyszukiwania danych. Ponieważ przykładowe zapytanie używa tylko , obliczenie zostało wykonane w silniku pamięci masowej.

Najlepszą techniką optymalizacji jest znalezienie najlepszego zestawu, tak aby silnik pamięci wykonał większość pracy, a silnik formuł po prostu zrobił to, co zostało.


VertiPaq Storage Engine w środowisku wielowątkowym
VertiPaq Kompresja i przechowywanie w LuckyTemplates
Czym jest DAX Studio w LuckyTemplates Desktop

Wniosek

Za przyspieszenie działania DAX odpowiada silnik pamięci masowej. Pozwala zobaczyć proces stojący za całą kalkulacją za pomocą Logicznego i Fizycznego Planu Zapytań. Możesz śledzić, który proces spowalnia całą wydajność, a następnie go zoptymalizować.

Jeśli chcesz dowiedzieć się więcej o tym, jak działa VertiPaq, skorzystaj z tego samouczka i przećwicz optymalizację swoich kodów DAX.

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.