Jak zmaksymalizować wykorzystanie funkcji INTERSECT — zaawansowany język DAX

Funkcja INTERSECT w usłudze LuckyTemplates jest zaawansowaną funkcją tabelaryczną i musisz ją lepiej zrozumieć, aby zmaksymalizować wykorzystanie tego zaawansowanego języka DAX. Możesz obejrzeć pełny film tego samouczka na dole tego bloga.

Ale aby zrozumieć, jak to działa, musisz znacznie lepiej zrozumieć wirtualne stoły. Wirtualne tabele to kluczowa koncepcja podczas korzystania z miar języka DAX w usłudze LuckyTemplates.

Funkcja INTERSECT umożliwia w ramach jednej miary porównanie jednej wirtualnej tabeli z inną. W końcu będziesz mógł zwrócić tabelę wyników, które pojawiają się w obu wersjach tych dwóch wirtualnych tabel.

Kiedy zrozumiesz, jak możesz wykorzystać tę funkcję, wkrótce przekonasz się, że istnieją niesamowite możliwości, jeśli chodzi o łatwe uruchamianie bardzo zaawansowanej logiki.

Spis treści

Przedstawienie unikalnego wglądu za pomocą funkcji PRZECIĘCIE

W przykładzie, który omówię, pokażę naprawdę wyjątkowy wgląd, który można odkryć za pomocą funkcji . Ta konkretna wiedza może być ponownie wykorzystana na wiele różnych sposobów . Jest to najbardziej przydatne, gdy pracujesz z danymi klientów, a Twoim celem jest lepsze zrozumienie klientów.

Najlepszym sposobem nauczenia się tej funkcji jest pokazanie praktycznej sceny. Zamierzam więc opracować scenariusz i opracować go na podstawie naszych klientów w bieżącym miesiącu. Tacy klienci powinni również posiadać historię zakupów z ostatnich dwóch miesięcy. I zamierzamy dowiedzieć się, który z naszych obecnych klientów miał poprzednie transakcje zamówień sprzed 2 miesięcy.

Spójrz na ten raport usługi LuckyTemplates, który utworzyłem, aby zademonstrować funkcję . Najpierw ustawiłem kilka filtrów po lewej stronie, gdzie możemy wybrać dowolny miesiąc.

Jak zmaksymalizować wykorzystanie funkcji INTERSECT — zaawansowany język DAX

Następnie mam kolumny dla wszystkich klientów. Kolumny Total Sales i Sales LM pokazują klientów, którzy zakupili historie dla bieżącego miesiąca, jak również dla ostatniego miesiąca. Formuła całkowitej sprzedaży jest bardzo prosta. To po prostu suma całej sprzedaży od określonego klienta.

Jak zmaksymalizować wykorzystanie funkcji INTERSECT — zaawansowany język DAX

Formuła Sales LM to prosta formuła całkowitej sprzedaży, która rozgałęzia się na obliczenia analizy czasowej przy użyciu DATEADD , aby cofnąć się do poprzedniego miesiąca.

Jak zmaksymalizować wykorzystanie funkcji INTERSECT — zaawansowany język DAX

Jak zmaksymalizować wykorzystanie funkcji INTERSECT — zaawansowany język DAX

Ważne jest, aby zrozumieć początkowy kontekst formuły, ponieważ umożliwiamy obliczanie ostatniego miesiąca przy użyciu wspomnianych formuł. W związku z tym musimy uzyskać właściwy kontekst początkowy, abyśmy mogli zastosować formuły języka DAX.

Jak dynamicznie wyliczamy klientów, którzy dokonali zakupu dwa miesiące z rzędu? To właśnie można zobaczyć w kolumnie Klienci 2M w jednym rzędzie .

Teraz chcę również znać łączną sprzedaż od tych klientów, więc dodałem kolumnę Sprzedaż od klientów 2M w wierszu .

Jak zmaksymalizować wykorzystanie funkcji INTERSECT — zaawansowany język DAX

Identyfikacja stałych klientów za pomocą funkcji INTERSECT

Przyjrzyjmy się, jak przydatny jest INTERSECT, jeśli chodzi o znajdowanie stałych klientów. Oto wzór dla klientów 2M z rzędu .

Jak zmaksymalizować wykorzystanie funkcji INTERSECT — zaawansowany język DAX

W tej formule umieściłem dwie wirtualne tabele, które są zmiennymi zewnętrznymi ( VAR ) wewnątrz funkcji INTERSECT . Zasadniczo ocenia listę elementów lub wierszy, które są obecne w pierwszej tabeli, ale nie w drugiej.

Jak zmaksymalizować wykorzystanie funkcji INTERSECT — zaawansowany język DAX

Początkowa tabela to CustomerTM , która oznacza klientów, którzy dokonali zakupu w tym miesiącu. Następnie formuła sprawdza, czy ci klienci są również wymienieni w tabeli CustomerLM .

Jeśli klient istnieje w obu wirtualnych tabelach, zostanie zachowany. W ten sposób ta formuła pozwala nam dotrzeć do wszystkich klientów, którzy dokonali zakupu w tym miesiącu iw poprzednim miesiącu.

Następnie użyłem funkcji , aby policzyć tych pozostałych klientów.

Jak zmaksymalizować wykorzystanie funkcji INTERSECT — zaawansowany język DAX

Porozmawiajmy teraz o tworzeniu wirtualnych stołów dla klientów, którzy dokonywali zakupów przez 2 miesiące z rzędu.

Jak zmaksymalizować wykorzystanie funkcji INTERSECT — zaawansowany język DAX

Jeśli zauważyłeś, umieściłem je w funkcji ( zmienne). Gorąco polecam te funkcje, ponieważ są fantastycznym dodatkiem do pisania bardziej złożonych formuł. 

W tym konkretnym zestawie dla VAR CustomerTM tworzę wirtualną tabelę identyfikatorów klientów. Następnie dla VAR CustomerLM ponownie tworzę wirtualny stół dla naszych klientów w zeszłym miesiącu. Ale tym razem dodałem funkcję , aby mogła wrócić do zestawu klientów z poprzedniego miesiąca zamiast do bieżącego kontekstu.

Oto, co jest interesujące w obliczeniach, które mamy teraz.

Jak zmaksymalizować wykorzystanie funkcji INTERSECT — zaawansowany język DAX

Formuła sprawdza tylko każdy wiersz klientów, ponieważ klienci są filtrowani. Jeśli dla określonego wiersza (klienta) nie ma sprzedaży za poprzedni miesiąc, nie ma czego oceniać. W związku z tym kolumna Klienci 2M z rzędu jest pusta. Ale jeśli klient ma poprzedni rekord, liczy się on jako 1 .

Na przykład, jeśli spojrzymy na dane dla Adama Thompsona, zwracają one 1 w kolumnie Klienci 2M z rzędu . Oznacza to, że ten klient ma rekord zarówno za ostatni miesiąc, jak i dwa miesiące wcześniej.

Ponowne użycie formuły w innym kontekście

Możesz nie zdawać sobie sprawy, jak ważne jest użycie funkcji INTERSECT od razu, ale istnieje naprawdę dobry powód, dla którego musisz użyć tej formuły. Dzieje się tak głównie dlatego, że możesz ponownie wykorzystać te obliczenia w wielu różnych kontekstach. Spójrz na ten przykład poniżej.

Jak zmaksymalizować wykorzystanie funkcji INTERSECT — zaawansowany język DAX

Aby uzyskać powyższe przykładowe dane, użyłem tej samej formuły. Ale tym razem zaczynam w innym kontekście początkowym. Zamiast oceniać pojedynczy wiersz, ocenia wiele kontekstów, takich jak Kodeks Stanowy. Następnie tworzy listę klientów, którzy dokonali zakupu w czerwcu 2016 r. oraz w maju 2016 r. Następnie porównam ją z klientami, którzy dokonali zakupu raz w danym stanie w bieżącym miesiącu.

W kolumnie Klienci 2M z rzędu możesz zobaczyć dokładną liczbę klientów spełniających te kryteria.

Poniżej tej tabeli znajduje się inna wizualizacja przedstawiająca te same dane dla klientów 2M z rzędu według kodu stanu .

W rzeczywistości możesz ponownie zmienić kontekst w swoim modelu w zależności od wymagań. Jeśli Twój filtr działa prawidłowo, możesz ponownie zastosować tę formułę, aby dodać ją do innych sytuacji.

Dlatego powiedziałem, że INTERSECT jest bardzo potężny. Zamiast po prostu pisać instrukcje JEŻELI , możesz wykorzystać te funkcje PRZEKRÓJ w swojej formule.

Obliczanie całkowitej sprzedaży od stałych klientów

Ponadto pracujemy nad całkowitą liczbą sprzedaży od naszych stałych klientów .

Wyniki w kolumnie Sprzedaż od klientów 2M z rzędu to suma zakupów klienta za miesiąc bieżący i poprzedni. Zwróć uwagę, że możemy uzyskać ten wynik tylko wtedy, gdy klient dokonywał zakupów przez dwa miesiące z rzędu. 

Jest to wzór na całkowitą sprzedaż stałych klientów.

Jak zmaksymalizować wykorzystanie funkcji INTERSECT — zaawansowany język DAX

Tutaj widać, że wzór jest prawie taki sam. Jedyna różnica polega na tym, że zamiast COUNTROWS użyłem funkcji CALCULATE , aby zmienić kontekst obliczeń. 

Dzieje się tak, ponieważ potrzebujemy tutaj całkowitej kwoty sprzedaży od klientów. Ale jak widzisz, nadal używam funkcji INTERSECT . Jest to bardzo pomocne, jeśli chodzi o analizę Pareto. Ale możesz również zastosować tę funkcję na wiele różnych sposobów.

Włączenie INTERSECT dla klientów z ostatnich trzech miesięcy

Nadal możesz posunąć się dalej niż wcześniej. Możesz faktycznie obliczyć klientów, którzy kupowali przez trzy miesiące z rzędu, korzystając z poniższego wzoru.

Jak zmaksymalizować wykorzystanie funkcji INTERSECT — zaawansowany język DAX

Wszystko, co dodałem, to inne obliczenie, które cofa się o dwa miesiące zamiast jednego.

Jak zmaksymalizować wykorzystanie funkcji INTERSECT — zaawansowany język DAX

Następnie dodałem funkcję INTERSECT wewnątrz innej funkcji INTERSECT . Tak więc nie tylko oceni klientów z bieżącego miesiąca i historię zakupów z ostatniego miesiąca. Sprawdzi również, czy dany klient również dokonał zakupu 2 miesiące temu.

Aby dodać te dane do tabeli, po prostu przeciągnij formułę Klienci 3M z rzędu do tabeli.

Jak zmaksymalizować wykorzystanie funkcji INTERSECT — zaawansowany język DAX

Na dole zobaczysz łącznie 45 klientów, którzy dokonali zakupu przez trzy miesiące z rzędu. Jest to dość intensywny wgląd, który jest bardzo przydatny.


Jak zrozumieć tabele wirtualne wewnątrz funkcji iteracyjnych w usłudze LuckyTemplates
Zagłęb się w RANKX — koncepcje formuł języka DAX w usłudze LuckyTemplates
Implementowanie grup miar języka DAX w raportach usługi LuckyTemplates

Wniosek

Jak wspomniano wcześniej, INTERSECT jest funkcją tabelaryczną i można jej używać na wiele różnych sposobów.

Celem tego samouczka jest zobaczenie, jak można go wykorzystać w takcie i na różne sposoby w ramach taktu. Myślę, że w ten sposób można to wykorzystać w bardzo efektywny sposób do przeprowadzenia wyjątkowo przekonującej analizy.

Powodzenia w zapoznawaniu się z tym zaawansowanym samouczkiem dotyczącym usługi LuckyTemplates.

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.