Monthly Archive: July 2017

SSAS – Analiza plików bazy analitycznej

Wstęp Kolejnym przykładem analizy, który pozwoli nam lepiej zrozumieć projekt bazy wielowymiarowej jest analiza plików, które są nieodłączonym jej elementem. Jak już wspomniano w poście http://pl.seequality.net/monitorowanie-optymalizacja-ssas/ Analysis Services wszystkie dane przechowuje w ogromnej ilości plików. Dla każdego atrybutu, hierarchii, agregacji itp. Wygenerowany zostanie jeden lub kilka plików, które mają za zadanie w efektywny sposób zwrócić dane potrzebne do wygenerowania rezultatu zapytania MDX. W tym artykule pobierzemy listę wszystkich plików bazy wielowymiarowej za pomocą skryptu PowerShell, a następnie przygotujemy raport w Power BI, który pozwoli lepiej zrozumieć rozmiar naszej bazy. Wszystkie pliki dostępne są na GitHub: https://github.com/seequality/seequality_ssas Analiza taka powinna być pomocna w…
Read more

SSAS – Kto korzysta z kostki?

SSAS new vs returning users

Pierwszy przypadek wykorzystania danych z logowania kostek i serwera dotyczy analizy użytkowników. Do wizualizacji danych użyty zostanie PowerBI. W ramach przypomnienia dodam tylko, że post opisujący dostępne metody gromadzenia danych oraz analizowania kostek i SQL Server Analysis Services dostępny jest pod adresem http://pl.seequality.net/monitorowanie-optymalizacja-ssas/. Pełny raport oraz projekt SSIS dostępny jest na github: https://github.com/seequality/seequality_ssas Cała idea polega na tym, aby przygotować projekt SSIS, a następnie Job, który co dziesięć minut będzie pobierał aktualną listę sesji i połączeń do serwera SQL Server Analysis Services. Dzięki zgromadzonym danym będziemy w stanie następnie przygotować raport w Power BI, który pomoże nam zrozumieć kim są użytkownicy kostki…
Read more

Parę faktów o funkcjach okna cz.1: ROW_NUMBER, RANK, DENSE_RANK i NTILE

TSQLWindowingfunctions_13
Follow me

Adrian Chodkowski

SQL geek, Data enthusiast, Consultant & Developer
Adrian Chodkowski
Follow me

Latest posts by Adrian Chodkowski (see all)

Funkcje okna są jednym z błogosławieństw dla deweloperów pracujących z SQL Server. Pozwalają one na osiągnięcie rezultatów, które wcześniej można było uzyskać tylko i wyłącznie poprzez wykorzystanie podzapytań inline czy różnego rodzaju konstrukcji przetwarzających dane wiersz po wierszu jak np. kursory czy pętle. Dziś powiemy sobie parę słów o tym jak działają funkcje ROW_NUMBER, RANK, DENSE_RANK oraz NTILE wraz z modyfikacjami klauzuli OVER. Funkcja ROW_NUMBER jak sama nazwa wskazuje daje nam możliwość ponumerowania wierszy według określonych kryteriów. Sama składnia jest bardzo prosta – na poniższym przykładzie widzimy najprostsze jej zastosowanie (samo zapytanie numeruje wiersze poczynając od tych wierszy, gdzie pole…
Read more

Metody monitorowania i optymalizacji SQL Server Analysis Services (SSAS)

Wprowadzenie Każdy system informatyczny, aplikacja, usługa czy też produkt powinien być na bieżąco monitorowany i sprawdzany. Weryfikacja poprawności działania, wydajności czy zadowolenia klientów końcowych. Powodów i celów może być wiele. W tym poście zostaną omówione metody monitorowania usługi SQL Server Analysis Services oraz kostek wielowymiarowych. W kolejnych postach zostaną zaprezentowane konkretne przykłady wykorzystania tych technik. Posty powinny okazać się przydatne do samego monitorowania, ale również podczas audytu w chwili gdy przejmujemy projekt, oraz do lepszego zrozumienia działania SSAS. Post ten i pozostałe, które ukażą się wkrótce, powinien być szczególnie przydatny dla osób, które: pracują/zarządzają średniej wielkości bazami danych SSAS – setki gigabatów, lub dużymi bazami danych SSAS…
Read more

NOT EXISTS vs NOT IN – czyli o filtracji wykluczającej

NotInNotExists_00
Follow me

Adrian Chodkowski

SQL geek, Data enthusiast, Consultant & Developer
Adrian Chodkowski
Follow me

Latest posts by Adrian Chodkowski (see all)

O tym jak odfiltrować dane z jednego zbioru na podstawie danych z innego zbioru powiedziano już bardzo wiele. Mimo, że temat był dosyć mocno eksplorowany to z moich obserwacji wynika, że kwestia ta nie jest do końca zrozumiana. Dlatego też postanowiłem wykonać mój własny test filtracji wykluczającej – porównamy sobie wydajność i efektywność kilku podejść m.in NOT EXISTS oraz NOT IN ale nie tylko – zapraszam do lektury! W naszym przykładzie wykorzystamy hurtownię WideWorldImportersDW i znajdujące się w niej tabele [Dimension].[Stock Item] oraz [Fact].[Movement]. Celem naszych zapytań będzie zwrócenie tych kolorów przedmiotów, które nigdy się nie sprzedały. Jedyną modyfikacją jakiej…
Read more