RANKX Deep Dive: funkcja LuckyTemplates DAX

RANKX Deep Dive: funkcja LuckyTemplates DAX

Dzisiaj zagłębimy się w RANKX, skalarną funkcję języka DAX w usłudze LuckyTemplates , która umożliwia zwrócenie rankingu określonej liczby w każdym wierszu tabeli, który stanowi część listy liczb. Możesz obejrzeć pełny film z tego samouczka na dole tego bloga.

Spis treści

Przykładowe scenariusze

Przeanalizujemy niektóre z najważniejszych scenariuszy, w tym odwoływanie się do całej tabeli i nazwy pola w .

Przyjrzymy się również, co się stanie, gdy poziom szczegółowości spadnie, a kolejność sortowania zostanie zastosowana do pola. Na koniec przyjrzymy się bliżej najlepszym praktykom odwoływania się do nazwy tabeli lub nazwy pola wzdłuż tabeli oraz temu, jak ranking jest oceniany na zapleczu.

RANKX Scenariusz 1: Ranking klientów

W naszym pierwszym scenariuszu chcemy obliczyć ranking naszych klientów i odwołać się do całej tabeli klientów wewnątrz funkcji RANKX. Ostatecznie dowiemy się, jak oceniane są wyniki.

Zacznijmy więc od otwarcia usługi LuckyTemplates i kliknięcia przycisku opcji Total Sales na karcie Key Measures , a następnie przejdź do New Measure . Napisz miarę dla rankingu klientów (np. „Ranking klientów =”).

Możesz wyświetlić wyniki, przeciągając miarę rankingu klientów do wnętrza tabeli.

RANKX Deep Dive: funkcja LuckyTemplates DAX

Ale czy to najlepsze podejście do każdego scenariusza? Co jeśli są dwie osoby o tym samym nazwisku, ale w różnych miastach? A co jeśli mamy dwa miejsca o tej samej nazwie, ale różnych terytoriach?

RANKX Scenariusz 2: Ranking miast V1

Teraz zastosujmy to samo podejście w pierwszym scenariuszu. Tym razem jednak zastosujemy go do tabeli regionów, w której mamy dwa miasta o tej samej nazwie, ale w dwóch różnych lokalizacjach.

RANKX Deep Dive: funkcja LuckyTemplates DAX

Jak widać na powyższym obrazku, w tabeli regionów mamy dwa miasta o tej samej nazwie, ale są one dostępne na dwóch różnych terytoriach. Co się stanie, gdy zastosujemy te same kroki z poprzedniego scenariusza?

Wyniki będą wyglądać mniej więcej tak:

RANKX Deep Dive: funkcja LuckyTemplates DAX

Teraz zaczynamy dostrzegać problem z naszą formułą rankingu. Ponieważ funkcja RANKX iteruje po całym zestawie tabel, nie może konsolidować wyników dla miast o tej samej nazwie, które są dostępne w ramach dwóch różnych terytoriów. To ostatecznie powoduje błąd.

Aby rozwiązać ten problem, musisz odwołać się do nazwy pola wewnątrz funkcji RANKX i nazwy tabeli, tak jak na obrazku poniżej.

RANKX Deep Dive: funkcja LuckyTemplates DAX

Jak więc naprawić błąd? Kiedy odwołujemy się do nazwy pola wewnątrz funkcji RANKX, będzie ona iterować tylko w tej kolumnie, a nie w całej tabeli.

Usunie duplikaty, mimo że oba miasta są dostępne na dwóch różnych terytoriach, konsolidując je w ten sposób jako jedno miasto.

RANKX Scenariusz 3: Ranking terytoriów

Co się dzieje, gdy poziom ziarnistości spada?

W takim przypadku zobaczysz błąd podczas obliczania rankingu na poziomie terytorialnym. Powodem jest to, że gdy odwołujemy się tylko do nazwy tabeli i ponownie ignorujemy nazwę kolumny, iteruje ją po całej tabeli, a tym samym nie udaje się skonsolidować wyników na poziomie terytorialnym.

Aby uzyskać prawidłowe wyniki na poziomie terytorialnym, musisz odwołać się do pola terytoriów w tabeli regionów. Ale kiedy należy odwoływać się do całego motywu tabeli i dołączać nazwę pola wraz z tabelą?

Gdy ranking jest stosowany na najniższym poziomie szczegółowości, możemy odwołać się do nazwy tabeli i zignorować nazwę pola.

RANKX Deep Dive: funkcja LuckyTemplates DAX

Ale gdy poziom szczegółowości spadnie, będziemy musieli odwoływać się do nazwy kolumny wraz z nazwą tabeli. Do tej pory analizujemy wyniki tylko w jednej wizualizacji, czyli w tabeli.

Cities RankingV2: Lepsze podejście przy użyciu Slicera

Powielmy drugi scenariusz, w którym lewa strona wizualizacji będzie odwoływać się tylko do nazwy tabeli, podczas gdy prawa strona będzie odwoływać się do nazwy kolumny wewnątrz funkcji RANKX. Następnie porównamy wyniki, wprowadzając fragmentator na tę stronę w postaci terytoriów, co daje obraz poniżej.

RANKX Deep Dive: funkcja LuckyTemplates DAX

Gdy dokonamy selekcji we fragmentatorze, zauważysz, że po lewej stronie wizualizacji tabeli nie wyświetla on wyniku w kolejności seryjnej, ponieważ RANKX iteruje po tabeli całego regionu. Jednak po prawej stronie wizualizacji tabeli zobaczysz wyniki w kolejności seryjnej.

Powodem jest to, że RANKX iteruje tylko po określonej kolumnie tabeli, co pozwala odfiltrować wyniki według wyboru dokonanego we fragmentatorze. Jest to również jedna z najważniejszych rzeczy do zapamiętania.

Jeśli chcemy zobaczyć ogólne wyniki rankingu, możemy odwołać się tylko do nazwy tabeli wewnątrz funkcji RANKX .

Ale jeśli chcemy, aby nasze wyniki były w porządku szeregowym, zgodnie z wyborem dokonanym w krajalnicy, musimy również odwołać się do nazwy kolumny wewnątrz funkcji.

RANKX Scenariusz 4: Ranking produktów

Na koniec przejdźmy do naszego ostatecznego scenariusza. Przyjrzyjmy się, co się stanie, gdy złożymy zamówienie na produkt w określonym polu i jak RANKX ocenia ranking na zapleczu.

W tym scenariuszu używamy nazw produktów z tabeli produktów, aby przeanalizować, które z naszych produktów osiągają najlepsze wyniki .

Tak więc, podobnie jak w pierwszym scenariuszu, musisz napisać miarę rankingową dla swoich produktów (w tym przypadku dobrze wykorzystaj ranking produktów). Jeśli umieścisz miarę rankingu produktów w wizualizacji, zobaczysz wynik podobny do poniższego obrazka:

RANKX Deep Dive: funkcja LuckyTemplates DAX

Możesz zobaczyć, że chociaż odwołaliśmy się do naszego pola nazwy produktu w funkcji RANKX, nie ocenia ona poprawnie wyników. Dlaczego tak się dzieje? Aby odpowiedzieć na to pytanie, musimy otworzyć DAX Studio .

RANKX Scenariusz 5: Studio DAX

Otwórzmy więc studio DAX i zobaczmy, jak RANKX ocenia wyniki rankingu na zapleczu.

Na poniższym obrazku skopiowałem zapytanie wizualizacji tabeli za pomocą narzędzia Performance Analyzer i wkleiłem je do studia DAX. Jak widać w tym zapytaniu, istnieje również indeks produktów, pole sortowania wewnątrz tabeli produktów.

RANKX Deep Dive: funkcja LuckyTemplates DAX

W związku z tym, mimo że w naszej wizualizacji tabeli uwzględniliśmy tylko nazwę produktu, łączną sprzedaż i miarę rankingu, to pole jest domyślnie przywoływane na końcu obliczenia rankingu.

A teraz poprawmy naszą miarę rankingu produktów, odwołując się do pola sortowania wewnątrz funkcji RANKX i zobaczmy wyniki po raz ostatni.

RANKX Deep Dive: funkcja LuckyTemplates DAX

Jak widać na powyższym obrazku, wyniki dla nazw produktów są teraz poprawnie oceniane. Tak więc, ilekroć mamy pole posortowane według innego pola, musimy odwołać się do obu pól wewnątrz funkcji RANKX w oparciu o wszystkie omówione dzisiaj scenariusze.

Wniosek

Oto niektóre ze scenariuszy korzystania z funkcji RANKX w obliczeniach języka DAX. Ogólnie rzecz biorąc, istnieje wiele innych sposobów na zrobienie tego w szerokiej gamie funkcji.

Najważniejszą rzeczą do zapamiętania jest zrozumienie kontekstu, w jakim umieszczana jest funkcja RANKX.

RANKX jest wyjątkowo wszechstronny w obliczaniu dowolnej analizy typu rankingu w LuckyTemplates. Umożliwia również zaawansowane analizy, które robią wrażenie na odbiorcach Twoich raportów i wizualizacji.

Wszystkiego najlepszego,

Surowy Anil Joshi


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ć