Fikcyjne zmienne: jak ich używać do pisania inteligentniejszego języka DAX

W tym samouczku opowiem o tym, jak używać zmiennych fikcyjnych do pisania lepszych miar języka DAX. Jest to szczególnie przydatne w przypadkach, gdy potrzebny jest bardziej złożony język DAX. Korzystając z tej techniki, możesz być bardziej elastyczny w radzeniu sobie z różnymi zmiennymi i warunkami. Możesz obejrzeć pełny film tego samouczka na dole tego bloga.

Zdecydowałem się zrobić ten samouczek z powodu pytania, które napotkałem na .

Fikcyjne zmienne: jak ich używać do pisania inteligentniejszego języka DAX

Na podstawie tego pytania Harvey chciał połączyć analizę Pareto z kilkoma dodatkowymi kryteriami. Chciał przyjrzeć się najlepszym 20% rankingu sprzedaży, jednocześnie patrząc na jego przecięcie z innymi produktami, które miały marże powyżej określonego procenta.

Spis treści

Opracowanie rozwiązania dla rankingu sprzedaży i odcięcia marży zysku

W oparciu o wymagania, o których wspomniał Harvey, stworzyłem szkic rozwiązania, które zawiera suwaki dla pozycji Sales Rank i Profit Margin Cutoff .

Fikcyjne zmienne: jak ich używać do pisania inteligentniejszego języka DAX

W zależności od parametrów ustawionych na tych suwakach, wizualizacja rozproszenia pokaże produkty spełniające oba kryteria .

Fikcyjne zmienne: jak ich używać do pisania inteligentniejszego języka DAX

Załóżmy, że ranking sprzedaży to A, a marża zysku to B . Zasadniczo pokazuje to warunek . Wymaga to stosunkowo standardowych miar DAX. Są one pokazane tutaj w prawym okienku pod miarami, gdzie mam Sales Rank , który używa podstawowego . Mam również koszty całkowite, zyski całkowite i inne zmienne, które pobierają swoje wartości z suwaków.

Fikcyjne zmienne: jak ich używać do pisania inteligentniejszego języka DAX

Używanie zmiennych fikcyjnych dla warunków AND

Jeśli chodzi o warunek ORAZ , to właśnie ta miara wykonuje ciężkie zadania.

Fikcyjne zmienne: jak ich używać do pisania inteligentniejszego języka DAX

Jest kilka interesujących rzeczy, które możesz zauważyć w tym pomiarze. Zasadniczo te tryby warunkowe są zwykle używane w kryteriach / . Ale zamiast tego użyłem czegoś, co nazywam zmiennymi fikcyjnymi, gdzie jeśli warunek jest PRAWDĄ, otrzymuje 1. Jeśli jest FAŁSZ, otrzymuje 0.

Fikcyjne zmienne: jak ich używać do pisania inteligentniejszego języka DAX

Tak więc ta miara pokazuje, że jeśli Ranking Sprzedaży jest mniejszy lub równy Odcięciu Rankingu Sprzedaży, otrzymuje 1. Jeśli Marża Zysku jest większa niż Odcięcie Marży Zysku, otrzymuje 1. W przeciwnym razie otrzymują zero.

Takie podejście jest bardzo powszechne w analizie statystycznej i regresji, ale może być również przydatne, jeśli chodzi o DAX.

Użyłem tego podejścia, ponieważ potrzebuję tych wartości do następnej części, w której łączę te dwie zmienne, mnożąc je .

Fikcyjne zmienne: jak ich używać do pisania inteligentniejszego języka DAX

Po połączeniu dwóch zmiennych fikcyjnych Rnk i Marg mogę przejść do następnej części miary. Jeśli ta połączona wartość jest większa od zera, przypisuję kolor czerwony. Jeśli nie jest, przypisywany jest kolor niebieski.

Fikcyjne zmienne: jak ich używać do pisania inteligentniejszego języka DAX

Używanie zmiennych fikcyjnych dla warunków LUB

Co zrobić, jeśli chcesz użyć tego podejścia w warunku ?

Możesz użyć tego samego procesu, ale jeśli chodzi o krok, w którym łączysz zmienne, użyj znaku plus zamiast gwiazdki .

Zatem warunek AND wymagałby takiej gwiazdki:

Fikcyjne zmienne: jak ich używać do pisania inteligentniejszego języka DAX

Warunek LUB wymagałby znaku plus takiego jak ten:

Fikcyjne zmienne: jak ich używać do pisania inteligentniejszego języka DAX

Gdy klikniesz akceptuj, zastosuje te warunki na wykresie punktowym. Produkty spełniające te ustalone warunki będą wtedy wyświetlane jako te czerwone kropki tutaj.

Fikcyjne zmienne: jak ich używać do pisania inteligentniejszego języka DAX

Dlaczego zmienne fikcyjne działają

Jeśli zastanawiasz się, dlaczego te fikcyjne zmienne działają, mam tutaj kilka diagramów, które mogą pomóc.

Zacznijmy od warunku AND .

Fikcyjne zmienne: jak ich używać do pisania inteligentniejszego języka DAX

AND oznacza, że ​​oba lub wszystkie warunki są PRAWDĄ. Charakteryzuje się mnożeniem. Po pomnożeniu dowolny warunek FAŁSZ ustawia cały wyraz na 0. Więc jeśli masz dwie zmienne, A i B, i obie są prawdziwe, to dałoby iloczyn 1, który zwraca PRAWDA.

Ale jeśli albo A jest równe zeru, albo B jest równe zeru, otrzymujesz trzy warunki, w których cały wyraz kończy się na zero. To skrzyżowanie.

Z drugiej strony, jeśli spojrzymy na warunek LUB, oznacza to, że jeden lub którykolwiek z warunków jest PRAWDĄ. Zamiast mnożenia wymaga to dodania. Tak więc żaden pojedynczy zestaw FAŁSZ nie da wyniku 0, ale dopóki dowolny warunek jest prawdziwy, zwiększa ten warunek o 1.

Fikcyjne zmienne: jak ich używać do pisania inteligentniejszego języka DAX

Tak więc na diagramie dla warunku LUB, jeśli zarówno A, jak i B są PRAWDĄ, to wyrażenie otrzymuje 2. Jeśli A jest fałszywe, ale B jest prawdziwe, otrzymuje 1. Odwrotność również otrzymuje 1, podczas gdy ty otrzymujesz tylko 0 jeśli oba warunki są fałszywe.

Gdzie zmienne fikcyjne są przydatne

Najwyraźniej możesz użyć podstawowych warunków AND lub OR dla prostych przypadków. Jednak nie będą one działać tak dobrze, jeśli chodzi o bardziej złożone przypadki. Oto jeden przykład.

Fikcyjne zmienne: jak ich używać do pisania inteligentniejszego języka DAX

Ten przypadek pokazuje siedem zmiennych. Kombinacja A, B i C jest PRAWDA. Podobnie jak kombinacje D i E lub F i G.

Gdybyś miał napisać miarę DAX dla tego warunku, możesz sobie wyobrazić, jak długie i skomplikowane byłoby to zadanie. Ale jeśli zastosujesz fikcyjne zmienne, możesz to znacznie uprościć. Wystarczy zastąpić te operatory, aby uzyskać prostszą formułę.

Fikcyjne zmienne: jak ich używać do pisania inteligentniejszego języka DAX

Stamtąd używasz warunku, że jeśli wynik jest większy niż 0, byłoby to PRAWDA. Jeśli okaże się, że jest równy 0, otrzymujesz FAŁSZ.

Wróćmy do pliku usługi LuckyTemplates, aby zobaczyć, jak to działa w rzeczywistym raporcie.

Tak więc w tym przypadku czerwone kropki pokazują przypadek, w którym oba warunki są prawdziwe, podczas gdy fioletowe kropki pokazują, że tylko jeden warunek jest prawdziwy.

Fikcyjne zmienne: jak ich używać do pisania inteligentniejszego języka DAX

Przechodząc do miary, zobaczysz zmienne fikcyjne Rnk i Marg, gdzie mamy warunek OR, jak pokazano przez plus .

Fikcyjne zmienne: jak ich używać do pisania inteligentniejszego języka DAX

Wtedy zobaczysz również, że pod konstrukcją TRUE masz 2 dające czerwony, co oznacza, że ​​masz dwa PRAWDZIWE stwierdzenia. Jeśli jedno ze stwierdzeń jest prawdziwe, zmienia kolor na fioletowy. Jeśli żadne z nich nie jest prawdziwe, daje to 0, które pokazuje niebieskie kropki.

Fikcyjne zmienne: jak ich używać do pisania inteligentniejszego języka DAX

Odpowiada to bezpośrednio macierzy diagramu OR, o której mówiliśmy wcześniej.

Wracając do naszego ostatniego warunku, możemy przyjrzeć się, co się stanie, jeśli chcemy przyjrzeć się dwóm zestawom wartości odstających. Zasadniczo, jeśli chcemy spojrzeć na to, co spełnia oba warunki A i B, dwie kropki tutaj reprezentujące Produkty 4 i 15 spełniają te kryteria.

Fikcyjne zmienne: jak ich używać do pisania inteligentniejszego języka DAX

Z drugiej strony możesz również spojrzeć na dolną wartość odstającą, którą jest Produkt 1.

Fikcyjne zmienne: jak ich używać do pisania inteligentniejszego języka DAX

Pamiętaj też, że cały ten raport jest dynamiczny. Im bardziej przesuwasz suwaki, tym więcej punktów potencjalnie zobaczysz.

Patrząc na poniższą miarę, pokazuje ona ostatni przypadek, o którym mówiliśmy, gdzie mamy cztery zmienne fikcyjne — najwyższy stopień (TopRnk), wartości większe lub równe marży (GTEMarg), najniższy stopień (BotRank) i mniejszy lub równy marginesowi (LEMar).

Fikcyjne zmienne: jak ich używać do pisania inteligentniejszego języka DAX

Patrząc na łączną wartość, pomnożyliśmy TopRnk i GTEMarg, a następnie dodaliśmy to do iloczynu BotRank i LEMarg.

Fikcyjne zmienne: jak ich używać do pisania inteligentniejszego języka DAX

Jeśli którykolwiek z tych warunków powróci jako PRAWDA, na wykresie pojawi się czerwony punkt. Jeśli nie, pokaże niebieski punkt.

Fikcyjne zmienne: jak ich używać do pisania inteligentniejszego języka DAX


Używanie zaawansowanego języka DAX do obsługi wielu instrukcji IF w usłudze LuckyTemplates
Jak używać SWITCH True Logic w usłudze LuckyTemplates
Funkcje języka DAX w usłudze LuckyTemplates: korzystanie z iteratorów

Wniosek

Używając i łącząc te zmienne fikcyjne, można uzyskać pożądane wyniki przy użyciu prostych miar w porównaniu ze zwykłymi skomplikowanymi miarami języka DAX, których wymagają tekstowe miary PRAWDA/FAŁSZ.

Zacznij wypróbowywać to podejście w innych raportach, które używały warunków PRAWDA lub FAŁSZ w przeszłości i zobacz, jak wpływa to na twoje pomiary, gdy komplikujesz warunki.

Wszystkiego najlepszego,

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.