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.
Pokażę ci, jak obliczyć dni robocze / dni robocze między dwiema datami, z wliczonymi świętami lub bez świąt. Jest to temat, który był wielokrotnie zadawany na .
Wierzę również, że będzie to świetny sposób na zamknięcie tej serii Time Intelligence, wiedząc, że obejmuje ona wiele innych elementów omówionych wcześniej. Elementy te obejmują między innymi tworzenie stołu świątecznego, tworzenie rozszerzonego stołu dat i korzystanie z funkcji Możesz obejrzeć pełny film tego samouczka na dole tego bloga.
Spis treści
Sposoby obliczania dni roboczych między dwiema datami
Omówię różne metody obliczania dni roboczych.
Excel pozwala użytkownikom obliczać dni robocze w prosty sposób za pomocą funkcji NETWORKDAYS . Jednak DAX nie ma takiej funkcji , więc omówię sposoby obejścia tego problemu.
Jednym ze sposobów na to jest użycie niektórych elementów z rozszerzonej tabeli dat.
Inną opcją jest podejście, które otrzymałem od Imke Feldmann z bloga thebiccountant.com. Stworzyła niestandardową funkcję NetworkDays, którą można wywołać bezpośrednio z Power Query , dzięki czemu proces jest znacznie szybszy i mniej skomplikowany.
Aby pokazać, jak działają te podejścia, użyję bardzo popularnego scenariusza.
Mam sto projektów, które zanonimizowałem.
Mam również datę rozpoczęcia i datę zakończenia dla każdego projektu.
Stworzyłem również prostą miarę Dni, które upłynęły . Zasadniczo jest to surowa liczba dni między każdą z dat rozpoczęcia i zakończenia . Użyłem do tego funkcji
Model danych jest bardzo prosty. Zawiera tabele dla dat i projektów .
Pokazuje również tabelę faktów, która zawiera identyfikator projektu , datę rozpoczęcia i datę zakończenia .
Dla celów porównawczych obliczyłem również NetworkDays ( ze świętami i bez) za pomocą Excela (nie power bi).
Oczywiście możesz zrobić to samo i wprowadzić dane z Excela. Ale celem jest tutaj użycie usługi LuckyTemplates do obliczenia liczby dni roboczych bez konieczności korzystania z programu Excel.
Obliczanie dni roboczych między datami przy użyciu języka DAX
Za każdym razem, gdy masz do czynienia z liczeniem dat, zawsze efektywne jest użycie funkcji w tabeli Daty.
Użyłem również DATESBETWEEN , aby zawęzić pole między datą początkową a datą końcową . Dodałem również IsWorkingDay , aby zastosować prostą logikę boolowską, że jeśli jest to dzień roboczy, powinien to być . Weekendy zwrócą .
Skończyłem to filtrem , aby wziąć pod uwagę kontekst fragmentatorów.
Jeśli chodzi o wersję z wakacjami, to jest ona bardzo podobna do miarki, którą przed chwilą omówiłem.
Jest to to samo wyrażenie używające funkcji DATESBETWEEN . Dodałem tylko i IsHoliday.
Ponownie użyłem funkcji ALLSELECTED na samym końcu.
Zobacz, co się stanie, gdy przeciągnę te dwa takty do mojej tabeli.
Zgodnie z oczekiwaniami Dni robocze ze świętami idealnie pasują do kolumny programu Excel ze świętami . To samo dotyczy kolumny Dni robocze bez dni wolnych, która jest zgodna z kolumną programu Excel bez dni wolnych .
Obliczanie dni roboczych za pomocą dodatku Power Query
Podejście, o którym mówi Imke Feldmann z bloga thebiccoountant.com, daje jeszcze łatwiejsze rozwiązanie podczas korzystania z Power Query.
Na swoim blogu o funkcji NETWORKDAYS podała kod M, który można wywołać w Power Query.
Po prostu skopiuj kod M z jej bloga.
Następnie przejdź do dodatku Power Query i w obszarze Nowe źródło otwórz Puste zapytanie.
Przejdź do Edytora zaawansowanego .
Następnie wklej cały kod na stronę. Upewnij się, że masz zielony znacznik wyboru, aby upewnić się, że nie ma błędów w kodzie.
Po wywołaniu przeniesie Cię do tego szablonu.
Tak naprawdę nie ma znaczenia, co tutaj wpiszę, więc po prostu przejdę od 1 stycznia 2018 do 1 stycznia 2020.
Będzie to teraz widoczne pod moimi zapytaniami. Zamierzam zmienić nazwę, aby ułatwić nam późniejsze korzystanie.
Nazwę go Networkdays .
Teraz mogę zacząć używać tego zapytania. Po prostu przejdę do moich danych .
Następnie w obszarze Dodaj kolumnę kliknę opcję Wywołaj funkcję niestandardową .
Zamierzam zadzwonić do tego NWD i użyć funkcji Networkdays .
Następnie wybiorę datę rozpoczęcia i datę zakończenia z poniższych menu rozwijanych.
Daje mi to możliwość zmiany początku tygodnia z poniedziałku na coś innego.
W tym celu poniedziałek jest w porządku, więc zostawię to tak, jak jest. Następnie kliknę OK.
Jak widać, natychmiast oblicza wartość NetworkDays odpowiadającą kolumnie Excel NetworkDays .
Teraz pozwól mi to poprawić, abym mógł wykluczyć święta. Muszę tylko wejść na mój świąteczny stół.
Jeśli pamiętasz z szablonu, tabela świąt jest tutaj trzecim parametrem.
Po prostu użyję tutaj tabeli Dni wolne i odniosę się do kolumny Data.
Kliknę tutaj znacznik wyboru, aby zastosować te zmiany.
[00:11:00]
Teraz został zaktualizowany i usunął wszystkie święta. Jest dokładnie taki sam, jak kolumna programu Excel NetworkDays bez dni wolnych od pracy.
Po prostu zmienię nazwę tej kolumny NWD Brak wakacji.
Dodawanie liczb dni roboczych i weekendów do tabeli dat: Technika analizy czasu w usłudze LuckyTemplates
Prezentacja liczby dni roboczych w usłudze LuckyTemplates przy użyciu języka DAX
Obliczanie średniej w usłudze LuckyTemplates: Wyodrębnianie wyników z dnia tygodnia lub weekendu przy użyciu języka DAX
Wniosek
Zobaczysz, że oba podejścia, których użyłem, bardzo się od siebie różniły, ale oba dały te same wyniki. To tylko pokazuje, że naprawdę istnieje wiele sposobów maksymalizacji usługi LuckyTemplates, nawet jeśli konkretna funkcja programu Excel, której szukasz, nie ma bezpośredniego odpowiednika.
To był świetny bieg dla serii Time Intelligence. Podobała mi się praca z Melissą Dekorte, aby pokazać wam te wszystkie wspaniałe scenariusze Time Intelligence.
Jedną z rzeczy, które naprawdę chcę tutaj podkreślić, jest to, że DAX jest najciekawszą częścią LuckyTemplates. Ale gdy opanujesz tajniki usługi LuckyTemplates, zaczniesz doceniać inne rozwiązania, które w ogóle nie obejmują języka DAX. Ostatnie podejście, które pokazałem powyżej, a także wskazówki, które udostępniłem w poprzednich filmach na Time Intelligence, potwierdzają ten fakt.
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.