Ludzkość wykorzystuje mapy już od wieków. Niektórzy badacze sądzą, że pierwsze prymitywne mapy pojawiły się wcześniej niż pismo. Już ludy pierwotne posługiwały się rysunkami przedstawiającymi najbliższą okolicę. W starożytności sporządzano plany miast Babilonii. Fenicjanie i Kartagińczycy stworzyli liczne, niestety nie zachowane do dziś, mapy żeglarskie. Jest to naturalnie najlepsza możliwość pokazania danych geograficznych – czyli takich, które mają odniesienie w przestrzeni.
O cyklu „Raporty na mapach w Excel PowerView”
Artykuł stanowi pierwszą część cyklu w którym szczegółowo opisujemy wykorzystanie mapy w programie PowerView. Poza poniższym artykułem, na ten temat można przeczytać także w następujących tekstach należących do tej serii:
Raporty na mapach w Excel PowerView (cz. 2) – Jak stworzyć wykres bąbelkowy z pomocą współrzędnych?
Raporty na mapach w Excel PowerView (cz. 3) – Kartodiagram kołowy i stosowanie hierarchii na mapie
System informacji geograficznej
Do tej pory nie było możliwym zamieszczenie map oraz ich analizowanie w nieprzygotowanym do tego arkuszu Excela. Teraz – co prawda w ograniczonym stopniu , ale jednak – jest to możliwe. Dzięki temu, że PowerView ma w sobie tą opcję, możemy powiedzieć, że zawiera w sobie elementy GIS – Sytemu Informacji Geograficznej (ang. Geographic Information System). Zgodnie z definicją, system taki służy do wprowadzania, gromadzenia, przetwarzania oraz wizualizacji danych geograficznych, którego jedną z funkcji jest wspomaganie procesu decyzyjnego.
Tworzenie mapy
Abyśmy mogli przedstawić jakąś wartość na mapie, musi ona mieć zdefiniowane położenie w przestrzeni geograficznej. W PowerView możemy określić położenie na kilka sposobów – poprzez nazwę własną (np. miasta, województwa, kraje), dokładny adres oraz współrzędne. Więcej na ten temat w dalszej części tego tekstu. Załóżmy, iż naszym celem jest przedstawienie liczby klientów w poszczególnych miastach. W pierwszej kolejności tworzymy tabelę z interesującymi nas danymi, a następnie, mając ją zaznaczoną, klikamy PROJEKT -> Mapa:
W zakładce Pola programu PowerView pojawi się zestaw obszarów charakterystycznych dla mapy. Program najczęściej sam przyporządkuje dobre kolumny do odpowiednich obszarów, jednakże czasem użytkownik musi ręcznie poprawić ich położenie.
Utworzona w ten sposób mapa będzie wyglądała następująco:
Kolor bąbelków zależy oczywiście od wybranego motywu.
Różne sposoby lokalizacji bąbelka
Jak już wcześniej wspomnieliśmy – istnieje kilka różnych sposobów lokalizacji takiego bąbelka. Poniżej omówimy niektóre z nich.
a) Nazwa miasta
Najprostszym jest wskazanie miasta – wtedy bąbelek utworzy się w jego centrum. Należy jednak zwrócić uwagę na to, czy dane którymi dysponujemy posiadają polskie znaki. Ich brak może być przyczyną drobnych pomyłek – przykładowo, miejscowość Koło znajduje się w województwie wielkopolskim:
Istnieje miasto o bliźniaczo podobnej nazwie – Kolo. Jednak znajduje się w nieco innej części świata – mianowicie w Afryce, w Nigrze.
Widzimy więc, iż czasem pomyłka o jedną literę może kosztować tysiące kilometrów. Co ciekawe, czasem PowerView umieszcza miejscowość KOLO tam, gdzie znajduje się polska miejscowość KOŁO – program jest pod tym względem nieprzewidywalny i w razie jakichkolwiek wątpliwości użytkownik powinien skontrolować wynik. Zdarza się jednak, iż istnieją dwa lub więcej miasta (lub jednostki administracyjne) o tej samej nazwie – nie mamy wtedy żadnej możliwości zmiany miejsca położenia bąbelka. W takich wypadkach jedynym rozwiązaniem jest zdefiniowanie współrzędnych – o czym w podpunkcie d)
Uwaga: Po najechaniu kursorem na bąbelek wyświetlają się informacje na temat danych jakie reprezentuje – jest to jeden z typów interakcji, zwany Details on demand
b) Nazwa własna
województwa/powiatu/kraju/kontynentu itd. PowerView nie ma też żadnego problemu z przypisaniem odpowiednich lokalizacji polskim województwom:
Podobnie ma się sprawa z powiatami:
Oczywiście można także przypisać wartości różnym krajom:
A także kontynentom:
Wszystko to jest zasługą mapy Bing, która jest naturalnie produktem korporacji Microsoft. Podobnie jak Google Maps, zawiera ona mnóstwo danych dzięki czemu możliwe jest właściwe zlokalizowanie wielu miejsc na świecie. Nie powinno być żadnych problemów z wyszukaniem jakiejkolwiek jednostki podziału administracyjnego w jakimkolwiek kraju
c) Adres
Aby skorzystać z pozycjonowania względem adresu musimy posiadać wszelkie informacje – a więc miasto, ulicę oraz numer budynku – w jednej kolumnie. Umieszczamy ją w obszarze Lokalizacja:
Dzięki temu na mapie uzyskamy szczegółowość na poziomie budynków – przekonamy się o tym, przybliżając się do dowolnego bąbelka. – na przykład Gdańska:
Niestety podczas dalszej analizy mapy ujawniają się też jej wady – z niewiadomych powodów mapy Bing nie potrafią zlokalizować niektórych adresów. Wykorzystajmy Gdańsk do pokazania tego zjawiska – na terenie miasta jest zlokalizowanych pięć bąbelków przedstawiających sześciu klientów:
Tymczasem w naszej tabeli znajdują się dane ośmiu klientów:
Jak się okazuje, program nie jest w stanie zlokalizować ulic: Bysewskiej, Magnackiej, Reja. Podobnie rzecz przedstawia się w innych miastach – na przykład w Toruniu, Wrocławiu czy Gdyni. Z tego powodu geokodowania po adresach należy używać z ostrożnością – dobrze jest sprawdzić, czy w raporcie PowerView znajdują się wszystkie bąbelki.
Ćwiczenia praktyczne
W celu utrwalenia wiadomości na temat map w PowerView można wykonać poniższe ćwiczenia praktyczne. Dane na których opracowane są poniższe przykłady można znaleźć w pliku Excela znajdującym się pod tekstem. W pierwszej kolejności tworzymy w PowerView tabelę, w której będą dane odnoszące się do przestrzeni geograficznej. Z listy pól programu PowerView rozwijamy tabelę „Klienci” i wybieramy obiekty miasta oraz Nazwa klienta. Klikamy na trójkącik koło napisu Nazwa klienta i zmieniamy wartość z Nie sumuj na Liczność (unikatowe). Dzięki temu w tabeli nie będą wyświetlane nazwiska klientów, lecz ich liczba w poszczególnych miastach.
Teraz pozostało nam tylko przełączenie wizualizacji na mapę i nasz pierwszy kartodiagram jest gotów. Aby tego dokonać, należy przy zaznaczonej tabeli kliknąć Projekt ->Przełączanie Wizualuzacji -> Mapa:
Efekt naszych działań powinien być taki sam jak na poniższym obrazku:
Do stworzenia naszej wizualizacji wykorzystaliśmy tylko kolumnę Miasto, w tabeli w PowerPivot mamy jednak dużo więcej danych – ulicę oraz numer domu/mieszkania. Możemy je wykorzystać do dokładniejszego zlokalizowania bąbelków na mapie. W tym celu musimy najpierw w PowerPivot w tabeli Klienci przygotować kolumnę z przyjaznym dla programu formatem adresu, który wygląda w następujący sposób:
Miasto ulica numer
Osiągnąć możemy to na dwa sposoby: Pierwszy z nich obejmuje wykorzystanie do tego funkcję CONCATENATE, łączące dwa ciągi tekstowe w jeden. Napotykamy dwa problemy:
- Funkcja obsługuje jedynie dwa ciągi tekstowe, podczas gdy my musimy połączyć trzy;
- Połączenie dwóch ciągów spowoduje złączenie się wyrazów bez spacji między nimi – w efekcie otrzymamy tekst typu MiastoUlica.
Rozwiązujemy je w następujący sposób: 1) W pierwszej kolejności wykorzystujemy funkcję CONCATENATE do stworzenia ciągu Miasto[spacja] oraz Ulica[spacja]. Ciąg tekstowy, który chcemy przyłączyć do wyrazu i który nie leży w żadnej kolumnie oznaczamy cudzysłowem: ”tekst”. Tak więc nasze funkcje będą wyglądały w następujący sposób:
=CONCATENATE([Miasto];” „)
=CONCATENATE([Ulica];” „)
2) Teraz łączymy przetworzone wyrazy, zagnieżdżając funkcje w kolejnej funkcji: W ten sposób otrzymujemy ciąg tekstowy Miasto[spacja]Ulica[spacja]
=CONCATENATE(CONCATENATE([Miasto];” „);CONCATENATE([Ulica];” „))
3)Zagnieżdżamy funkcję w sobie jeszcze raz, tym razem dodając numer domu po wyrazie ulicy. Ostatecznie nowo stworzona kolumna będzie zawierała funkcję: Tak to powinno wyglądać w naszej tabeli Klienci:
=CONCATENATE(CONCATENATE(CONCATENATE([Miasto];” „);CONCATENATE([Ulica];” „));[Numer])
Drugi sposób jest nieco prostszy – wykorzystujemy znak „&” który pełni podobną rolę co funkcja CONCATENATE, z tym że nie ma ograniczeń co do ilości łączonych tekstów. Tworząc wyrażenie:
=[Miasto]&” „&[Ulica]&” „&[Numer]
uzyskamy pożądany przez nas ciąg znaków oznaczających adres. Teraz wracamy do naszego raportu. W obszarze Lokalizacja zmieniamy obiekt Miasta na adres. Dzięki temu na mapie uzyskamy szczegółowość na poziomie budynków, tak jak opisaliśmy to wyżej w artykule. Co sądzicie o nowym sposobie wizualizacji danych w Excelu – mapach? Podzielcie się swoją opinią w komentarzach! Plik z przykładowymi danymi: mapa
powiem szczerze chętnie bym skorzystał z tej funkcji jednak mnie po prostu przerasta chyba 🙁 potrzebuję stworzyć kafelki wg kodów pocztowych , które beda odnosiły się do danej osoby fizycznej 🙂 nie wiem czy to jasne w każdym razie komunikat straszy mnie , ze zbyt duzo wartości etc….
Kafelki wg kodów pocztowych raczej nie są rekomendowane. Będzie ich zbyt dużo. Lepsze będą filtry.