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.
Będziemy kontynuować naszą serię dotyczącą planowania i wdrażania projektów usługi LuckyTemplates. Tym razem będziemy omawiać projektowanie zestawów danych , profilowanie i tryby . Zapoznaj się z pierwszą częścią naszej serii planowania projektów, która dotyczy trybów wdrażania , oraz drugą, która mówi o wykrywaniu i przetwarzaniu .
Spis treści
Projekt zestawu danych do wdrożenia projektu LuckyTemplates
Porozmawiajmy o procesie projektowania zestawu danych i omówmy macierz magistrali hurtowni danych , która jest narzędziem używanym od jakiegoś czasu.
Projektowanie zestawów danych usługi LuckyTemplates jest podobne do projektowania hurtowni danych. Tak więc zarówno zestawy danych, jak i hurtownie danych mają podobne koncepcje, takie jak tabele faktów i wymiarów, schematy gwiaździste, powoli zmieniające się wymiary, szczegółowość tabeli faktów i lokalne klucze informacyjne do budowania relacji między tabelami.
4 kroki do projektowania zestawu danych
Proces projektowania zestawu danych składa się z czterech kroków: wybierz proces biznesowy , zadeklaruj ziarno swoich tabel faktów, określ wymiary , a następnie zdefiniuj fakty .
Wybierz proces biznesowy.
W pierwszym kroku każdy proces biznesowy jest reprezentowany przez tabelę faktów ze schematem gwiaździstym relacji wiele do jednego z wymiarami.
Podczas procesu odkrywania lub zbierania wymagań trudno jest skupić się na pojedynczym procesie biznesowym w izolacji, ponieważ użytkownicy regularnie analizują wiele procesów biznesowych jednocześnie.
Anty-wzorzec, którego należy unikać we wdrażaniu usługi LuckyTemplates
Typowym antywzorcem (który jest odpowiedzią na powtarzający się problem, który jest generalnie nieskuteczny i potencjalnie przynosi efekt przeciwny do zamierzonego), którego chcesz uniknąć w projektach usługi LuckyTemplates, jest opracowywanie zestawów danych dla konkretnych projektów lub zespołów, a nie dla procesów biznesowych .
Na przykład opracowanie zestawu danych wyłącznie dla zespołu marketingowego i innego zestawu danych dla organizacji sprzedaży. Takie podejście w naturalny sposób prowadzi do marnowania zasobów, ponieważ te same dane dotyczące sprzedaży są dwukrotnie przeszukiwane i odświeżane w obu zestawach danych. Będą one również zużywać zasoby pamięci masowej w usłudze LuckyTemplates.
oto niektóre z powodów, dla których warto przejść przez dobry proces projektowania zestawu danych. Izolowane podejście prowadzi do problemów z zarządzaniem i kontrolą wersji, ponieważ zestawy danych mogą zawierać odmiany i przekształcenia.
Chociaż analityczne potrzeby użytkowników lub zespołów są priorytetem projektów usługi LuckyTemplates, ważne jest również zaplanowanie trwałych rozwiązań, które ostatecznie można udostępniać między zespołami.
Zadeklaruj ziarno.
Ziarno tabel faktów ostatecznie obejmuje poziom szczegółowości dostępny dla zapytań analitycznych, a także ilość danych, do których można uzyskać dostęp.
Zatem wyższe ziarno oznacza więcej szczegółów, podczas gdy niższe ziarno oznacza mniej szczegółów. Przykładem tego jest sytuacja, w której chcesz uzyskać poziom wiersza zamówienia sprzedaży lub jeśli chcesz, aby projekt zawierał tylko poziom podsumowania każdego zamówienia sprzedaży i nie przechodził do konkretnych produktów, które zostały zamówione w ramach tej sprzedaży.
Czasami to ziarno może się różnić w zależności od ram czasowych. Natknąłem się na wielu klientów, którzy chcieli bardzo szczegółowych tabel faktów za bieżący kwartał, ale w przypadku poprzednich kwartałów wystarczyło im wiedzieć, jaka była łączna sprzedaż w tym kwartale.
W tym kroku chcesz określić, co reprezentują poszczególne wiersze różnych procesów biznesowych . Na przykład każdy wiersz tabeli faktów sprzedaży z naszej hurtowni danych reprezentuje wiersz zamówienia sprzedaży od klienta.
I odwrotnie, wiersze planu sprzedaży i marży zostaną zagregowane w miesiącu kalendarzowym, podkategorii produktów i regionie obszaru sprzedaży. więc w tym przypadku masz dwie różne tabele faktów i dwa różne ziarna. jeśli chcesz porównać te dwa elementy, będzie to wymagało pewnych prac związanych z modelowaniem danych.
Określ wymiary.
Wymiary są tylko naturalnym produktem ubocznym słojów wybranych na poprzednim etapie projektowania.
Tak więc pojedynczy przykładowy wiersz z tabeli faktów powinien jasno wskazywać wymiary podmiotu biznesowego związane z danym procesem, np. klient, który zakupił indywidualny projekt, produkt w określonym dniu io określonej godzinie. Tabele faktów reprezentujące niższe ziarna mają mniej wymiarów.
Na przykład tabela faktów reprezentująca poziom nagłówka zamówienia zakupu może identyfikować dostawcę, ale nie pojedynczy zakup produktu od dostawcy. więc w takim przypadku nie potrzebujesz uwzględnienia kategorii produktu ani wymiaru podkategorii produktu.
Zdefiniuj fakty.
Fakty reprezentują kolumny liczbowe zawarte w tabelach faktów. Tak więc, podczas gdy kolumny wymiarów z kroku 3 są używane do relacji, kolumny faktów są używane w miarach zawierających logikę agregacji, takich jak suma kolumny ilości lub średnia kolumny ceny.
Macierz magistrali danych do wdrażania projektów LuckyTemplates
Macierz magistrali hurtowni danych jest podstawą architektury hurtowni danych Ralpha Kimballa, która zapewnia stopniowe i zintegrowane podejście do projektowania hurtowni danych.
Architektura, którą tu widzisz, pochodzi z trzeciego wydania The Data Warehouse Toolkit autorstwa Ralpha Kimballa. Pozwala na skalowalne modele danych, których wiele zespołów lub funkcji biznesowych często potrzebuje, aby uzyskać dostęp do tych samych procesów biznesowych i wymiarów.
Przydatne jest posiadanie macierzy magistrali hurtowni danych. po jego wypełnieniu dowiesz się, czy istnieją inne zestawy danych zawierające podobne tabele faktów i tabele wymiarów w Internecie. sprzyja to ponownemu wykorzystaniu projektu i poprawia komunikację w ramach projektu.
Tak więc każdy wiersz odzwierciedla ważny i powtarzający się proces biznesowy, taki jak miesięczne zamknięcie księgi głównej. każda kolumna reprezentuje jednostkę biznesową, która może odnosić się do jednego lub kilku procesów biznesowych, podczas gdy zacienione wiersze reprezentują proces biznesowy, który jest uwzględniany w projekcie.
Profilowanie danych na potrzeby implementacji usługi LuckyTemplates
po zidentyfikowaniu ziarna i zakończeniu czteroetapowego procesu projektowania zestawu danych należy natychmiast przeprowadzić analizę techniczną danych źródłowych w postaci tabel faktów i wymiarów .
Metadane techniczne, w tym diagramy baz danych i wyniki profilowania danych, są niezbędne na etapie planowania projektu.
Te informacje służą do zapewnienia, że zestaw danych usługi LuckyTemplates odzwierciedla zamierzone definicje biznesowe i jest oparty na solidnym i zaufanym źródle.
Tak więc trzy to trzy różne sposoby zbierania informacji o profilowaniu, co powinno być pierwszym krokiem, który ludzie zrobią po wyjściu z procesu projektowania.
Usługi integracji SQL Server
Można to zrobić na kilka sposobów. Jedną z metod jest użycie zadania profilowania danych w ramach pakietu SQL Server Integration Services (SSIS).
Zadanie profilowania danych wymaga połączenia ADO.NET i może zapisać swoje dane wyjściowe do pliku XML lub zmiennej SSIS.
W tym przykładzie dane źródłowe ADO.NET to hurtownia danych AdventureWorks, baza danych i serwer SQL, a miejscem docelowym jest plik XML.
Tak więc po wykonaniu zadania plik XML można odczytać za pomocą przeglądarki profili danych serwera SQL. Możesz zobaczyć wyniki w postaci liczby zerowej i procentowej liczby zerowej.
Studio DAX
Innym sposobem profilowania danych jest DAX Studio. musisz rzeczywiście pobrać dane do zestawu danych LuckyTemplates, przechodząc do DAX Studio, przejdź do karty zaawansowane i uruchom VertiPaq Analyzer .
Pokaże ci ten sam rodzaj informacji na temat liczności twoich kolumn, dzięki czemu będziesz wiedzieć, które z nich zajmują najwięcej miejsca w twoim modelu danych. zawiera wszystkie różne statystyki dotyczące danych.
Pulpit LuckyTemplates
profilowanie danych jest również dostępne w Power Query w programie LuckyTemplates Desktop. jeśli przejdziesz do karty Widok , możesz włączyć takie elementy, jak jakość kolumn, rozkład kolumn i profil kolumn. Przynajmniej dla pierwszych tysięcy wierszy można zobaczyć informacje, takie jak błędy, wartości zerowe, średnie i odchylenia standardowe.
Planowanie zestawu danych na potrzeby wdrożenia usługi LuckyTemplates
Po sprofilowaniu danych źródłowych i ocenie pod kątem wymagań określonych w czteroetapowym procesie projektowania zestawu danych zespół BI może dalej analizować opcje implementacji zestawu danych.
W prawie wszystkich projektach LuckyTemplates, nawet tych ze znacznymi inwestycjami w dane przedsiębiorstwa, hurtownię, architekturę oraz narzędzia i procesy ETL, potrzebny jest pewien poziom dodatkowej logiki, integracji lub transformacji, aby poprawić jakość i wartość danych źródłowych.
Etap planowania zestawu danych określa, w jaki sposób rozwiązywane są zidentyfikowane problemy z transformacją danych w celu obsługi zestawu danych. Ponadto zespół projektowy musi określić, czy opracować zestaw danych w trybie importu , zestaw danych zapytania bezpośredniego czy złożony zestaw danych .
Aby wyjaśnić proces planowania zestawu danych, ten diagram identyfikuje różne warstwy magazynu danych i zestawu danych usługi LuckyTemplates, w których można zaimplementować transformację i logikę biznesową.
w niektórych projektach wymagana jest minimalna transformacja i można ją łatwo włączyć do zestawu danych power BI. Na przykład, jeśli do tabeli wymiarów potrzebnych jest tylko kilka dodatkowych kolumn i istnieją proste wskazówki dotyczące sposobu obliczania tych kolumn, dział IT może zdecydować się na zaimplementowanie tych przekształceń w ramach zapytań zaawansowanych M, zamiast poprawiać hurtownię danych.
Jeśli pozwoli się utrzymać znaczną lukę między potrzebami BI a korporacyjnym magazynem danych, tworzenie i utrzymywanie zestawów danych usługi LuckyTemplates stanie się bardziej złożone.
Projektanci zestawów danych powinni regularnie analizować i informować o implikacjach zestawów danych, jeśli występuje wyższy poziom złożoności.
Jeśli jednak wymagana logika transformacji jest złożona lub rozbudowana i obejmuje wiele połączonych operacji, filtrów wierszy i zmian typu danych, dział IT może zdecydować się na wdrożenie niezbędnych zmian w hurtowni danych w celu obsługi nowego zbioru danych i przyszłych projektów BI.
Na przykład tabela pomostowa i procedura magazynu SQL mogą być potrzebne do obsługi, poprawiania i aktualizowania procesu lub może być potrzebne utworzenie indeksu w celu poprawy wydajności zapytań dla zestawów danych DirectQuery.
Wybór trybu zbioru danych
Kolejnym, ale ściśle powiązanym krokiem planowania zestawu danych jest wybór między domyślnym trybem importu, trybem DirectQuery/trybem na żywo lub trybem złożonym.
W niektórych projektach jest to prosta decyzja, w przypadku której tylko jedna opcja jest wykonalna lub realistyczna przy znanych wymaganiach, podczas gdy inne projekty wymagają szczegółowej analizy zalet i wad każdego projektu.
Jeśli więc źródło danych jest uważane za powolne lub źle przystosowane do obsługi dużej liczby zapytań analitycznych, to zestaw danych w trybie importu jest bardzo prawdopodobną opcją.
Podobnie, jeśli niezbędna jest widoczność źródła danych w czasie zbliżonym do rzeczywistego, jedyną opcją do osiągnięcia tego celu jest tryb DirectQuery lub tryb na żywo. tryb DirectQuery i tryb na żywo są do siebie bardzo podobne. Obie metody nie przechowują danych w samym zestawie danych i obie wysyłają zapytania bezpośrednio do systemów źródłowych w celu pobrania danych na podstawie akcji użytkownika. Mamy teraz tryb DirectQuery dla zestawów danych usługi LuckyTemplates i tryb DirectQuery dla usług Analysis Services.
Niektóre pytania, które należy zadać przy wyborze trybów zestawu danych
Oto kilka pytań, które należy zadać przy podejmowaniu decyzji, którego trybu użyć. czy istnieje jedno źródło dla naszego zbioru danych? Jeśli nie ma jednego źródła, w przeszłości nie można było używać źródła DirectQuery/Live.
Mimo że mamy teraz zestawy danych w trybie złożonym, nadal warto zadać pytanie na początku, ponieważ jeśli nie ma jednego źródła, będzie to import lub złożenie.
Jeśli dostępna jest opcja źródła DirectQuery/Live, czy źródło obsługuje zapytania analityczne? Jeśli pracujesz z miliardami lub bilionami wierszy, być może zestaw danych w trybie importu nie jest wykonalny i będziesz musiał przejść do trybu DirectQuery lub trybu złożonego, aby upewnić się, że zestaw danych jest użyteczny.
Jeśli źródło DirectQuery/Live jest w stanie obsłużyć obciążenie, czy połączenie DirectQuery/Live jest bardziej wartościowe niż wydajność i elastyczność zapewniane przez model importu?
Wniosek
Ten post podsumowuje tę serię dotyczącą planowania projektów usługi LuckyTemplates. Myślę, że są to podstawowe kroki dla każdego projektu usługi LuckyTemplates, nad którym pracujesz. Te kroki są ważne podczas przeprowadzania analizy due diligence, zwłaszcza w środowisku analizy biznesowej przedsiębiorstwa.
Wszystkiego najlepszego,
Grega Decklera
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.