Proces ETL z wykorzystaniem SAP Datasphere i SAP Analytics Cloud
Karolina Górecka, Konsultantka Business Intelligence
- 7 kwietnia 2023
- Trendy w SAP-ie
- 5 min
Dane są podstawą działania każdej firmy. To dzięki nim możemy podejmować kluczowe dla naszego przedsiębiorstwa decyzje, wpływając np. na zwiększenie produkcji, zmianę źródła dostaw czy rozbudowę sieci sklepów. Najczęściej takie statystyki widzimy, gdy analizujemy różnego rodzaju raporty, z których możemy szybko wyciągnąć konkretne wnioski. Abyśmy mogli skorzystać z takich raportów – w pierwszej kolejności dane muszą zostać odpowiednio przygotowane. W tym artykule postaram się wyjaśnić, jak wygląda ten proces.
Czym jest proces ETL?
Rysunek 1: Ogólny proces ETL
ETL (ang. Eksport, Transform, Load) to proces, w którym dane są pozyskiwane, przetwarzane oraz ładowane do pewnego docelowego miejsca. Ten szereg czynności możemy porównać do procesu przygotowania drinka – najpierw kompletujemy potrzebne składniki, następnie je mieszamy i wlewamy do naczynia. Moglibyśmy spożyć po kolei poszczególne komponenty, np. zjeść cukier i lód, wypić sok, a następnie alkohol, jednak pewnie szybko byśmy się rozczarowali, ponieważ składniki spożyte osobno smakują gorzej niż wymieszane razem i wlane do ładnego naczynia. Podobnie jest z tworzeniem raportu – przetworzone dane dają lepsze wyniki niż oryginalne.
W jednej bazie możemy przetwarzać tylko istniejące w niej dane, zaś wgrywanie do niej danych, które chcemy dołączyć, byłoby nieefektywne – tak samo jak mieszanie składników w kartonie po soku, jakiego użyliśmy do przygotowania drinka. Do takich celów zostały stworzone odpowiednie narzędzia. Są to systemy, w których można połączyć dane z wielu źródeł i przygotować je do analizy.
Pozyskiwanie danych
Pierwszym etapem w procesie ETL jest pozyskanie danych z wielu źródeł.
Często zdarza się, że istotne dla nas dane są umieszczone w różnych miejscach i przetrzymywane w nich w niezrozumiałej dla nas formie. Na przykład, zamiast nazwy, produkt w bazie danych jest identyfikowany przez ciąg znaków, takich jak KDP03545989. Pobierając dane z baz, napotykamy niekiedy na pola, które nie są dla nas istotne, takie jak np. numer maszyny produkującej dany przedmiot.
W celu pozyskania tylko ważnych dla nas informacji możemy skorzystać z widoków – wirtualnych tabel, które wskazują, z jakiego miejsca w bazie dane są pobierane oraz jakie przekształcenia są na nich wykonywane. Dane mogą również pochodzić z różnych źródeł, takich jak pliki CSV, Excel czy innych systemów. Po dokonaniu selekcji pobieramy potrzebne dane do systemu, w którym dokonujemy ich transformacji.
Transformacja
Na tym etapie łączymy ze sobą dane, czyścimy, filtrujemy, formatujemy i konwertujemy zgodnie z wymaganiami biznesowymi. Takie przekształcenia często są wykonywane w hurtowni czy narzędziu pozwalającym na przygotowywanie danych. Na tym etapie tworzona jest tabela, która stanowi podstawę do przeprowadzenia analizy.
Ładowanie danych
Ostatnim etapem jest wgranie przygotowanych danych do miejsca docelowego, np. końcowej bazy, odpowiedniego miejsca w hurtowni danych czy narzędzia analitycznego. Dane, na których będziemy przeprowadzać analizę, będą pobierane z miejsca, w które wgraliśmy je po transformacji.
Proces ETL na przykładzie SAP Datasphere i SAP Analytics Cloud
SAP posiada w swoim portfolio wiele rozwiązań wykorzystywanych w procesie ETL, w tym S/4HANA, BW/4HANA, SAP Datasphere, SAP Analytics Cloud, SAP Lumira i wiele innych. Decyzja, które z nich zostaną zastosowane w danym przedsiębiorstwie, zależy wyłącznie od przedstawicieli firmy. Chociaż wybór rozwiązania może wpłynąć na drobne różnice w procesie ETL, to główne etapy pozostaną niezmienione. Poniżej przedstawiamy przykładowy proces ETL z zastosowaniem wybranych narzędzi.
Rysunek 2: Proces ETL z wykorzystaniem SAP Datasphere i SAC
Wyobraźmy sobie, że jesteśmy właścicielami firmy, która wytwarza wiele rodzajów czekolad. Chcemy wiedzieć, ile czekolad wyprodukowaliśmy w lutym 2022 r. oraz w jakie miejsca zostały dostarczone. Produkcja jest tak duża, że wykorzystujemy do tego maszyny.
Każda maszyna zapisuje w bazie danych (Tabela 1) każdą wyprodukowaną tabliczkę czekolady. Informacje zawarte w tabeli w bazie danych obejmują unikalny identyfikator, ID produktu, datę produkcji, wagę oraz numer maszyny, która wytworzyła dany artykuł. Przykładowy zapis informacji o wytworzonej czekoladzie w bazie danych prezentuje się następująco:
Tabela 1 z informacjami o wyprodukowanych artykułach
TIMESTAMP | MACHINE NO | SERIAL NO | PRODUCT ID | WEIGHT |
2022-02-03 23:48:03 | TX05WM | 22020300052476 | CHB167938D | 100,00 |
2022-02-03 23:48:04 | TX05WM | 22020300052477 | CHB167938D | 100,00 |
2022-02-03 23:48:04 | TX06WM | 22020300052478 | CHB165958D | 100,00 |
Takie dane są dla nas niezrozumiałe, dlatego przed stworzeniem raportu musimy je przetworzyć. Pierwszym etapem tego procesu jest zebranie potrzebnych danych i przesłanie ich do hurtowni – w naszym przypadku jest nią SAP Datasphere. Potrzebujemy danych znajdujących się w trzech miejscach: tabeli z danymi produkcyjnymi (Tabela 1), tabeli, w której znajdują się nazwy produktów i ich ID (Tabela 2) oraz tabeli z informacją, gdzie został wysłany konkretny produkt (Tabela 3).
Przykładowy wygląd tabel został przedstawiony poniżej:
Tabela 2 z nazwami produktów
PRODUCT ID | NAME OF PRODUCT |
CHB167938D | Czekolada mleczna „Rajska przyjemność” duża |
CHB167938M | Czekolada mleczna „Rajska przyjemność” mała |
CHB165958D | Ciemna czekolada ze skórką pomarańczy duża |
Tabela 3 z miejscami wysyłki produktów
DATE | SERIAL NO | LOCATION | DESTINATION NAME | TYPE |
2022-04-14 | 22020300052476 | Warszawa | Restauracja „Polka” | Restauracja |
2022-04-18 | 22020300052477 | Kutno | FHU Jan Kowalski | Sklep |
2022-04-20 | 22020300052478 | Wrocław | Supermarket „Lemur” | Supermarket |
W naszym przypadku Tabele 1 i 2 znajdują się w jednej bazie, natomiast Tabela 3 jest ulokowana w innym miejscu. Przed wysłaniem danych z Tabel 1 i 2 możemy je przetworzyć na poziomie bazy danych, co da się wykonać przy pomocy pewnego widoku. Tym sposobem wybierzemy i prześlemy dalej tylko interesujące nas dane. Dzięki temu zabiegowi ograniczymy ilość danych, które zostaną przesłane do SAP Datasphere, co poskutkuje krótszym czasem przesyłania ich z jednego miejsca do drugiego. Tabela przekazana do hurtowni danych będzie się prezentować w następujący sposób:
Tabela 4 stworzona na podstawie Tabel 1 i 2
DATE | SERIAL NO | PRODUCT ID | NAME OF PRODUCT |
2022-02-03 | 22020300052476 | CHB167938D | Czekolada mleczna „Rajska przyjemność” duża |
2022-02-03 | 22020300052477 | CHB167938D | Czekolada mleczna „Rajska przyjemność” duża |
2022-02-03 | 22020300052478 | CHB165958D | Ciemna czekolada ze skórką pomarańczy duża |
2022-02-03 | 22020300052391 | CHB167938M | Czekolada mleczna „Rajska przyjemność” mała |
Nazwijmy ją Tabela 4. Tabele o numerach 3 oraz 4 wysyłamy do hurtowni, gdzie wykonywana jest transformacja.
Drugim etapem jest transformacja, którą wykonamy w SAP Datasphere. W naszym przypadku musimy jedynie połączyć dane z dwóch tabel, jednak to narzędzie pozwala na wiele więcej, np. na różnego rodzaju kalkulacje, formatowanie pól, zmianę nazw kolumn oraz ich dodawanie czy usuwanie.
Chcąc połączyć dane z dwóch tabel, musimy najpierw stworzyć miejsce, w którym zapiszemy przetworzone informacje. Takim miejscem będzie nowa tabela.
Do naszej analizy potrzebujemy daty produkcji, nazwy produktu, jego numeru seryjnego oraz informacji o miejscach, w które dane zostały wysłane. Aby połączyć wiadomości dotyczące jednego produktu z dwóch tabel, musimy znaleźć pewien klucz. Powinien on składać się z wartości występujących w obu tabelach, które chcemy skonsolidować oraz być unikalny dla każdego produktu. W naszym przypadku takie wartości znajdują się w kolumnach SERIAL NO – jest to unikalny numer dla każdej wyprodukowanej tabliczki czekolady. Na jego podstawie możemy połączyć dane z obu tabel. Tabela, która powstała w wyniku tej transformacji, prezentuje się w następujący sposób:
Tabela 5 stworzona na podstawie Tabel 3 i 4
PRODUCTION DATE | ID | PRODUCT NAME | LOCATION | DESTINATION NAME | DESTINATION TYPE |
2022-04-14 | 22020300052476 | Czekolada mleczna „Rajska przyjemność” Duża | Warszawa | Restauracja „Polka” | Restauracja |
2022-02-03 | 22020300052477 | Czekolada mleczna „Rajska przyjemność” Duża | Kutno | FHU Jan Kowalski | Sklep |
2022-02-03 | 22020300052478 | Ciemna czekolada ze skórką pomarańczy Duża | Wrocław | Supermarket „Lemur” | Supermarket |
Końcowym etapem procesu ETL jest przesłanie przetworzonych danych do miejsca ich wykorzystania. Po wczytaniu danych do SAP Analytics Cloud możemy przystąpić do ich analizy i przedstawienia wyników na wcześniej przygotowanych wykresach.
Podsumowując – wykorzystywanie narzędzi ETL jest dobrą praktyką w pracy z danymi. Podejście to wprowadza pewne reguły i zasady, które uporządkowują proces oraz usprawniają przepływ danych, dzięki czemu łatwiej i szybciej możemy otrzymać lepszej jakości informacje.
Chcesz integrować dane ze wszystkich firmowych systemów i aplikacji?
- On 07/04/2023
0 Comments