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.
W tym samouczku pokażę, jak naprawić sumy macierzy usługi LuckyTemplates, w szczególności naprawić sumy i sumy częściowe, jeśli utworzone miary nie dają początkowo właściwych wyników. Możesz obejrzeć pełny film tego samouczka na dole tego bloga.
Są dwa powody, dla których chciałem zająć się tym problemem. Jednym z nich jest to, że zdarza się to dość często. Jest to coś, co często pojawia się na . Widzimy to pytanie powtarzane w kółko w różnych formach. Drugim powodem jest to, że kiedy zajmujesz się tym w kontekście macierzy, jest to prawdopodobnie najtrudniejszy problem z rozbitymi sumami.
Jeśli nauczysz się, jak odnieść się do tego w macierzy, będziesz wiedział, co musisz zrobić, aby naprawić sumy na kartach, w tabelach i innych elementach wizualnych, w których sumy mogą się zepsuć. Zamierzam przejść przez systematyczny proces naprawiania sum macierzy LuckyTemplates, które są zepsute i naprawdę rozkładają je według składników.
W tym przykładzie miara była na tyle złożona, że przełamała sumy w dość spektakularny sposób. Chciałem zacząć od naprawdę zepsutych sum, aby pokazać, jak naprawić nawet najgorsze problemy z zepsutymi sumami.
Spis treści
Niepoprawne sumy w macierzy usługi LuckyTemplates
Przyjrzyjmy się kontekstowi środków w tym przykładzie. Po pierwsze, mamy miarę o nazwie Spread Revenue , która jest gałęzią Całkowitego przychodu z okazji i Lookup Scaling Factor .
Całkowity przychód z okazji to po prostu prosta miara , podczas gdy Lookup Scaling Factor to bardziej skomplikowane, wielokryterialne Lookup, które opieramy na szeregu warunków filtrowania.
To tylko przykład sposobu, w jaki sumy mogą się zepsuć. Teraz, jeśli weźmiemy ten spread dochodowy i umieścimy go w polu macierzy, oto co się stanie (patrz poniżej).
Jak widać, wiersze bazowe obliczają poprawnie, ale wiersze sumaryczne nie. W wielu przypadkach, gdy masz sumy, sumy częściowe i sumy końcowe, usługa LuckyTemplates przynajmniej zgadnie. I często to przypuszczenie jest błędne i musisz poprawić sumy.
Ale w tym przypadku LuckyTemplates po prostu daje odpowiednik wzruszenia ramionami. Nie ma pojęcia, jakie powinny być te sumy. Nie ma nawet zgadywania. Po prostu oznacza je jako puste. Aby rozwiązać ten problem, musimy tutaj zbudować dodatkową logikę, która mówi usłudze LuckyTemplates, co ma robić w sumach wierszy, sumach kolumn i sumach końcowych.
W wielu przypadkach, gdy patrzysz na wiele warunków, możesz to zrobić jako zagnieżdżoną instrukcję Mamy jednak lepszą konstrukcję w usłudze LuckyTemplates, która znacznie ułatwia zrozumienie logiki, czyli instrukcję .
Naprawianie podsumowań macierzy usługi LuckyTemplates za pomocą logiki SWITCH TRUE
Mamy instrukcję SWITCH TRUE, która jest zbudowana od ogółu do szczegółu i chcę pokazać, dlaczego to nie działa. To, co robi instrukcja SWITCH TRUE, polega na tym, że przechodzi przez każdy z warunków. Wychodzi z pierwszego, który jest prawdziwy.
I tak w tym przypadku wychodzimy od generała. Mówi: „jeśli klasa zwierząt obejmuje stekowce, torbacze i łożyskowce, to otrzymuje etykietę ssaka”. W tym przykładzie są to jedyne trzy klasy ssaków. Jeśli to ssak, będzie to jeden z tych trzech typów.
Jeśli spojrzymy na to, co się stanie, dane nadejdą i przejdziemy do SWITCH TRUE. A jeśli jest to jedna z tych klas, staje się „ssakiem”. Oznacza to, że nigdy nie dojdziemy tutaj do tego kryterium torbacza lub tego, którego chcemy, czyli kangura, ponieważ to wszystko są ssaki. A więc, jeśli to stwierdzenie jest prawdziwe, to wyjdzie na zewnątrz.
Jeśli zdanie nie jest prawdziwe, to oba zdania nie będą prawdziwe. Przejdzie do stanu domyślnego, czyli nie ssaka. Więc zamiast budować od ogółu do szczegółu, musisz zbudować swoją instrukcję SWITCH TRUE od szczegółu do ogółu , a na końcu wszystko.
Jeśli cofniemy to do przykładu ustalania sum macierzy, to naprawdę to samo. A tutaj to szczegóły, które będą pierwszym stwierdzeniem w naszym PRZEŁĄCZNIKU PRAWDA. A potem mamy D jako chwyt. W środku mamy te dwa warunki B i C. B ma kontekst dla kolumny, ale nie dla wiersza, podczas gdy C ma kontekst dla wiersza, ale nie dla kolumny.
Przejdźmy teraz do Edytora tabelarycznego 3 (TE3), który jest obecnie moim ulubionym sposobem debugowania i zrozumienia miar.
Debugowanie za pomocą edytora tabelarycznego 3
Miarę tę nazywam (poniżej) Spread Revenue with Fixed Totals. Jest dość długi i wygląda jak skomplikowany język DAX, ale podzielę go według komponentów.
Mamy tutaj tylko dwie zmienne, które w zasadzie pobierają naszego krótkiego miesiąca i naszego okresu, a to określi kontekst. Następnie mamy wirtualną tabelę, która jest w zasadzie wirtualną wersją macierzy za pośrednictwem tej konstrukcji i .
Jeśli spojrzymy na to w zapytaniu języka DAX, zobaczysz, że zasadniczo tworzy ono każdą możliwą kombinację okresu i krótkiego miesiąca, co robi macierz.
W Edytorze tabelarycznym 3 istnieje inny sposób wizualizacji, zwany siatką przestawną. Tworzy wizualizację, która jest równa tej wizualizacji macierzy w usłudze LuckyTemplates.
Wracając do naszej miary w Expression Editor, musimy zbudować logikę, która tworzy pola podsumowań. I tak mamy instrukcję SWITCH TRUE z , w której sprawdzamy, czy istnieje kontekst w każdym z dwóch pól, w których potrzebujemy kontekstu.
Pierwszy warunek, który jest od najbardziej szczegółowego do najmniej szczegółowego, to warunek A, wiersze podstawowe. Tak więc, jeśli mamy kontekst dla Okresu i mamy kontekst dla Krótkiego miesiąca, to po prostu używamy miary Spread Revenue, ponieważ dawało to prawidłowe wyniki w tych wierszach danych.
Teraz musimy zbudować logikę dla B, gdzie mamy kontekst w kolumnie. Mamy więc HASONEVALUE dla krótkiego miesiąca, ale nie dla okresu. Teraz chcemy wymusić logikę, wziąć wirtualną macierz i wziąć naszą miarę Spread Revenue, a następnie zsumować ją dla wszystkich wartości okresu.
Następną rzeczą, którą mamy, jest odwrotna strona, gdzie mamy HASONEVALUE w okresie, ale nie w krótkim miesiącu. Bierzemy teraz wirtualnej tabeli (miara spreadu przychodów) i sumujemy ją przez wszystkie krótkiego miesiąca.
I w końcu mamy miarę typu catch-all, czyli jeśli nie mamy kontekstu w żadnym z dwóch, to po prostu bierzemy całkowitą sumę wirtualnej tabeli.
Teraz, jeśli przeniesiemy naszą miarę Spread Revenue with Fixed Totals do pól i umieścimy ją w wartościach, otrzymamy odpowiednie sumy dla sum wierszy, sum kolumn i sum końcowych. Logika SWITCH TRUE przechodzi i narzuca całą logikę, której potrzebujemy, aby uzyskać prawidłowe sumy.
Jak tworzyć unikalne sumy częściowe w tabelach usługi LuckyTemplates
Naprawianie nieprawidłowych sum przy użyciu miar języka DAX w usłudze LuckyTemplates
Korzystanie z zaawansowanej logiki w usłudze LuckyTemplates w celu poprawienia sum
Wniosek
Na tym blogu pokazałem, jak naprawić nieprawidłowe sumy w macierzy usługi LuckyTemplates. Jest to konstrukcja, którą można nałożyć na stół lub kartę, w której buduje się wirtualną logikę dla podstawowych wierszy, która zazwyczaj będzie działać, jeśli masz poprawną miarę. A potem po prostu narzuć logikę, której potrzebujesz, aby wymusić odpowiednią sumę.
Wygląda na skomplikowany, ale zdecydowanie pomocny. Mam nadzieję, że to wszystko jest jasne. Możesz obejrzeć pełny samouczek wideo poniżej i sprawdzić łącza, aby uzyskać więcej powiązanych treści.
Wszystkiego najlepszego!
W tym samouczku omówimy pakiet dplyr, który umożliwia sortowanie, filtrowanie, dodawanie i zmianę nazw kolumn w języku R.
Odkryj różnorodne funkcje zbierania, które można wykorzystać w Power Automate. Zdobądź praktyczne informacje o funkcjach tablicowych i ich zastosowaniu.
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
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.
Z tego samouczka języka kodowania DAX dowiesz się, jak używać funkcji GENERUJ i jak dynamicznie zmieniać tytuł miary.
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.
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.
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ł.
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.