GroupBy w LuckyTemplates: implikowana funkcja w VertiPaq

W tym samouczku omówiono aparat magazynu i niejawne GroupBy w usłudze LuckyTemplates. Dowiesz się, co dzieje się za wydajnością i zobaczysz potencjalne wąskie gardła. Umożliwi to tworzenie pomysłów i strategii ograniczających te problemy w celu uzyskania szybszej wydajności języka DAX.

Zapytania mechanizmu magazynu są wyrażane w języku o nazwie xmSQL. To nie jest prawdziwy język programowania, ale wizualna reprezentacja tego, co robi silnik pamięci masowej. Pozwala użytkownikom zobaczyć, co robią obliczenia w tle podczas uruchamiania różnych zapytań.

Spis treści

Implikowane GroupBy w LuckyTemplates

Pierwszą rzeczą, na którą musisz spojrzeć, jest dorozumiany GroupBy, który znajduje się w każdym xmSQL.

To jest przykładowe zapytanie, które ma funkcję OCENA i WARTOŚCI:

GroupBy w LuckyTemplates: implikowana funkcja w VertiPaq

Zapytanie pobiera wszystkie wartości dla roku z tabeli DimCalendar. Widać, że zwróciło 10 wierszy danych.

GroupBy w LuckyTemplates: implikowana funkcja w VertiPaq

Proces jest pokazany w instrukcji SQL, w której zapytanie wybiera rok kalendarzowy z DimCalendar, a następnie grupuje go według roku. Instrukcja sugerowała funkcję GroupBy w obliczeniach, ponieważ w zapytaniu nie ma nic innego. Implikowane GroupBy jest bardziej widoczne, gdy używasz agregacji.

Agregacje wewnątrz silnika pamięci masowej

Aby dowiedzieć się, czym jest agregacja, przejdź do DAX Studio i włącz chronometraż serwera i plan zapytań. Następnie uruchom tę przykładową miarę:

GroupBy w LuckyTemplates: implikowana funkcja w VertiPaq

Po uruchomieniu zapytania widać, że w przeciwieństwie do poprzedniego przykładowego zapytania, które ma jedno skanowanie, ta miara ma dwa. Dzieje się tak, ponieważ pierwsza próbka ma tylko wartości DimCalendar Year. To przykładowe zapytanie ma rok kalendarzowy i agregację.

GroupBy w LuckyTemplates: implikowana funkcja w VertiPaq

Pierwsze skanowanie jest rzeczywistym zapytaniem.

GroupBy w LuckyTemplates: implikowana funkcja w VertiPaq

Wybiera DimCalendar Year i sumuje Sales Quantity z tabeli Sales Data, która jest zgodna z relacjami modelu danych.

GroupBy w LuckyTemplates: implikowana funkcja w VertiPaq

W modelu danych tabela DimCalendar następuje po kolumnie Data zakupu w tabeli Fact do kolumny Data w tabeli Calendar.

Drugi skan zapewnia uwzględnienie wszystkich brakujących wartości.

W wynikach widać, że kwota sprzedaży pojawia się tylko w latach 2015-2018. Jednak nadal pokazuje lata 2012-2014, nawet jeśli są puste.

GroupBy w LuckyTemplates: implikowana funkcja w VertiPaq

Wniosek

Mechanizm magazynu w DAX Studio pokazuje cały proces stojący za obliczeniami. Pozwala monitorować każdą funkcję i zobaczyć możliwe trafienia, które mogą spowolnić działanie Twojego języka DAX. Dzięki takim informacjom możesz tworzyć rozwiązania ograniczające potencjalne wąskie gardła w wykonywaniu kodu DAX.

Jeśli Twój język DAX działa wolno, przyjrzyj się mechanizmowi przechowywania i dowiedz się, co możesz zrobić, aby poprawić wydajność raportu.


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








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.