Wojciech
Gardziński
Mieć rację godzinę
wcześniej niż inni:
przez godzinę być
...
Temat: Hurtownia Danych OLAP
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.Wojciech Gardziński edytował(a) ten post dnia 28.08.09 o godzinie 19:57