piątek, 13 listopada 2009

Funkcja GETDATAOLAP - Raportowanie z hurtowni danych OLAP

Film:
http://afin.net/webcasts/HowTo_InsertFunction_GETDATAOLAP.swf


Opis:
Załóżmy, ze posiadamy już tzw. wielowymiarową hurtownię danych    
OLAP.
Może ona być w wersji "profesjonalnej", czyli np. w MS SQL Server    
Analysis Services (SSAS) lub w plikach .cub, tj. wersji dla    
mniejszej firmy lub wersji prototypowej - nie ma to najmniejszego    
znaczenia - w obu przypadkach istnieje możliwość "zrzutu" danych    
do Excela w formie excelowej tabeli przestawnej, podłączonej    
bezpośrednio do zewnętrznego, OLAP-owego źródła danych.

Gdzie jest problem?
Właściwie nigdzie - tabela przestawna na zewnętrznym źródle    
danych działa bardzo dobrze - bardzo szybko i wygodnie.
Ale...
Gdy chcemy stworzyć raport - nasz własny raport - w którym    
poszczególne informacje mają znaleźć się w bardzo konkretnych    
miejscach naszego raportu - tabela przestawna staje się    
ograniczeniem!
Tabela ma jedno źródło danych, w tabeli nie wszystkie elementy    
widać naraz, tabeli nie da się ustawić w dowolny sposób, tabeli    
nie da się zmieścić w jednej komórce arkusza (a my chcemy mieć    
dane z różnych tabel bezpośrenio jedna pod drugą...), itp.
Prowizorycznym rozwiązaniem jest excelowa funkcja WEŹDANETABELI,    
ale ma ona wadę - tabela MUSI być otwarta, a dane MUSZĄ być w    
niej "widoczne" - Jest z tym problem.
Gdy tabel (takich źródeł danych) jest dużo, albo tabele są    
duże (np. wykraczają poza arkusz), funkcja WEŹDANETABELI staje    
się bezużyteczna - poza tym, trzeba pamiętać o otworzeniu    
wszystkich tabel...

Najczęściej stosuje się w tym celu dodatkowy program pakietu SQL    
Server - SQLS Reporting Services, ale stworzenie w nim jakichkolwiek    
definicji wymaga dużej wiedzy informatycznej (znajomość języka    
MDX), a stworzenie na jednym raporcie wielu źródeł danych stanowi    
duży problem.
Poza tym, raportów nie tworzy się tam tak łatwo i intuicyjnie,    
jak w Excelu...

AFIN.NET oferuje funkcję GETDATAOLAP, której działanie jest, w    
gruncie rzeczy, bardzo podobne do WEŹDANETABELI. Dane z tabeli    
pobiera się równie prosto - 'prawy przycisk myszy' / 'AFIN.NET...'    
/ 'Pobierz jako funkcję'...
I gotowe!

Ale funkcja GETDATAOLAP nie wymaga, żeby tabela przestawna była    
otwarta (a nawet w ogóle istniała) - tabela jest potrzebna    
wyłącznie do STWORZENIA FUNKCJI.

A parametryzowanie wartościami wymiarów - już standardowo, jak    
wszystkie funkcje w AFIN.NET

Parametryzowanie jedną wartością wielu funkcji, odwołujących    
się do różnych źródeł danych, różnych wymiarów kostek itp.    
- jak wyżej, bezproblemowo.

Brak komentarzy:

Prześlij komentarz