Już od kilku dni dostępny jest najnowszy SP3 do SQL Servera 2005.
Szczegółowa lista poprawionych bugów jest opisana w dokumencie Knowledge Base. Wygląda jednak na to, że zmian, zwłaszcza tych dotyczących Analysis Services, nie ma za dużo, oto wszystkie trzy
:
- FIX: A new trace event is logged by any command that aborts a transaction in SQL Server 2005 Analysis Services
- FIX: An unexpected error is returned when an aggregation is referenced that has an attribute in a many-to-many dimension in SQL Server 2005 Analysis Services: “file ‘pffilestore.cpp’, line 3311, function ‘PFFileStore::HandleDataPageFault’”
- FIX: Error message when you run a DB2 query that uses the WITH UR query hint in SQL Server 2005 Analysis Services: “OLE DB error: OLE DB or ODBC error: An unexpected token “WITH” was found following “<Query>”"
Jednym z częstszych zastosowań języka MDX jest tworzenie kalkulacji związanych z czasem (agregacji YTD/QTD/MTD, dynamiki, np. IV kw. 2007 vs IV kw 2008 itd.). Najczęściej tworzymy je “ręcznie”, dodając calculated members. Możemy też skorzystać z funkcjonalności Time Intelligence dostępnej w Analysis Services od wersji 2005.
Możliwa jest jednak trzecia droga - ręczne stworzenie dedykowanego wymiaru (tzw. shell dimension), do którego będziemy podpinać wszystkie kalkulacje związane z czasem. Szczegółowy opis jak to zrobić zawiera poniższy dokument, opublikowany przez OLAP Business Solutions. W dokumencie znajdziemy też gotowe definicje MDX najczęściej używanych kalkulacji czasowych.
Na podstronie Praca magisterska udostępniłem do pobrania swoją pracę magisterską poświęconą metodologii budowania hurtowni danych z wykorzystaniem MSF. Pracę tę obroniłem na Uniwersytecie Wrocławskim w roku 2007.
W początkowych rozdziałach pracy omawiam podstawy teorii hurtowni danych i OLAP - liczę że informacje te mogą być przydatne zwłaszcza dla osób zaczynających swoją przygodę ze światem Business Intelligence.
wlodzimierz-bielski-praca-magisterska.pdf
Stając przed potrzebą monitorowania zapytań do serwera SQL Server 2005 w wersji Express, zacząłem szukać w internecie odpowiednich narzędzi.
Wynikiem moich poszukiwań jest SQL Server 2005 Express Profiler- open-source’owe narzędzie, wzorowane na oryginalnym profilerze Microsoftu. W sytuacjach gdy musimy debugować aplikacje bazodanowe na Express - niezastąpione
Screenshot
Analizy szeregów czasowych należą do najbardziej popularnych technik data mining. Dlatego też w SQL Server 2005 developerom udostępniono algorytm Microsoft Time Series, oparty o pracę naukowców z Microsoft Research. Dokładniej rzecz biorąc, zaimplementowany algorytm to ARTXP - drzewa autoregresyjne (ang. Autoregressive Trees).
Niestety, o ile algorytm ARTXP sprawdza się całkiem dobrze przy predykcji następnego kroku, takie podejście nie zdaje egzaminu gdy chcemy predykować bardziej odległe elementy szeregu.
Dlatego też w SQL Server 2008 Microsoft Time Series to tak naprawdę dwa algorytmy - ARTXP właśnie i ARIMA. ARIMA (ang. Autoregressive Integrated Moving Average) to algorytm dobrze znany w środowisku związanym z eksploracją danych, jego implementacje znajdziemy m.in. w pakiecie SAS. W przypadku gdy prognozujemy “długofalowo”, algorytm ten zachowuje się lepiej niż zwykłe drzewa autoregresyjne.
Ciekawy jest sposób, w jaki generowany jest wynik. Otóż budowany jest model dla obu algorytmów, zaś wynik końcowy zależy od obydwu wyników cząstkowych. Oczywiście, użytkownik ma wpływ na ten proces - poprzez użycie odpowiednich parametrów:
- FORECAST_METHOD – decyduje, który algorytm będzie użyty. Domyślnie – MIXED – czyli hybryda ARTXP i ARIMA.
- PREDICTION SMOOTHING – pozwala na kontrolowanie względnych wag wyników. Wartości bliskie 0 faworyzują wyniki ARTXP, wartości bliskie 1 większą wagę przypisują wynikom uzyskanym przez ARIMA.
Link: Oryginalna praca o drzewach autoregresyjnych
Zadanie: Chcemy zapisywać do tabeli w sposób automatyczny logi z Analysis Services 2005, bo chcemy np. analizować aktywność użytkowników.
Niby proste, ale tu pojawia się problem - SQL Server udostępnia odpowiednie procedury składowane jedynie do zapisywania w tabeli logów z baz relacyjnych.
I tu pojawia się rozwiązanie - nieduże narzędzie ASTrace, rozprowadzane jako część pakietu Microsoft SQL Server Product Samples: Analysis Services.
Jak to działa? W pliku ASTrace.exe.config ustawiamy z jakiego serwera pobieramy logi oraz gdzie je zapisujemy. Samo narzędzie jest zaimplementowane jako usługa systemowa, więc po zainstalowaniu w zasadzie możemy o nim zapomnieć - będzie działać w tle.
Link do pobrania: http://www.codeplex.com/MSFTASProdSamples
Całkiem niedawno ukazało się ciekawy edytor MDX autorstwa Moshy Pasumansky’ego. Jest to o tyle ważne, że właśnie Mosha jest architektem Analysis Services i jednym z autorów MDX, a więc jak mało kto jest kompetentny w tej materii.
Projekt jest na razie w fazie alfa, ale zapowiada się całkiem ciekawie. Możliwe jest m.in. przedstawienie zapytania w postaci drzewa rozbioru oraz analiza wydajności (PerfMon). W porównaniu do standardowego, dosyć ubogiego edytora z SQL Server Management Studio, MDX Studio wygląda naprawdę apetycznie.
Autor zapewnia, że program obsługuje wszystkie wersje Analysis Services: 7.0, 2000, 2005, oraz Katmai (2008).
Download: http://cid-74f04d1ea28ece4e.skydrive.live.com/browse.aspx/MDXStudio
Forum o MDX Studio: http://www.ssas-info.com/forum/MdxStudio