VertiPaq LuckyTemplates: Jak kodowane są kolumny

W tym tutorialu poznasz metody kodowania kolumn przy użyciu VertiPaq w LuckyTemplates . Zrozumiesz, jak działa każda metoda i jak wpływa na wydajność Twojego języka DAX.

Każda metoda ma swój własny styl kompresji danych, dzięki czemu może zapewnić szybsze i płynniejsze transakcje.

Spis treści

Kodowanie wartości za pomocą VertiPaq w LuckyTemplates

Pierwszym typem kompresji danych jest kodowanie wartości . Występuje na kolumnach typu integer.

To jest przykład oryginalnej kolumny kosztów:

VertiPaq LuckyTemplates: Jak kodowane są kolumny

Widać, że w środku są wartości.

Teraz, jeśli VertiPaq przechowuje te dane w kolumnie bez zmian, potrzebuje 12 bitów pamięci.

Jednak VertiPaq  szuka sposobów na zminimalizowanie ilości pamięci potrzebnej do przechowywania danych. Znajdzie minimalną wartość kolumny, a następnie zakoduje tę kolumnę, odejmując 3004 od każdej wartości. W ten sposób potrzebowałby tylko 9 bitów pamięci.

VertiPaq LuckyTemplates: Jak kodowane są kolumny

VertiPaq zmniejszył ilość potrzebnej pamięci, dzięki czemu Twój kod działa szybciej.

Kodowanie słownika

Następną metodą kompresji danych jest Dictionary lub Hash Encoding , która występuje w kolumnach niebędących liczbami całkowitymi lub wartościami tekstowymi.

Oto przykład kolumny z powtarzającymi się nazwami produktów:

VertiPaq LuckyTemplates: Jak kodowane są kolumny

VertiPaq ma funkcję, która pomaga kompresować kolumny nie będące liczbami całkowitymi. Tworzy listę odrębnych wartości w tej kolumnie, a następnie przypisuje im liczbę.

VertiPaq LuckyTemplates: Jak kodowane są kolumny

Widać, że stosuje numer, który odpowiada nazwom produktów.

Następnie zastępuje wartości nazw produktów wartościami całkowitymi.

VertiPaq LuckyTemplates: Jak kodowane są kolumny

Przechowywanie wartości całkowitych wymaga mniejszych bitów niż przechowywanie wartości tekstowych.

To jest coś, co robi DAX i Storage Engine podczas kodowania.

Kodowanie długości przebiegu za pomocą VertiPaq w usłudze LuckyTemplates

Ostatni typ kodowania nosi nazwę Run Length Encoding . Wyszukuje powtarzające się wartości i zapisuje początek i koniec.

To jest przykładowa tabela z  identyfikatorem sprzedawcywierszami :

VertiPaq LuckyTemplates: Jak kodowane są kolumny

A to jest tabela zakodowana przy użyciu Run Length Encoding:

VertiPaq LuckyTemplates: Jak kodowane są kolumny

Wie, że sprzedawca o identyfikatorze EMP1017 przechodzi z rzędu 1 do 363.

Zobaczysz, że ma początek wiersza, koniec wiersza, a także pokazuje, ile powtarzających się wartości znajduje się pomiędzy. Nie ma więc potrzeby zapisywania EMP1017 362 razy, ponieważ wie, gdzie się zaczyna i gdzie kończy.

Kodowanie długości przebiegu przy użyciu zakodowanych kolumn

Kolejną wielką zaletą VertiPaq jest to, że może uruchamiać kodowanie długości na kolumnach, które zostały zakodowane za pomocą kodowania wartości lub słownika.

To jest tabela zakodowana przy użyciu kodowania słownikowego:

VertiPaq LuckyTemplates: Jak kodowane są kolumny

Zauważysz, że kolumna NameID się powtarza. Oznacza to, że możesz użyć Run Length Encoding z kolumną.

W takim przypadku VertiPaq będzie szukał tylko identyfikatora nazwy, początku wiersza i końca wiersza.

VertiPaq LuckyTemplates: Jak kodowane są kolumny

Więc zamiast przechowywać wartości całkowite 3 razy, teraz przechowuje je raz.


Optymalizacja funkcji języka DAX za pomocą tego nowego kursu
Miara w usłudze LuckyTemplates: porady i techniki optymalizacji
Zaawansowane porady dotyczące optymalizacji tabeli usługi LuckyTemplates

Wniosek

Wewnątrz VertiPaq Storage Engine dostępne są 3 metody kompresji danych, które odpowiadają za płynniejsze działanie kodu DAX.

Gdy już zrozumiesz, jak każda metoda działa w obliczeniach, możesz użyć i zmaksymalizować dowolną z nich, aby poprawić wydajność kodu i łatwo pobrać potrzebne dane w raportach.

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.