Excel jako baza danych cz.III - PowerPivot i budowanie relacji między tabelami
Wiemy już, jak możemy wykorzystać Excela i dodatek Power Query do zarządzania, scalania i łączenia danych. Dziś chcemy wejść poziom wyżej i zapoznać się z podstawami relacji i dodatkiem Power Pivot, żeby budować szybkie podsumowania danych w tabelach przestawnych.
To on daje nam funkcjonalności najbardziej zbliżone do „klasycznej” bazy danych. Zaczniemy jednak od najprostszego problemu do rozwiązania za pomocą Power Pivot – braku miejsca w Excelu. Excel ma trochę ponad milion wierszy, ale uwierz mi, że nie wszystkim to wystarcza – niektórzy mają miliony rekordów (wierszy) w swoich bazach danych. Poza tym, jeśli przechowujesz dane bezpośrednio w komórkach Excela (lub jako pliki .csv, .txt itp.), to taki plik zajmuje dużo miejsca.
Przygotowaliśmy pięć plików .csv z informacjami o sprzedaży w różnych krajach, które chcemy załadować do Modelu Danych Excela (dodatku Power Pivot) do pliku głównego (PodsumowanieSprzedaży.xlsx). Łącznie zajmują około 42 MB. Wszystkie znajdują się w jednym folderze. Z poprzedniego artykułu wiemy już, jak je wszystkie wczytać naraz za pomocą Power Query – musimy tylko wskazać folder, gdzie się znajdują.
Przy zestawie danych musimy jednak dodatkowo uważać, ponieważ mamy kolumnę z kodami pocztowymi, które mogą być źle zinterpretowane jako liczby, gdyż w niektórych krajach tak się je zapisuje. Dlatego musimy się upewnić, że kolumna Kod Pocztowy w naszym głównym zapytaniu (zmieniamy jej nazwę na fSprzedaż, później wytłumaczymy znaczenie ‘f’ na początku nazwy) oraz w przekształcaniu przykładowego pliku (Rysunek 1).
Zwracamy na to szczególną uwagę, gdyż mówimy o bazach danych, a ustalenie typu danych dla danego pola (kolumny) jest kluczowe pod względem efektywności ich działania i ilości miejsca zajmowanego przez nie na dysku twardym.
Dodawanie danych do modelu danych Power Pivot
Teraz możemy załadować zapytanie do modelu danych Excela, korzystając z polecenia Zamknij i załaduj do… z karty Narzędzia główne, żeby wybrać odpowiednie opcje w oknie ładowania do (Rysunek 2). Najważniejsze jest dla nas zaznaczenie pola wyboru (checkboxa) Dodaj te dane do modelu danych i odznaczenie Ładowania do tabeli, a Utwórz tylko połączenie.
Jeśli zaznaczymy Ładowanie do tabeli, to pojawi nam się komunikat o braku miejsca (Rysunek 3), ponieważ łącznie nasze pliki mają 1 174 321 wierszy, czyli więcej niż ma Excel w arkuszu.
Po zapisaniu plik Excela powinien zajmować około 4 MB, czyli 10 razy mniej niż łącznie pliki .csv. Wynika to ze sposobu zapisu danych w modelu danych, który często określa się mianem Columnar Database, czyli kolumnowa baza danych. W dużym uproszczeniu – im więcej powtarzających się wartości w kolumnach, tym lepiej model danych w Excelu je kompresuje.
Wykorzystałeś swój limit bezpłatnych treści
Pozostałe 81% artykułu dostępne jest dla zalogowanych użytkowników portalu. Zaloguj się, wybierz plan abonamentowy albo kup dostęp do artykułu/dokumentu.