Sortowanie niestandardowe usługi LuckyTemplates przy użyciu języka DAX

Wiele osób uważa, że ​​nie możemy wykonać sortowania niestandardowego usługi LuckyTemplates przy użyciu języka DAX , ale to nieprawda. DAX może absolutnie zagwarantować sortowanie, a w rzeczywistości jest to całkiem proste. W dzisiejszym blogu pokażę Ci, jak łatwo możesz to zrobić. Możesz obejrzeć pełny film z tego samouczka na dole tego bloga.

Spis treści

Nasz model danych

Zacznijmy od prostego modelu danych. Nasza tabela danych zawiera trzy kampanie, analizowany zwrot z inwestycji i koszt. 

Sortowanie niestandardowe usługi LuckyTemplates przy użyciu języka DAX

Jak widać w tabeli, mają te same koszty, ale ich zwrot z inwestycji jest inny. Koncepcja polega na tym, aby wiedzieć, które kampanie powinniśmy prowadzić w zależności od ich ROI dla danego budżetu. 

Sortowanie niestandardowe usługi LuckyTemplates: korzystanie z pętli while

Zacznijmy od miary z prostą pętlą while. 

Sortowanie niestandardowe usługi LuckyTemplates przy użyciu języka DAX

Ustawimy nasz budżet na 20000 i zapiszemy go w zmiennej Budget za pomocą _Budget.

Sortowanie niestandardowe usługi LuckyTemplates przy użyciu języka DAX

Następnie użyjemy pętli while, tworząc zmienną tabeli VAR_Table

Sortowanie niestandardowe usługi LuckyTemplates przy użyciu języka DAX

Następnie używamy , które są zgodne z naszą bazową tabelą 4 i dodajemy kolumnę sumy bieżącej za pomocą „_RT” .

Sortowanie niestandardowe usługi LuckyTemplates przy użyciu języka DAX

Następnie pobieramy [Analizowany ROI] w naszym bieżącym wierszu zapisanym jako VAR_ROI . Następnie bierzemy nasz Budżet . Od tego odejmujemy , filtrujemy tabelę 4 pod kątem analizowanego ROI, który jest większy lub równy ROI, który pobieramy dla naszego bieżącego wiersza, i pobieramy [Cost ]

Sortowanie niestandardowe usługi LuckyTemplates przy użyciu języka DAX

Te linie przyjmą najwyższy zwrot z inwestycji w pierwszym rzędzie, następnie kolejny najwyższy w następnym rzędzie i tak dalej. Zasadniczo będziemy mieli kolumnę, która jest bieżącą sumą odliczającą do zera w liczbach ujemnych.

Następnie wychodzimy z naszej pętli while. Tworzymy naszą zmienną FinalTable za pomocą VAR_FinalTable , w której po prostu filtrujemy naszą zmienną tabeli pod kątem sumy bieżącej , która jest większa lub równa zeru. Stosujemy ten filtr, ponieważ wartość poniżej zera oznacza, że ​​osiągnęliśmy wartość ujemną i wyczerpaliśmy budżet.

Sortowanie niestandardowe usługi LuckyTemplates przy użyciu języka DAX

Następnie możemy użyć dla tych wartości. Uwzględnimy nasze kolumny — Kampanie, Przeanalizowany zwrot z inwestycji i Koszt — oraz dodamy .

Sortowanie niestandardowe usługi LuckyTemplates przy użyciu języka DAX

Możemy odkryć tę wizualizację karty w okienku wyboru i zobaczyć, że mamy nasz Instagram i SEM, które są naszymi dwoma najwyższymi zwrotami z inwestycji.

Sortowanie niestandardowe usługi LuckyTemplates przy użyciu języka DAX

Sprawdźmy naszą oryginalną tabelę, aby porównać wyniki.

Sortowanie niestandardowe usługi LuckyTemplates przy użyciu języka DAX

Widzimy, że PPC rzeczywiście ma niższy zwrot z inwestycji niż SEM i Instagram. 

Jednak, jak być może zauważyłeś, nasz wynik nie pojawił się w prawidłowej kolejności, a wynik 8.1 na Instagramie pojawił się jako pierwszy przed wynikiem 8,15 SEM. 

Stosowanie porządku sortowania usługi LuckyTemplates

Ale co, jeśli chcemy, aby Instagram został zwrócony jako pierwszy, ponieważ ma najwyższy zwrot z inwestycji, a SEM ma zostać zwrócony jako drugi? Zasadniczo chcemy zagwarantować porządek sortowania. To staje się trochę trudne, ale nie jest trudno zrozumieć, jak to zrobić.

Oto jak powinna wyglądać nasza funkcja, z dolną sekcją taką samą jak pętla while, którą mieliśmy wcześniej.

Sortowanie niestandardowe usługi LuckyTemplates przy użyciu języka DAX

Aby zagwarantować porządek sortowania, musimy wykonać trochę dodatkowej pracy. 

Ponownie zaczynamy od naszego VAR_Budget , który ustawiliśmy na 20000. Następnie tworzymy naszą zmienną Count za pomocą VAR_Count I i stosujemy w tabeli 4. 

Sortowanie niestandardowe usługi LuckyTemplates przy użyciu języka DAX

W następnym wierszu użyjemy funkcji CONCATENATEX do połączenia kolumn Kampanie, Analizowany zwrot z inwestycji i Koszt. Jako separatora możesz użyć wszystkiego, o ile nie znajduje się to w Twoich danych, więc w tym przypadku użyjmy po prostu gwiazdek. 

Następnie użyjemy kreski pionowej (|) w następnym parametrze po kolumnie kosztów. Użyjemy również VAR_Ordered do sortowania według analizowanego ROI w kolejności malejącej, co oznacza, że ​​najwyższy ROI będzie na górze.

Sortowanie niestandardowe usługi LuckyTemplates przy użyciu języka DAX

Jeśli spojrzymy na linię komentarza, jest napisane, że kod da nam wynik w formacie takim jak SEM*8.158*10000 | Instagram*8.1*10000 . Pojawi się również w kolejności od najwyższego ROI do najniższego ROI. 

Sortowanie niestandardowe usługi LuckyTemplates: użycie pętli for

Ten przykład jest interesujący, ponieważ otrzymujemy pętlę for , pętlę while i wszelkiego rodzaju fajne funkcje. Tym razem użyjemy pętli for

Tabela 1

W tym przykładzie Table1 jest naszą pętlą for, a to, co robimy, to ADDCOLUMNS do , które przechodzi od jednego do naszego licznika o jeden zapisany jako (1,_Count,1).

W naszym wierszu używamy , ponieważ używamy znaku kreski pionowej w celu oddzielenia wierszy naszej tabeli. Używając PATHITEM , następnie pobieramy ścieżkę ze zmiennej Ordered , która jest naszym łańcuchem. 

Używamy również Value , która jest naszą automatyczną kolumną utworzoną za pomocą GENERATESERIES lub naszych kalendarzy 1, 2, 3, 4, 5, dopóki nie wyczerpiemy liczby wierszy w naszej tabeli. Następnie zwracamy go z powrotem jako Text

Sortowanie niestandardowe usługi LuckyTemplates przy użyciu języka DAX

To, co mamy teraz, to gwarantowana kolejność sortowania dla naszej tabeli, która przechodzi od najwyższego ROI do najniższego. Oto twój DAX do gwarantowania porządku sortowania. 

Tabela 2

Teraz, aby uzyskać to w użytecznym formacie, musimy zrobić Table2 , w którym wybierzemy poszczególne kolumny z naszego łańcucha, który mamy.

Użyjmy kolejnych ADDCOLUMNS , aby dodać do Table1, naszej pętli for. W przypadku Kampanii utwórz kolumnę kampanii i użyj , aby zastąpić gwiazdki kreskami. Następnie użyjemy PATHITEM na RowPath, aby pobrać pierwszy element i zwrócić go jako TEKST.

Sortowanie niestandardowe usługi LuckyTemplates przy użyciu języka DAX

W kolumnie Zanalizowany zwrot z inwestycji zrobimy zasadniczo to samo. ZASTĄPIĆ gwiazdki rurkami. Następnie chwyć drugi przedmiot na naszej ścieżce i zwróć go jako TEKST. Robimy to, ponieważ z jakiegoś powodu PATHITEM pozwala nam zwracać jako liczbę całkowitą lub tekst, ale nie jako liczby dziesiętne.

To trochę dziwne, ale możemy to rozwiązać, ponieważ wszystko, co musimy zrobić, to dodać zero, a DAX automatycznie przekonwertuje ciąg TEKST na wartość liczbową. 

Sortowanie niestandardowe usługi LuckyTemplates przy użyciu języka DAX

Ponownie robimy to samo dla kolumny Koszt . Używamy SUBSTITUTE i PATHITEM , aby pobrać trzeci przedmiot. Następnie, aby zwrócić liczbę, ponownie dodajemy zero, ponieważ w tym przypadku jest to liczba całkowita.

Sortowanie niestandardowe usługi LuckyTemplates przy użyciu języka DAX

Pozostała część naszego kodu to pętla while, o której mówiliśmy wcześniej. To, co otrzymujemy teraz, to nasz gwarantowany porządek sortowania od najwyższej do najniższej kampanii. 

Sortowanie niestandardowe usługi LuckyTemplates przy użyciu języka DAX

Nasz SEM był naszym najwyższym ROI w naszej kampanii, a Instagram jest drugim. 


Narzędzia zewnętrzne w LuckyTemplates – LuckyTemplates Power Sort Pro
Jak sortować i filtrować wykresy w narzędziu do tworzenia raportów
Dynamicznie sortować wizualizacje w raportach LuckyTemplates

Wniosek

Korzystając z pętli while i for, z powodzeniem zastosowaliśmy sortowanie niestandardowe usługi LuckyTemplates w naszym modelu danych na podstawie ich zwrotu z inwestycji — dowód na to, że DAX może zdecydowanie zagwarantować porządek sortowania. 

Ważne jest, aby upewnić się, że Twoje dane są poprawnie posortowane w języku DAX, aby dokładnie je analizować i wizualizować. Możesz zastosować to, czego nauczyłeś się w tym samouczku, aby odpowiednio posortować dane do następnego raportu.

Wszystkiego najlepszego,

Grega Decklera

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.