{"id":8973,"date":"2020-03-31T15:41:33","date_gmt":"2020-03-31T13:41:33","guid":{"rendered":"https:\/\/sii.pl\/blog\/?p=8973"},"modified":"2025-05-07T11:18:06","modified_gmt":"2025-05-07T09:18:06","slug":"power-bi-w-analizie-danych-dotyczacych-pandemii","status":"publish","type":"post","link":"https:\/\/sii.pl\/blog\/power-bi-w-analizie-danych-dotyczacych-pandemii\/","title":{"rendered":"Power BI w analizie danych dotycz\u0105cych pandemii COVID-19"},"content":{"rendered":"\n<p>Nasze ostatnie analizy w Centrum Kompetencyjnym Business Intelligence dotycz\u0105 bardzo aktualnego tematu, kt\u00f3ry za razem jest bardzo interesuj\u0105cy. Ka\u017cdy z nas na pewno \u015bledzi na bie\u017c\u0105co zestawienia zara\u017ce\u0144 COVID-19. Zatem zapraszamy Was do skorzystania z naszego raportu i analizy bie\u017c\u0105cej sytuacji, wykorzystuj\u0105c dane z wiarygodnych \u017ar\u00f3de\u0142.<\/p>\n\n\n\n<p>Nasze dane historyczne pochodz\u0105 z repozytorium Github tworzonego przez Johnson Hopkins University Center For System Science and Engineering (JHU CSSE). Szczeg\u00f3\u0142y na temat \u017ar\u00f3d\u0142a danych mo\u017cna znale\u017a\u0107 <a href=\"https:\/\/github.com\/CSSEGISandData\/COVID-19\" class=\"ek-link\" rel=\"nofollow\" >tutaj<\/a>. Dane z dw\u00f3ch ostatnich dni s\u0105 pobierane ze strony <a href=\"https:\/\/www.worldometers.info\/coronavirus\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Worldometer<\/a>, gdzie tak\u017ce na bie\u017c\u0105co podane s\u0105 \u017ar\u00f3d\u0142a agregowanych danych.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Interaktywny raport &#8211; pandemia COVID-19 &#8211;&nbsp;Jak analizowa\u0107 prezentowane dane?<\/h2>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/1.png\"><img decoding=\"async\" width=\"1547\" height=\"865\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/1.png\" alt=\"Widok raportu Intro\" class=\"wp-image-8978\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/1.png 1547w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/1-300x168.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/1-1024x573.png 1024w\" sizes=\"(max-width: 1547px) 100vw, 1547px\" \/><\/a><\/figure><\/div>\n\n\n\n<p>Raport <strong>Intro<\/strong> pokazuje najwa\u017cniejsze dane w skali ca\u0142ego \u015bwiata. Na mapie mo\u017cna zobaczy\u0107 najwa\u017cniejsze statystyki, rozw\u00f3j wirusa w czasie i przestrzeni. Ranking kraj\u00f3w wg wska\u017anika \u015bmiertelno\u015bci (Death Rate) lub wska\u017anika wyzdrowie\u0144 (Recovery Rate) oraz wg innych miar, kt\u00f3re mo\u017cna wybra\u0107 z listy Status of Cases. Warto\u015bci na mapie mog\u0105 by\u0107 przedstawione jako warto\u015bci absolutne lub jako ilo\u015b\u0107 przypadk\u00f3w na 100 tys. populacji w danym kraju.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/2.png\"><img decoding=\"async\" width=\"1546\" height=\"870\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/2.png\" alt=\"Widok raportu World Regions\" class=\"wp-image-8979\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/2.png 1546w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/2-300x169.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/2-1024x576.png 1024w\" sizes=\"(max-width: 1546px) 100vw, 1546px\" \/><\/a><\/figure><\/div>\n\n\n\n<p>Raport <strong>World Regions<\/strong> przedstawia rozprzestrzenie si\u0119 wirusa na poszczeg\u00f3lnych kontynentach. Na mapie pokazujemy tak\u017ce kolorami jak d\u0142ugo ju\u017c trwa epidemia, a wielko\u015b\u0107 okr\u0119gu pokazuje skal\u0119 zaka\u017cenia w zale\u017cno\u015bci od wybrania odpowiedniego statusu przypadku (Status of Cases) i typu miary.<\/p>\n\n\n\n<p>Wykresy s\u0142upkowe mo\u017cna eksplorowa\u0107 w d\u00f3\u0142 zaczynaj\u0105c od kontynentu, przez region do konkretnego kraju.<br>U\u017cywaj\u0105c suwaka z dat\u0105 na obydwu raportach mo\u017cna przegl\u0105da\u0107, jak sytuacja zmienia\u0142a si\u0119 w czasie.<\/p>\n\n\n\n<p>Na ka\u017cdym z wykres\u00f3w, gdzie mo\u017cna zaznaczy\u0107 kraj mo\u017cna klikaj\u0105c prawym przyciskiem myszy wybra\u0107 raport szczeg\u00f3\u0142owy dla danego kraju. U\u017cywamy do tego funkcjonalno\u015bci pi\u0119knie brzmi\u0105cej w j\u0119zyku polskim dr\u0105\u017cenie wskro\u015b? (Drillthrough). Naje\u017cd\u017caj\u0105c myszk\u0105 na kraj pojawia si\u0119 tak\u017ce etykieta narz\u0119dzia (tooltip) na kt\u00f3rym s\u0105 widoczne dodatkowe informacje wraz z wykresem zmian warto\u015bci w czasie wraz z 10 dniow\u0105 prognoz\u0105.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/italy.png\"><img decoding=\"async\" width=\"1155\" height=\"827\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/italy.png\" alt=\"Informacja dotycz\u0105ca W\u0142och\" class=\"wp-image-8999\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/italy.png 1155w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/italy-300x215.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/italy-1024x733.png 1024w\" sizes=\"(max-width: 1155px) 100vw, 1155px\" \/><\/a><\/figure><\/div>\n\n\n\n<p>Poni\u017cej raport szczeg\u00f3\u0142owy dla W\u0142och, kt\u00f3ry wy\u015bwietla si\u0119 po wybraniu dr\u0105\u017cenia wskro\u015b wybranego kraju.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/21.png\"><img decoding=\"async\" width=\"1510\" height=\"849\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/21.png\" alt=\"Raport szczeg\u00f3\u0142owy dla W\u0142och\" class=\"wp-image-9008\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/21.png 1510w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/21-300x169.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/21-1024x576.png 1024w\" sizes=\"(max-width: 1510px) 100vw, 1510px\" \/><\/a><\/figure><\/div>\n\n\n\n<p>Znajduj\u0105 si\u0119 na nim najwa\u017cniejsze statystyki i wykresy dla danego kraju. Mierniki w prawym g\u00f3rnym rogu pokazuj\u0105 ilo\u015b\u0107 przypadk\u00f3w w zale\u017cno\u015bci od wybranego statusu w por\u00f3wnaniu do maksymalnej liczby przypadk\u00f3w w regionie (Subregion), jako cel jest ustawiona \u015brednia w danym regionie.<\/p>\n\n\n\n<p>Epidemia koronawirusa zaczyna\u0142a si\u0119 w r\u00f3\u017cnych krajach w r\u00f3\u017cnym czasie, dlatego zale\u017ca\u0142o nam na pokazaniu rozwoju wirusa wg dni kiedy si\u0119 on zacz\u0105\u0142, poniewa\u017c na osi czasu krzywe by\u0142y przesuni\u0119te.<br>Po pierwszej analizie danych zauwa\u017cyli\u015bmy, \u017ce trzeba tak\u017ce uwzgl\u0119dni\u0107 czas, w kt\u00f3rym znacz\u0105ca liczba zara\u017conych pojawi\u0142a si\u0119 w tym samym czasie, poniewa\u017c istnia\u0142y kraje, w kt\u00f3rych pierwsze przypadki by\u0142y wykryte do\u015b\u0107 wcze\u015bnie i by\u0142y to osoby przyje\u017cd\u017caj\u0105ce z zewn\u0105trz. Zbudowali\u015bmy tak model aby mo\u017cna by\u0142o dynamicznie zmienia\u0107 liczb\u0119 przypadk\u00f3w od jakiej chcemy por\u00f3wnywa\u0107 kraje.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/22.png\"><img decoding=\"async\" width=\"1547\" height=\"864\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/22.png\" alt=\"Widok raportu Significant Days\" class=\"wp-image-9009\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/22.png 1547w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/22-300x168.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/22-1024x572.png 1024w\" sizes=\"(max-width: 1547px) 100vw, 1547px\" \/><\/a><\/figure><\/div>\n\n\n\n<p>W raporcie <strong>Significant Days<\/strong> mo\u017cemy por\u00f3wna\u0107 jak w danych krajach rozprzestrzenia si\u0119 wirus, a mo\u017ce dok\u0142adniej ile przypadk\u00f3w zosta\u0142o wykrytych. Je\u015bli pojawi\u0105 si\u0119 dane o ilo\u015bci test\u00f3w w danych krajach, warto b\u0119dzie doda\u0107 te dane do modelu.<\/p>\n\n\n\n<p>Polska jest tu szczeg\u00f3lnie wyr\u00f3\u017cniona (linia przerywana) \u017ceby\u015bmy mogli na bie\u017c\u0105co \u015bledzi\u0107, czy zamkni\u0119cie nas wszystkich w domach da\u0142o oczekiwany skutek i gdzie jeste\u015bmy w por\u00f3wnaniu do kraj\u00f3w, gdzie sytuacja jest ju\u017c dramatyczna. Jak wida\u0107 po 12 dniach od pierwszych 100 dni nie jest tak \u017ale. Obok wykresu liniowego jest tabelka z krajami znajduj\u0105cymi si\u0119 na wykresie w kolejno\u015bci od najwi\u0119kszej ilo\u015bci przypadk\u00f3w na koniec zaznaczonego okresu. Wykres mo\u017cna ogl\u0105da\u0107 w skali logarytmicznej lub liniowej. Dane mog\u0105 by\u0107 tak\u017ce przedstawione w warto\u015bciach absolutnych lub skorelowanych z populacj\u0105 w danym kraju (Per 100K Population), wtedy otrzymamy warto\u015bci podzielone przez 100 tys. populacji danego kraju.<\/p>\n\n\n\n<p>Na koniec dodali\u015bmy dwa raporty pokazuj\u0105ce dane w formie tabelarycznej. Raport <strong>Countries by day of epidemy<\/strong> pozwala por\u00f3wna\u0107 sytuacj\u0119 w jakiej znajdowa\u0142y si\u0119 poszczeg\u00f3lne kraje na konkretny dzie\u0144 trwania epidemii, gdzie mo\u017cna wyznaczy\u0107 od jakiej ilo\u015bci potwierdzonych zaka\u017ce\u0144 uznajemy jako pierwszy dzie\u0144 epidemii.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/23.png\"><img decoding=\"async\" width=\"1512\" height=\"850\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/23.png\" alt=\"Widok raportu Countries by day of epidemy\" class=\"wp-image-9010\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/23.png 1512w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/23-300x169.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/23-1024x576.png 1024w\" sizes=\"(max-width: 1512px) 100vw, 1512px\" \/><\/a><\/figure><\/div>\n\n\n\n<p>W raporcie <strong>Countries by date of epidemy<\/strong> mo\u017cemy sprawdzi\u0107 sytuacj\u0119 na bie\u017c\u0105cy dzie\u0144 kalendarza lub cofn\u0105\u0107 si\u0119 w czasie i sprawdzi\u0107 jak wygl\u0105da\u0142a sytuacja w poszczeg\u00f3lnych krajach wcze\u015bniej.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/24.png\"><img decoding=\"async\" width=\"1506\" height=\"848\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/24.png\" alt=\"Widok raportu Countries by day of epidemy\" class=\"wp-image-9011\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/24.png 1506w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/24-300x169.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/24-1024x577.png 1024w\" sizes=\"(max-width: 1506px) 100vw, 1506px\" \/><\/a><\/figure><\/div>\n\n\n\n<p>W trakcie przygotowywania tego artyku\u0142u i tworzenia raport\u00f3w wci\u0105\u017c pojawiaj\u0105 si\u0119 nowe pomys\u0142y wizualizacji danych i za pewne w najbli\u017cszym czasie pojawi\u0105 si\u0119 nowe.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Dane \u017ar\u00f3d\u0142owe<\/h2>\n\n\n\n<p>Przyst\u0119puj\u0105c do stworzenia w\u0142asnego raportu, chcieliby\u015bmy jak najszybciej zobaczy\u0107 efekt, popr\u00f3bowa\u0107 r\u00f3\u017cnych wizualizacji, zastosowa\u0107 filtry, jakich wcze\u015bniej nie widzieli\u015bmy. Nie dajmy si\u0119 jednak pokusie p\u00f3j\u015bcia na skr\u00f3ty, bo z do\u015bwiadczenia wynika, \u017ce to zawsze do nas wr\u00f3ci i zwielokrotni nak\u0142ad pracy. Po\u015bwi\u0119\u0107my troch\u0119 wi\u0119cej czasu danym \u017ar\u00f3d\u0142owym.<\/p>\n\n\n\n<p>Dane dotycz\u0105ce wcze\u015bniejszych dni pobieramy ze strony:<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/CSSEGISandData\/COVID-19\/tree\/master\/csse_covid_19_data\/csse_covid_19_time_series\" rel=\"nofollow\" >https:\/\/github.com\/CSSEGISandData\/COVID-19\/tree\/master\/csse_covid_19_data\/csse_covid_19_time_series<\/a><\/p>\n\n\n\n<p>S\u0105 to trzy pliki .csv<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/25.png\"><img decoding=\"async\" width=\"836\" height=\"138\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/25.png\" alt=\"\" class=\"wp-image-9012\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/25.png 836w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/25-300x50.png 300w\" sizes=\"(max-width: 836px) 100vw, 836px\" \/><\/a><\/figure><\/div>\n\n\n\n<p>Dlaczego, pobieramy st\u0105d tylko dane historyczne, czyli starsze ni\u017c wczorajsze? Poniewa\u017c s\u0105 aktualizowane rzadko i nieregularnie. Musimy do nich do\u0142\u0105czy\u0107 inne \u017ar\u00f3d\u0142o, czyli:<\/p>\n\n\n\n<p><a href=\"https:\/\/www.worldometers.info\/coronavirus\/\" rel=\"nofollow\" >https:\/\/www.worldometers.info\/coronavirus\/<\/a><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/26.png\"><img decoding=\"async\" width=\"812\" height=\"295\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/26.png\" alt=\"\" class=\"wp-image-9013\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/26.png 812w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/26-300x109.png 300w\" sizes=\"(max-width: 812px) 100vw, 812px\" \/><\/a><\/figure><\/div>\n\n\n\n<p>Power BI posiada \u015bwietne narz\u0119dzia do web scrappingu, wi\u0119c po kliku klikni\u0119ciach, mamy dane w tabelach. No w\u0142a\u015bnie, w tabelach\u2026 o r\u00f3\u017cnej strukturze. Musimy je przekszta\u0142ci\u0107 i po\u0142\u0105czy\u0107, pami\u0119taj\u0105c \u017ce ka\u017cda struktura mo\u017ce ulec zmianie wprowadzonej przez naszego dostawc\u0119 danych. Co powiecie np. na zmian\u0119 plik\u00f3w .csv na dzie\u0144 przed opublikowaniem raportu? To wydarzy\u0142o si\u0119 naprawd\u0119. Przecie\u017c nikt nie obiecywa\u0142, \u017ce nie b\u0119dzie zmian, w ko\u0144cu dane s\u0105 \u201egor\u0105ce\u201d i ka\u017cdy chce je ogl\u0105da\u0107 na sw\u00f3j spos\u00f3b.<\/p>\n\n\n\n<p>No dobrze, mamy 5 \u017ar\u00f3de\u0142, nie 2 jakby si\u0119 mog\u0142o wydawa\u0107. Co\u015b co zadzia\u0142a na plik \u2026confirmed_global.csv, niekoniecznie musi zadzia\u0142a\u0107 w \u2026recovered_global.csv. Takim przypadkiem w dniu 26.03.2020 przed po\u0142udniem by\u0142a r\u00f3\u017cnica, w zapisaniu daty, jeden plik mia\u0142 daty w formacie d\/mm\/rr, drugi d\/mm\/rrrr. W momencie, gdy to czytasz, formaty mog\u0105 by\u0107 ju\u017c sp\u00f3jne.<\/p>\n\n\n\n<p>Przyst\u0119pujemy do przekszta\u0142ce\u0144, korzystaj\u0105c z pe\u0142ni dobrodziejstw narz\u0119dzia jakim jest Power Query Editor. Nie b\u0119dziemy rozpisywa\u0107 si\u0119 szczeg\u00f3\u0142owo, jak przekszta\u0142cone zosta\u0142y te \u017ar\u00f3d\u0142a, ale og\u00f3lna zasada jest taka, \u017ce pilnujemy kolejno\u015bci, bo nieprawid\u0142owa kolejno\u015b\u0107 mo\u017ce wyd\u0142u\u017cy\u0107 \u0142adowanie. To nie parsowanie SQL, gdzie mamy szereg wbudowanych narz\u0119dzi optymalizuj\u0105cych zapytanie. W zamian dostajemy kontrol\u0119 nad ka\u017cdym krokiem przekszta\u0142cenia i mo\u017cemy je modyfikowa\u0107 i przestawia\u0107. Nie zapominajmy przy tym o czytelnym nazywaniu krok\u00f3w, pomo\u017ce nam to szybciej w przysz\u0142o\u015bci wprowadzi\u0107 zmiany w procesie. Og\u00f3lne zasady m\u00f3wi\u0105 o tym, \u017ceby zacz\u0105\u0107 od odchudzenia tabeli, najpierw redukcja kolumn (zak\u0142adamy \u017ce maj\u0105 ju\u017c jakie\u015b nazwy), potem wierszy (wcze\u015bniej unpivot, je\u017celi jest potrzeba). Potem przygl\u0105damy si\u0119 danym w kom\u00f3rkach, mo\u017cliwe \u017ce trzeba dokona\u0107 przekszta\u0142ce\u0144, wst\u0119pnych kalkulacji, oczy\u015bci\u0107 teksty, doda\u0107 kolumny, zmieni\u0107 typ, itd. Na koniec jeszcze raz patrzymy czy potrzebujemy wszystkich kolumn, uk\u0142adamy je w po\u017c\u0105danej kolejno\u015bci i voil\u00e0.<\/p>\n\n\n\n<p>Je\u017celi w przysz\u0142o\u015bci zajdzie potrzeba wprowadzenia zmian, to pami\u0119tajmy, \u017ce ka\u017cdy krok to instrukcja j\u0119zyka M, kt\u00f3r\u0105 mo\u017cemy podejrze\u0107 dla ka\u017cdego kroku tutaj:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/27.png\"><img decoding=\"async\" width=\"1126\" height=\"159\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/27.png\" alt=\"\" class=\"wp-image-9014\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/27.png 1126w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/27-300x42.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/27-1024x145.png 1024w\" sizes=\"(max-width: 1126px) 100vw, 1126px\" \/><\/a><\/figure><\/div>\n\n\n\n<p>A ca\u0142e query, mo\u017cemy zobaczy\u0107 tutaj:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/28.png\"><img decoding=\"async\" width=\"77\" height=\"109\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/28.png\" alt=\"\" class=\"wp-image-9015\"\/><\/a><\/figure><\/div>\n\n\n\n<p>Przy czym nie polecamy edycji w Advanced Editor, poniewa\u017c stracimy podzia\u0142 na kroki.<\/p>\n\n\n\n<p>No dobrze, \u0142\u0105czymy te nasze 5 tabelek w jedn\u0105, powiedzmy faktow\u0105 i temat przygotowania danych \u017ar\u00f3d\u0142owych si\u0119 ko\u0144czy, prawda? Ot\u00f3\u017c, nieprawda. Pomi\u0144my tu etap modelowania, za\u0142\u00f3\u017cmy, \u017ce mamy ju\u017c wszystkie wymiary, relacje, miary. Robimy wizualizacj\u0119 w postaci mapy i okazuje si\u0119, \u017ce taki jeden kraj granicz\u0105cy od po\u0142udnia z Polsk\u0105 jest bia\u0142\u0105 plam\u0105, nieska\u017con\u0105 wirusem, czy aby na pewno?<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/29.png\"><img decoding=\"async\" width=\"350\" height=\"264\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/29.png\" alt=\"Mapa Czech\" class=\"wp-image-9000\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/29.png 350w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/29-300x226.png 300w\" sizes=\"(max-width: 350px) 100vw, 350px\" \/><\/a><\/figure><\/div>\n\n\n\n<p>No przecie\u017c, dane w \u017ar\u00f3d\u0142ach s\u0105:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/30.png\"><img decoding=\"async\" width=\"706\" height=\"41\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/30.png\" alt=\"Wycinek danych dotycz\u0105cy Czech\" class=\"wp-image-9001\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/30.png 706w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/30-300x17.png 300w\" sizes=\"(max-width: 706px) 100vw, 706px\" \/><\/a><\/figure><\/div>\n\n\n\n<p>Widzicie to? Od tej pory nale\u017cy przejrze\u0107 wszystkie bia\u0142e plamy na mapie \u015bwiata, sprawdzi\u0107 wszystkie nazwy kraj\u00f3w jakie dostali\u015bmy ze \u017ar\u00f3de\u0142 i dopasowa\u0107 je do mapy, dos\u0142ownie zmapowa\u0107 ?.<\/p>\n\n\n\n<p>Po\u017c\u0105dany efekt uzyskali\u015bmy tworz\u0105c w Power Query funkcj\u0119, zbieraj\u0105c\u0105 wszystkie niezgodno\u015bci w seri\u0119 polece\u0144 replace value:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/31.png\"><img decoding=\"async\" width=\"1106\" height=\"190\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/31.png\" alt=\"\" class=\"wp-image-9002\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/31.png 1106w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/31-300x52.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/31-1024x176.png 1024w\" sizes=\"(max-width: 1106px) 100vw, 1106px\" \/><\/a><\/figure><\/div>\n\n\n\n<p>&#8230;<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/32.png\"><img decoding=\"async\" width=\"251\" height=\"80\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/32.png\" alt=\"\" class=\"wp-image-9003\"\/><\/a><\/figure><\/div>\n\n\n\n<p>Teraz mo\u017cemy u\u017cy\u0107 serii przekszta\u0142ce\u0144 zar\u00f3wno po stronie wymiaru Location, jak i tabeli faktowej, b\u0105d\u017a jeszcze przed ni\u0105, je\u017celi uznamy to za lepsze rozwi\u0105zanie.<\/p>\n\n\n\n<p>Ale to nie koniec z poznawaniem geografii politycznej \u015bwiata. Widzieli\u015bcie pewnie inne raporty z przedstawianiem danych na mapie. Zwr\u00f3cili\u015bcie uwag\u0119, czy np. Grenlandia jest tam zaj\u0119ta przez wirus? Przecie\u017c mamy dla niej dane:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/33.png\"><img decoding=\"async\" width=\"1174\" height=\"43\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/33.png\" alt=\"\" class=\"wp-image-9004\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/33.png 1174w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/33-300x11.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/33-1024x38.png 1024w\" sizes=\"(max-width: 1174px) 100vw, 1174px\" \/><\/a><\/figure><\/div>\n\n\n\n<p>Musimy zrobi\u0107 list\u0119 wyj\u0105tk\u00f3w, gdzie Province\/State chcemy \u017ceby by\u0142o traktowane na r\u00f3wni z Country. W tym celu w Power Query robimy list\u0119, najlepiej statyczn\u0105, bez powi\u0105za\u0144 z danymi \u017ar\u00f3d\u0142owymi, nie chcemy tzw. Circular dependency.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/34.png\"><img decoding=\"async\" width=\"183\" height=\"529\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/34.png\" alt=\"\" class=\"wp-image-9005\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/34.png 183w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/34-104x300.png 104w\" sizes=\"(max-width: 183px) 100vw, 183px\" \/><\/a><\/figure><\/div>\n\n\n\n<p>a naszym nowym Country Region staje si\u0119 kolumna powsta\u0142a w ten spos\u00f3b:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/35.png\"><img decoding=\"async\" width=\"837\" height=\"120\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/35.png\" alt=\"\" class=\"wp-image-9006\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/35.png 837w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/35-300x43.png 300w\" sizes=\"(max-width: 837px) 100vw, 837px\" \/><\/a><\/figure><\/div>\n\n\n\n<p>Na koniec sprawdzamy, czy wszystkie lokalizacje z danych da si\u0119 przedstawi\u0107 na mapie i czy wszystkie tak naprawd\u0119 warto przedstawia\u0107 w zestawieniach. Uwa\u017cny czytelnik zwr\u00f3ci\u0142 uwag\u0119 na list\u0119 i zawarte na niej dane ze s\u0142owem Princess w nazwie. Czy to kraj, czy prowincja, czy jaka\u015b ma\u0142a wyspa? Nie, to statek wycieczkowy ?. Na chwil\u0119 obecn\u0105 te dane nie s\u0105 \u0142adowane do raportu, ale usuwane s\u0105 na jednym z ostatnich etap\u00f3w, by\u0107 mo\u017ce zmienimy zdanie i b\u0119dziemy je \u0142adowa\u0107. \u0141adujemy model, kontrolujemy czas \u0142adowania i mamy nadziej\u0119, \u017ce struktura danych \u017ar\u00f3d\u0142owych nie b\u0119dzie zmienia\u0107 si\u0119 zbyt cz\u0119sto. No, ale na wszelki wypadek ca\u0142y czas kontrolujemy \u017ar\u00f3d\u0142a i przegl\u0105damy wykresy w&nbsp;poszukiwaniu niezgodno\u015bci, przy okazji coraz wi\u0119cej dowiaduj\u0105c si\u0119 o rozprzestrzenianiu si\u0119 COVID-19.<\/p>\n\n\n\n<p>Po za\u0142adowaniu danych do Power BI musimy stworzy\u0107 model. Nie mamy \u017cadnej bazy danych wi\u0119c zak\u0142adamy, \u017ce nasz\u0105 baz\u0105 danych b\u0119dzie plik .pbix, kt\u00f3ry dodamy do listy zestaw\u00f3w danych na serwisie Power BI. Raporty b\u0119d\u0105 pod\u0142\u0105czane do opublikowanego zestawu danych, dzi\u0119ki temu mamy jedno \u017ar\u00f3d\u0142o danych. Jeden model, a w nim sprawdzone i przetestowane miary. Je\u015bli znajdziemy jaki\u015b b\u0142\u0105d w&nbsp;modelu lub b\u0119dziemy chcieli go zmieni\u0107 wystarczy zmieni\u0107 plik \u017ar\u00f3d\u0142owy z zestawem danych i&nbsp;podmieni\u0107 go we wsp\u00f3\u0142dzielonym katalogu OneDrive.<\/p>\n\n\n\n<p>Dane jakie znajduj\u0105 si\u0119 w plikach \u017ar\u00f3d\u0142owych przedstawiaj\u0105 ca\u0142kowit\u0105 warto\u015b\u0107 Potwierdzonych zaka\u017ce\u0144 (Confirmed), przypadk\u00f3w \u015bmiertelnych (Deaths) i przypadk\u00f3w wyzdrowie\u0144 (Recovered) dla danego kraju i dnia. To powoduje, \u017ce praktycznie nie mamy w modelu prostych miar u\u017cywaj\u0105cych agregacj\u0119 sumuj\u0105c\u0105.<\/p>\n\n\n\n<p>Poni\u017cej przedstawiamy model jaki na t\u0119 chwil\u0119 zosta\u0142 stworzony.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/36.png\"><img decoding=\"async\" width=\"1941\" height=\"857\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/36.png\" alt=\"\" class=\"wp-image-9007\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/36.png 1941w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/36-300x132.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/36-1024x452.png 1024w\" sizes=\"(max-width: 1941px) 100vw, 1941px\" \/><\/a><\/figure><\/div>\n\n\n\n<p>Stworzone miary zgrupowane w 2 grupy World Statistic i Statistic pos\u0142u\u017cy\u0142y do stworzenia prezentowych wy\u017cej raport\u00f3w.<\/p>\n\n\n\n<p>To tyle ile uda\u0142o nam si\u0119 zrobi\u0107 w ci\u0105gu kilku dni. Pracujemy nad innymi ciekawymi wizualizacjami, kt\u00f3re dodamy w najbli\u017cszym czasie. Pewnie powstanie kolejny materia\u0142 na temat tworzenia w\u0142asnych wizualizacji. ?<\/p>\n\n\n\n<p>Mieli\u015bmy tak\u017ce troch\u0119 problem\u00f3w z od\u015bwie\u017caniem danych z pliku .pbix umieszczonym w serwisie OneDrive. Chyba natrafili\u015bmy na b\u0142\u0105d, kt\u00f3ry trzeba zg\u0142osi\u0107 do Microsoftu, ale to temat na kolejny artyku\u0142. ?<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p><strong>Analiz\u0119 i artyku\u0142 przygotowali specjali\u015bci z <a href=\"https:\/\/sii.pl\/oferta\/business-intelligence-i-zarzadzanie-danymi\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\">Centrum Kompetencyjnego BI w Sii<\/a>.<\/strong><\/p>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-left kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;left&quot;,&quot;id&quot;:&quot;8973&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;11&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;5&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;11&quot;,&quot;greet&quot;:&quot;&quot;,&quot;legend&quot;:&quot;5\\\/5 ( votes: 11)&quot;,&quot;size&quot;:&quot;18&quot;,&quot;title&quot;:&quot;Power BI w analizie danych dotycz\u0105cych pandemii COVID-19&quot;,&quot;width&quot;:&quot;139.5&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} ( {votes}: {count})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 139.5px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 14.4px;\">\n            5\/5 ( votes: 11)    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Nasze ostatnie analizy w Centrum Kompetencyjnym Business Intelligence dotycz\u0105 bardzo aktualnego tematu, kt\u00f3ry za razem jest bardzo interesuj\u0105cy. Ka\u017cdy z &hellip; <a class=\"continued-btn\" href=\"https:\/\/sii.pl\/blog\/power-bi-w-analizie-danych-dotyczacych-pandemii\/\">Continued<\/a><\/p>\n","protected":false},"author":2,"featured_media":9019,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_editorskit_title_hidden":false,"_editorskit_reading_time":8,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","inline_featured_image":false,"footnotes":""},"categories":[1316],"tags":[421,890,891,481],"class_list":["post-8973","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development-na-miekko","tag-bi","tag-covid","tag-koronawirus","tag-power-bi"],"acf":[],"aioseo_notices":[],"republish_history":[],"featured_media_url":"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2020\/03\/bi-covid-19.jpg","category_names":["Development na mi\u0119kko"],"_links":{"self":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/8973"}],"collection":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/comments?post=8973"}],"version-history":[{"count":2,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/8973\/revisions"}],"predecessor-version":[{"id":21426,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/8973\/revisions\/21426"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media\/9019"}],"wp:attachment":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media?parent=8973"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/categories?post=8973"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/tags?post=8973"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}