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.

Dostęp możliwy dla zalogowanych użytkowników serwisu. Jeśli posiadasz aktywną prenumeratę przejdź do LOGOWANIA. Jeśli nie jesteś jeszcze naszym Czytelnikiem wybierz najkorzystniejszy WARIANT PRENUMERATY.

Zaloguj Zamów prenumeratę
Załączniki do artykułu
Drukuj

Zobacz również

Archiwum