środa, 2 grudnia 2009

Wielostopniowe przetwarzanie danych

Zadanie, dane i natchnienie:
(C) 2009 - Mariusz Jankowski (Dzięki!)
http://www.goldenline.pl/forum/excel-vba/1326580

Problem:
Do tej pory skupialiśmy się na pobieraniu danych z różnych    
źródeł i wklejaniu ich w arkusz w formie małoprzetworzonej, poza    
prostymi łączeniami tabel. Niekiedy jednak zachodzi konieczność    
znacznego przetworzenia danych, nawet, gdy wynikiem ma być mała,    
prosta tabela.
Zwykle robi się to poprzez napisanie skomplikowanego zapytania w    
języku SQL, tzw. zagnieżdżonego SQL, czyli zapytania, które    
najpierw buduje jakiś widok danych, a dopiero potem łączy go z    
inną tabelą lub innym widokiem.

Działa, ale:
1. Trzeba mieć narzędzie, żeby to napisać. Zwykłe edytory SQL    
nie oferują edycji zapytań zagnieżdżonych.
2. Trzeba umieć to napisać, a taki SQL może być bardzo    
skomplikowany.

Wyjściem jest (wielo-)stopniowe przetwarzanie danych, ale to z    
kolei oferują już tylko profesjonalne narzędzia DTS-owe (Data    
Transforming Systems). Trzeba je mieć, umieć włączyć (nie takie    
to czasami proste, serio), rozumieć, co te narzędzia do nas    
mówią... ech, skomplikowane :(

Albo (filmik):
http://afin.net/webcasts/Demo_ProcessingDataMultistep.swf

Opis:
1. Dane są w dwóch arkuszach jednego pliku Excela. Pobieramy je    
kwerendą, tworząc relację i, od razu, ranking (1.) zespołów    
według średnich wzrostów zawodników.
Tworzy się tabela w bazie Accessowej 'MyTable'
2. Tworzymy kwerendę z tej tabeli tworząc inną tabelę - kolejny    
ranking, tym razem ranking (2.) dywizji według maksymalnych    
średnich zespołów.
Tworzy się kolejna tabela 'MyTable2'
3. Tworzymy kolejną kwerendę, łączącą dane rankingu 2. z    
informacjami o zespołach, osiągających te średnie, czyli    
łączymy ranking 2. z rankingiem 1.
Powstałą tabelę pobieramy do arkusza.

Raport tworzy się natychmiast jednym kliknięciem myszy.
Nie napisałem ręcznie nic.

Brak komentarzy:

Prześlij komentarz