Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

W tym samouczku dowiesz się, jak zoptymalizować miarę w usłudze LuckyTemplates. Optymalizacja miar w raporcie poprawia wydajność kodów w tworzeniu cennych spostrzeżeń i danych. Dowiesz się również o różnych metodach oceny i sposobach ich zastosowania w celu optymalizacji raportu. Możesz obejrzeć pełny film z tego samouczka na dole tego bloga.

Spis treści

1. Przeanalizuj wydajność kodu

W tym przykładzie musisz zoptymalizować ten raport:

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

To jest model danych, którego zamierzasz użyć:

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Tabela Jobs zawiera wszystkie informacje dotyczące każdego zadania, które zostało wykonane w danym okresie.

Ta tabela jest podstawą wszystkich miar, które zamierzasz zoptymalizować:

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Najpierw musisz przetestować wydajność raportu.

Przejdź do zakładki Widok i wybierz Analizator wydajności . Następnie kliknij Rozpocznij nagrywanie i Odśwież wizualizacje . Poczekaj, aż analizator wyrenderuje wizualizację.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Gdy to zrobisz, rozwiń listę Podział zachęt i kliknij Kopiuj zapytanie .

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Następnie wybierz Narzędzia zewnętrzne , aby przejść do DAX Studio i spojrzeć na kod wygenerowany przez LuckyTemplates.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Następnie wklej skopiowane zapytanie do obszaru roboczego.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Zmienne w mierze

Pierwsza zmienna to DateClosed , która jest fragmentatorem na pulpicie nawigacyjnym. Wykorzystuje kolumnę z tabeli Fact, aby uzyskać wartości określonych okresów we fragmentatorze.

Następną zmienną jest JobLost , która sprawdza, czy dane Job Lost są fałszywe lub puste.

Ostatnia zmienna to MatrixVisual . To jest serce kodu. Przedstawia kolumnę podsumowania wygenerowaną przez usługę LuckyTemplates w celu wypełnienia wizualizacji macierzy. Grupuje typ utraty pracy w tej macierzy i wprowadza filtry pochodzące z fragmentatorów. Następnie dodaje rozszerzone kolumny.

Gdy kolumna podsumowania zakończy wykonywanie, zobaczysz wyniki w okienku pod kodem.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Usługa LuckyTemplates używa wyniku do wypełnienia wizualizacji macierzy.

Zimna pamięć podręczna dla DAX Studio

Następnie musisz sprawdzić czas wykonania całego kodu. Aby to zrobić, włącz Czasy serwera, a następnie wybierz Wyczyść pamięć podręczną, a następnie uruchom .

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Gdy próbujesz zoptymalizować miarę w usłudze LuckyTemplates przy użyciu DAX Studio , lepiej jest działać w scenariuszu z zimną pamięcią podręczną, aby uzyskany czas był prawidłowy. Następnie naciśnij klawisz F5 i poczekaj na zakończenie operacji w zakładce Czasy serwera .

Po zakończeniu możesz zobaczyć, że całkowity czas wykonania wynosi 3,6 sekundy. Spędził większość czasu w silniku formuły i spędził 57 milisekund w silniku pamięci masowej

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Możesz również zobaczyć, że znalazł 383 zapytania do silnika pamięci masowej. Spośród wszystkich tych zapytań 327 jest zapisywanych w pamięci, aby można je było ponownie wykorzystać.

2. Analizuj miarę w LuckyTemplates

Następnie musisz zoptymalizować te 3 identyczne miary.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Musisz wyodrębnić te miary do innego pliku i połączyć go z używanym modelem danych.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Następnie uruchom Chronometraż serwera, aby zobaczyć czas potrzebny na 3 miary w wypełnianiu wizualizacji.

Wyniki przebiegu pokazują, że pomiary zajmują 1,85 sekundy, aby pobrać wynik.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Wynik pokazuje tabelę składającą się z 10 wierszy i 3 rozszerzonych kolumn, które należą do podsumowanych kolumn.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Kolumna Typ straty zawiera 10 unikatowych wartości, które kod oblicza w celu uzyskania procentów zachęty.

Czas potrzebny na kod jest wykładniczo długi. To tam i kiedy trzeba je zoptymalizować.

Pomiar% zachęty RB w LuckyTemplates

Jest to miara RB Incentive% w usłudze LuckyTemplates. Jest to jedna z 3 głównych miar użytych w tym przykładzie.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Widać, że próbuje obliczyć procent zachęty.

Ma zmienną JobType, która pobiera wartość Lost Type w bieżącym kontekście filtru. Sprawdza również, czy w bieżącym kontekście filtru widoczna jest tylko jedna wartość. Musisz użyć funkcji  , aby za każdym razem, gdy warunek jest spełniony, dawała odpowiedni wynik.

Ten kod środka generuje dużo smaru do silnika, co wydłuża całkowity czas trwania kodu.

Teraz wróć do DAX Studio, aby sprawdzić liczbę zapytań aparatu magazynu generowanych przez miarę.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Jak widać, wykonanie zajęło 600 milisekund, a samo pobranie danych dla 10 wierszy zajęło 43 zapytania do silnika pamięci masowej.

Dane z silnika pamięci masowej

Teraz sprawdź dane, które są żądane z aparatu magazynu. W pierwszym zapytaniu występuje typ utraty pracy i DCOUNT  typu utraty pracy.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Następne zapytanie ma Data zamknięcia zadań, która pochodzi z fragmentatora w raporcie.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

W trzecim kodzie zobaczysz inny typ utraty pracy z identyfikatorem danych wywołania zwrotnego.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

W innym wierszu zobaczysz najważniejsze wiersze kodu.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Pierwszą rzeczą, którą widzisz, jest otrzymanych płatności za zlecenia, zafakturowanych i rzeczywistych wydatków.

Następna jest funkcja WHERE  , która określa warunek i odpowiadający mu wynik. Wynik będzie się różnić w zależności od wyboru fragmentatora i instrukcji switch w pomiarze RB Incentive%.

Zauważysz również, że kody w liniach 12 i 14 są takie same.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Jeśli przewiniesz w prawo, zobaczysz, że istnieją wiersze z tymi samymi zapytaniami. Zapytania w wierszach są kierowane przez instrukcję switch w mierze RB Incentive%.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Jeśli wrócisz do miary RB Incentive% w usłudze LuckyTemplates, zobaczysz, ile razy zapytanie jest powtarzane i jak jest to odzwierciedlone w zapytaniach aparatu magazynu.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Logika stojąca za JEŻELI i przełącznikiem

Teraz, aby zrozumieć, dlaczego zapytania są wykonywane wiele razy, musisz zrozumieć logikę funkcji  i PRZEŁĄCZ .

Musisz wykonać je oddzielnie w planie zapytań. Ale zanim to zrobisz, upewnij się, że łączysz się z bazą danych i włącz Plan zapytań.

Wykonaj instrukcję SWITCH  w planie kwerend. Następnie zaznacz  oświadczenie, a następnie naciśnij enter.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Spowoduje to wygenerowanie logicznego planu zapytań z różnymi operacjami.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Następnie wykonaj instrukcję IF , podświetlając ją i naciskając enter.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Widać, że generuje ten sam logiczny plan zapytań.

Dzieje się tak, ponieważ za każdym razem, gdy używasz funkcji PRZEŁĄCZ , silnik wewnętrznie konwertuje tę funkcję na instrukcję JEŻELI . Ale instrukcja SWITCH jest zalecana, ponieważ zwiększa czytelność twojego kodu.

Następnie musisz zrozumieć, w jaki sposób wykonywany jest kod wewnątrz funkcji JEŻELI lub PRZEŁĄCZ .

To jest przykładowy kod zawierający wewnątrz instrukcję SWITCH .

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Ma miary dla zysku brutto, całkowitego oszacowania i całkowitego zafakturowanego, które są sumą różnych kolumn. Posiada również funkcję dla typu utraty pracy oraz instrukcje SWITCH i TRUE .

Po wykonaniu tego kodu zobaczysz logikę stojącą za funkcjami.

Pierwsze zapytanie pobiera odrębny typ utraty zadań z tabeli zadań.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Oprócz rodzaju utraty pracy, otrzymuje również sumę szacunkowej liczby miejsc pracy.

Wewnątrz warunku WHERE można również zobaczyć wartości istniejące w kolumnie Typ utraty pracy.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

3. Użyj metod oceny kodu

W języku DAX istnieją 3 metody oceniania kodów:

  • Ścisła ocena
  • Chętna ocena
  • JEŻELI.Chętna ocena

Te metody pomogą zoptymalizować kod lub miarę w usłudze LuckyTemplates.

Pierwsza metoda: ścisła ocena

Poniższy przykład wykorzystuje metodę ścisłej oceny.

Logika, która za tym stoi, jest taka, że ​​jeśli kontekst typu utraty pracy jest równy A, zapewni to zysk brutto. W przeciwnym razie podaje Całkowite oszacowanie. Kod robi to dla każdego wiersza w typie utraty pracy.

Jest to kolejna przykładowa miara w usłudze LuckyTemplates, która używa ścisłej oceny.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Wykonanie tego kodu spowoduje wygenerowanie 5 zapytań do silnika magazynu.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

W przypadku Ścisłej oceny kod zapewnia całkowite oszacowanie, jeśli zysk brutto pomnożony przez 1,4 jest większy niż średnie oszacowanie. W przeciwnym razie da zysk brutto.

Korzystanie ze ścisłej oceny powoduje powstanie większej liczby zapytań do mechanizmu pamięci masowej, ponieważ instrukcja IF  wielokrotnie sprawdza konkurencję w zakresie zysku brutto i ostatecznie zakłóci wydajność całej operacji.

Druga metoda: chętna ocena

To jest ten sam kod, co w poprzednim przykładzie.

Ale zamiast obliczać miary wewnątrz  instrukcji IF , obliczył wszystko w przed RETURN .

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Oznacza to, że przed sprawdzeniem wyciągów pobiera wszystkie wartości zysku brutto i oszacowania całkowitego dla wszystkich rodzajów utraty pracy.

Po wykonaniu tego kodu liczba silników pamięci masowej zostanie zmniejszona do 3.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Poprawia wydajność całej operacji.

W pierwszym zapytaniu operacyjnym pobiera typ utraty miejsc pracy oraz sumę szacunkowych miejsc pracy i zysku brutto.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Następne zapytanie pobiera sumę szacunkowych miejsc pracy ze stabilnej oferty pracy. Jest to wykorzystywane do obliczania średniego oszacowania.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Ostatnie zapytanie podaje odrębny typ utraty pracy dla wartości zapisanych w ADDCOLUMNS .

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Korzystając z Eager Evaluation, dostajesz wszystko do jednej pamięci podręcznej danych. Dane są również oceniane i iterowane w aparacie formuł. Instrukcja JEŻELI  zwróci całkowite oszacowanie lub zysk brutto w zależności od oceny Prawda lub Fałsz.

Chętna ocena nie zawsze jest najlepszą metodą optymalizacji kodów. Ścisła ocena zapewni lepszą wydajność, jeśli masz złożone kody. Wszystko zależy od funkcji, których używasz w kodzie DAX.

Wadą Eager Evaluation jest to, że jeśli utworzysz wartościowe wartości przed instrukcją IF  lub  SWITCH  i użyjesz tych zmiennych wewnątrz instrukcji, które nigdy nie powinny być wykonywane, silnik i tak obliczy te zmienne.

Wady chętnej oceny

Oto przykład wady:

Idealnie, jeśli typ utraty pracy jest równy A, powinien uzyskać zysk brutto. W przeciwnym razie pobiera Total Estimate.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Ponieważ w kolumnie Typ utraty pracy nie ma żadnej wartości równej A, zawsze powinna ona otrzymać Całkowite oszacowanie. Jednak nadal zapewnia zysk brutto w pamięci podręcznej danych.

Jeśli spojrzysz na pierwsze zapytanie, uzyska ono typ utraty pracy oraz sumę zysku brutto i oszacowania pracy.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

W następnym zapytaniu pobiera odrębny typ utraty pracy z tabeli Jobs.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

3. metoda: ocena IF.EAGER

Następną metodą jest  ocena funkcji IF.EAGER  , która replikuje zachowanie Eager Evaluation.

Pozwala napisać kod, który reprezentuje Strict Evaluation i wykonać go z Eager Evaluation.

Jeśli spojrzysz na ten przykładowy kod, okaże się, że jest on taki sam jak kod Strict Evaluation. Jedyna różnica polega na tym, że używa funkcji IF.EAGER  zamiast IF .

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Przed wykonaniem kodu upewnij się, że łączysz się z modelem LuckyTemplates i włączasz synchronizację serwera. Po zakończeniu naciśnij klawisz F5.

Możesz zobaczyć, że wygenerował 3 zapytania do silnika pamięci masowej.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Pierwsze zapytanie pobiera typ utraty miejsc pracy oraz sumę szacunkowych miejsc pracy i zysku brutto.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Drugie zapytanie pobiera sumę oszacowania miejsc pracy.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Ostatnie zapytanie pobiera odrębny typ utraty zadań z tabeli zadań.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Zauważysz, że wykonał to samo zachowanie, co Eager Evaluation.

Podsumowanie metod oceny

Starając się poprawić wydajność swoich obliczeń, musisz pamiętać o następujących kwestiach:

  • Ścisła ocena jest używana w przypadku złożonych kodów. Dotyczy to również sytuacji, gdy nie chcesz oceniać wszystkich wartości podanych w tabeli.
  • Eager Evaluation jest lepszy w użyciu, jeśli twoje kody są proste.
  • Użyj IF.EAGER, jeśli chcesz pisać kody przy użyciu Strict Evaluation i wykonywać je z Eager Evaluation.

Pamiętaj jednak, że musisz przetestować te trzy metody, aby dowiedzieć się, co naprawdę najlepiej zastosować w swoim raporcie.

4. Zoptymalizuj miarę w LuckyTemplates

Główną lekcją w tym samouczku jest optymalizacja kodów.

Wróć i spójrz na miarę RB Incentive% , która jest wykonywana przy użyciu ścisłej oceny. Następnie spróbuj ocenić go za pomocą Eager Evaluation.

Zacznij od utworzenia zmiennych i wprowadzenia funkcji  RETURN .

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Zmień odniesienia do miar za pomocą zmiennych.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Następnie potwierdź pomiar i przejdź do DAX Studio, aby sprawdzić, czy poprawiło to wydajność.

Pokazuje, że całkowity czas wynosi 642 milisekundy, a łączna liczba zapytań do silnika pamięci masowej została zmniejszona do 39.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Teraz utwórz zmienne dla wszystkich danych i zmień wszystkie odniesienia do miar na odpowiadające im zmienne.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Następnie potwierdź pomiar i wykonaj kod w studiu DAX.

Całkowity czas wykonania i łączna liczba zapytań silnika pamięci masowej została zmniejszona odpowiednio z 600 milisekund do 170 milisekund i z 43 zapytań do 15 zapytań.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Możesz również zobaczyć, że nie ma duplikatów. Posiadanie zmiennych w kodzie poprawia ich czytelność i wydajność.

Zaawansowana optymalizacja dla miary w LuckyTemplates

Następnie musisz jeszcze bardziej zoptymalizować swoje kody DAX.

Zamiast używać , użyj funkcji  .

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

HASONEVALUE  zlicza liczbę wartości dostępnych w kontekście filtru, co jest bardzo intensywną operacją. Tymczasem ISINSCOPE sprawdza, czy dostarczana kolumna jest używana do grupowania, czy nie.

Po zmianie funkcji zatwierdź pomiar i wykonaj go w DAX Studio.

Jak widać, liczba zapytań do silnika pamięci masowej wynosi teraz 12. Całkowity czas wykonania również wyniósł 105 milisekund.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

W drugim zapytaniu zobaczysz identyfikator danych wywołania zwrotnego.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Czasami zdarza się to, gdy używasz SELECTEDVALUE z polem tekstowym. Gdy zobaczysz dane wywołania zwrotnego, aparat magazynu wywołuje aparat formuł, aby pomóc rozwiązać złożoność kodu. To spowalnia działanie twojego środka.

Usuń dane wywołania zwrotnego

Musisz usunąć dane wywołania zwrotnego, aby uzyskać lepszą wydajność raportu. Aby to zrobić, musisz utworzyć tabelę konfiguracji w modelu danych.

Przejdź do opcji Wprowadź dane i wklej dane. Nazwij tabelę LossTypeConfigTable .

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Następnie kliknij Edytuj, aby zmienić typ danych kolumny, którą chcesz zaimportować.

Typ danych identyfikatora typu straty powinien być wartością nauczyciela, aby można go było używać w funkcji SELECTEDVALUE .

Po załadowaniu do modelu utwórz relację między tabelą Jobs a tabelą LossTypeConfigTable na podstawie typu straty.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Po utworzeniu relacji przejdź do tabeli Jobs i dodaj nową kolumnę. Nazwij to Loss ID, a następnie wprowadź formułę.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Użyj funkcji  dla tabeli konfiguracji, a następnie wyodrębnij identyfikator typu straty.

Następnie wróć do miary RB Incentive% i odwołaj się do pola numerycznego zamiast do pola tekstowego. Wewnątrz SELECTEDVALUE zastąp typ straty identyfikatorem straty.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Następnie zmodyfikuj wszystkie miary w kodzie. Użyj wartości całkowitej zamiast wartości tekstowych podczas sprawdzania typu pracy.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Po zmianie kodu potwierdź środek i wykonaj go w DAX Studio.

Identyfikator danych wywołania zwrotnego jest eliminowany w zapytaniu, a czas wykonania kodu zostaje skrócony do 93 milisekund.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Miara RB Incentive% jest teraz w pełni zoptymalizowana.

5. Zoptymalizuj inne środki w LuckyTemplates

Należy również zoptymalizować miary WR Incentive% i QB Incentive%.

Skopiuj i wklej dokładny kod użyty w pomiarze RB Incentive%. Następnie wykonaj 3 takty razem.

Całkowity czas wykonania został zoptymalizowany i skrócony z 1855 milisekund do 213 milisekund. Istnieje również tylko 12 zapytań do silnika pamięci masowej.

Pierwsze dwa zapytania tworzą kontekst filtru, a pozostałe reprezentują dokładną liczbę wartości w kolumnie Jobs Loss Type.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Ponieważ wszystkie miary zostały zoptymalizowane, uruchom oryginalny kod i zobacz, jak zmieniła się wydajność. Dane pokazują, że jest teraz obliczany w 1,9 sekundy.

Pomiar w usłudze LuckyTemplates: porady i techniki optymalizacji

Wydajność całego kodu jest teraz zoptymalizowana, dzięki czemu raport jest szybszy i lepszy.


Optymalizuj funkcje języka DAX dzięki temu nowemu kursowi
Proste transformacje usługi LuckyTemplates w celu uzyskania bardziej zoptymalizowanych danych
Optymalizuj formuły usługi LuckyTemplates przy użyciu zaawansowanego języka DAX

Wniosek

W raportach usługi LuckyTemplates należy zoptymalizować miary, aby zapewnić płynne działanie kodów języka DAX. Poprawia to również ogólną wydajność raportu.

Poznałeś już różne metody optymalizowania miary w usłudze LuckyTemplates i wiesz, jak ocenić, której z nich użyć w zależności od kontekstu raportu.


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.

Pomysły na materializację pamięci podręcznych danych w DAX Studio

Pomysły na materializację pamięci podręcznych danych w DAX Studio

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.

Raportowanie biznesowe przy użyciu usługi LuckyTemplates

Raportowanie biznesowe przy użyciu usługi LuckyTemplates

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ć

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć