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