Czy zbudowanie od podstaw(!) OLAP-owej hurtowni danych jest trudne?
Pewnie tak - trzeba pobrać dane z różnych źródeł danych,
zebrać je w jednej bazie (ETL), następnie je przekształcić do
formy przyjaznej do analizy, a potem zaprojektować i wykonać
moduł analizy wielowymiarowej OLAP, który oferuje natychmiastowy
dostęp do dowolnych wymiarów naszej analizy i umożliwia łatwą
eksplorację danych tabelą przestawną.
Spróbujmy!
http://afin.net/webcasts/Demo_DataWarehouseInMOLAP.swf
Streszczenie filmiku:
1. Otwieramy odpowiedni szablon AFIN.NET i dostosowujemy go da
naszego zadania (tu: usuwamy niepotrzebne wiersze)
2. Wykonujemy kolejno szereg kwerend, pobierając do arkusze dane z
różnych źródeł danych, tu:
1.1. SQL Server (wersja Express, serwer lokalny, dane faktur -
'faktura')
1.2. Access (dane kontrahentów - 'odbiorca')
1.3. Excel (słownik regionów - 'region')
Kwerendy są proste, dla uproszczenia bez żadnych fitrów i
uszlachetnień
3. Uruchamiamy program, budujący bazę danych, składającą się z
3 wymienionych wyżej tabel - tu: plik Accessa WorkBase.mdb
Użycie 'stop' zatrzymuje program przed wykonaniem linii,
dotyczącej budowy kostki - kostka nie jest jeszcze zaprojektowana.
4. Budujemy kostkę OLAP
4.1. Budujemy kwerendę, składającą dane z trzech tabel do jednej
szerokiej tabeli wynikowej (widoku)
4.2. Uruchamiamy Excelowego kreatora modułów danych OLAP (W
standardzie Excela od wersji 2000)
4.3. Projektujemy kostkę, najpierw miara, potem wymiary, następnie
podajemy, gdzie ma zostać zapisany moduł danych (kostka OLAP, plik
CUB) oraz gdzie ma zostać zapisana jego definicja (plik OQY)
Kostka OLAP również jest celowo najprostsza, jak być może: jedna
miara, trzy wymiary, prosta hierarchia.
5. Dokonujemy korekt ścieżek - wskazujemy adresy kostki i jej
definicji
6. Uruchamiamy cały program
7. Na stworzonej kostce budujemy raport tabeli przestawnej -
otwieramy plik CUB pod Excelem
8. W celu pokazania automatyzacji całego procesu, otwieramy na
chwilę plik Excela ze źródłową tabelą 'region' i dokonujemy w
niej zmian - tu: zmieniamy przyporządkowanie miasta 'Warszawa' do
innego regionu - tu: tworzymy nową pozycję słownikową -
'Stolica'
9. Uruchamiamy ponownie program - odświeżamy kostkę oraz
odświeżamy tabelę przestawną, gdzie natychmiast pojawia się
nowy region.
10. Gotowe. Definicja kostki jest gotowa, kostkę można
odświeżać dowolną ilość razy w dowolnym czasie, nawet, gdy
raporty z niej są otwarte.
Wnioski:
Budowa procesu ETL - kilka minut, myszką
Projekt kostki OLAP - równie prosto i szybko
Odświeżanie naszej hurtowni - jedno kliknięcie myszą
Odświeżenie raportu - standardowo.
Wydajność:
Proces taki w następujących warunkach:
1. Dane dużej firmy dystrybucyjno-produkcyjnej urządzeń
gospodarswa domowego - źródłowy plik tekstowy ok. 1.000.000
wierszy, tj. dane sprzedaży z dokładnością do pozycji faktury
2. Dołączone słowniki - 5 sztuk, hierarchiczne, kilkaset-kilka
tysięcy pozycji, format: pliki Excela
3. Z pełnych trzech lat, z dokładnością do dnia
4. Z dokładnością drążenia (drill-down) w kostce do pozycji
faktury, czyli bez uproszczeń, ale, oczywiście, ze wszyskimi
sumami pośrednimi itp.
5. Tworzona kostka miała 32 MB i działała bardzo sprawnie już
pod Excelem XP
... trwał 3 minuty.
piątek, 28 sierpnia 2009
wtorek, 18 sierpnia 2009
Kurs SQL
SQL... ha!, brzmi tajemnie...
Ale nie jest tak źle. Wszystko można wyklikać myszką, a jeżeli
czegoś nie można (bo np. funkcji SQL nie) to ich zestaw jest
wręcz żenująco ;) mały - z punktu widzenia realnych potrzeb
analityka.
Więc - do dzieła!
http://afin.net/samples/lessons/
Jak się z tego korzysta?
1. Wchodzimy w folder, zawierający daną lekcję, np.
SQL.1_Table/
2. Pojawiają się pliki:
[DIR] Parent Directory 17-Aug-2009 13:11 -
[XLS] AFIN.NET.IS_SQL.Lesson1.xls 17-Aug-2009 13:03 47k
[HTM] AFIN.NET.IS_SQL.Lesson1_mirror.htm 17-Aug-2009 13:03 13k
[DIR] AFIN.NET.IS_SQL.Lesson1_mirror_pliki/ 17-Aug-2009 13:03 -
3. Działamy
3.1. Jeżeli chcemy POOGLĄDAĆ - klikamy plik z rozszerzeniem HTM
Tu klawisz "START" nie działa, ale można odczytać SQLa i
zobaczyć efekt w kolejnym "arkuszu" (arkusze - na dole) oraz
porównać z tabelą - źródłem danych "Copy of faktura" (ostatni
"arkusz")
3.2. Jeżeli chcemy WYPRÓBOWAĆ, poeksperymentować, itp. - musimy
zainstalować AFIN.NET
http://www.afin.net/downloads/AFIN.NET.Setup.exe
(nie boli - 2 MB, bezpieczne, zero "bałaganu")
Uruchamiamy wtedy AFIN.NET i ze strony (czyli z folderu powyżej)
otwieramy plik XLS. Kliknięcie 'START' odświeża dane.
Zainstalowanie AFIN.NET dostarcza równocześnie dane przykładowe.
Wszystkie eksperymenty dozwolone.
Tutaj opis narzędzia do eksperymentów, czyli AFIN.NET.IS:
http://afin.net/articles/AfinNet_Article_AFIN.NET.IS_PL.htm
Tutaj biblioteka przykładów:
http://afin.net/samples/AFIN.NET.InformationServices/AFIN.NET.IS_SamplesLibrary.xls
Tutaj z kolei standardowy help MS dla JetSQL (niestety,
nienajlepszy):
http://afin.net/excel/Pomoce/JETSQL40.CHM
A jak ktoś chce zobaczyć, jak SQLka można wyklikać myszką, to
najlepiej w MS Query
http://afin.net/artykuly/gazetaprawna/9.%20MS%20Query.htm
Krok 3a pokazuje SQLa - można wykopiować.
Zapraszam do dyskusji!
Ale nie jest tak źle. Wszystko można wyklikać myszką, a jeżeli
czegoś nie można (bo np. funkcji SQL nie) to ich zestaw jest
wręcz żenująco ;) mały - z punktu widzenia realnych potrzeb
analityka.
Więc - do dzieła!
http://afin.net/samples/lessons/
Jak się z tego korzysta?
1. Wchodzimy w folder, zawierający daną lekcję, np.
SQL.1_Table/
2. Pojawiają się pliki:
[DIR] Parent Directory 17-Aug-2009 13:11 -
[XLS] AFIN.NET.IS_SQL.Lesson1.xls 17-Aug-2009 13:03 47k
[HTM] AFIN.NET.IS_SQL.Lesson1_mirror.htm 17-Aug-2009 13:03 13k
[DIR] AFIN.NET.IS_SQL.Lesson1_mirror_pliki/ 17-Aug-2009 13:03 -
3. Działamy
3.1. Jeżeli chcemy POOGLĄDAĆ - klikamy plik z rozszerzeniem HTM
Tu klawisz "START" nie działa, ale można odczytać SQLa i
zobaczyć efekt w kolejnym "arkuszu" (arkusze - na dole) oraz
porównać z tabelą - źródłem danych "Copy of faktura" (ostatni
"arkusz")
3.2. Jeżeli chcemy WYPRÓBOWAĆ, poeksperymentować, itp. - musimy
zainstalować AFIN.NET
http://www.afin.net/downloads/AFIN.NET.Setup.exe
(nie boli - 2 MB, bezpieczne, zero "bałaganu")
Uruchamiamy wtedy AFIN.NET i ze strony (czyli z folderu powyżej)
otwieramy plik XLS. Kliknięcie 'START' odświeża dane.
Zainstalowanie AFIN.NET dostarcza równocześnie dane przykładowe.
Wszystkie eksperymenty dozwolone.
Tutaj opis narzędzia do eksperymentów, czyli AFIN.NET.IS:
http://afin.net/articles/AfinNet_Article_AFIN.NET.IS_PL.htm
Tutaj biblioteka przykładów:
http://afin.net/samples/AFIN.NET.InformationServices/AFIN.NET.IS_SamplesLibrary.xls
Tutaj z kolei standardowy help MS dla JetSQL (niestety,
nienajlepszy):
http://afin.net/excel/Pomoce/JETSQL40.CHM
A jak ktoś chce zobaczyć, jak SQLka można wyklikać myszką, to
najlepiej w MS Query
http://afin.net/artykuly/gazetaprawna/9.%20MS%20Query.htm
Krok 3a pokazuje SQLa - można wykopiować.
Zapraszam do dyskusji!
Subskrybuj:
Posty (Atom)