wtorek, 19 sierpnia 2014

"Tymczasowa Baza Raportu" - nowy typ raportów w AFINIE (super wydajność!)

"Tymczasowa Baza Raportu" - nazwa robocza, trzeba wymyślić coś    
lepszego, najlepiej z angielska ;)

Do rzeczy:
Na świecie jest wiele problemów...
... w świecie raportów, też.

W AFINIE raporty można robić na wiele, wiele sposobów: funkcjami,    
funkcjami z przyspieszaczem (PowerCalculation), ze wspomaganiem    
serwera (ServerCalculation), można też wyklejać raporty IS-em,    
dużo można.
Ale są raporty, które się jakby do tego nie chciały dopasować,    
np wymyślmy sobie, taki, niby, prosty raport:

Własny nagłówek tabeli
klient1, wartość miesięczna, wartość narastająca, wartość    
czegoś tam z innej bazy, np. nr telefonu
klient2,...
klient3,...
...
klient100
Własne podsumowanie i formułki

1. Jeżeli chcemy to zrobić funkcjami - proszę bardzo, ale wtedy    
trzeba 300 funkcji. Wygoda, cud malina, uniwersalność... ale to    
dalej 300 funkcji. Można to przyspieszać i to znacznie, ale    
ciągle jest problem - jak to komuś wyślemy, to ów musi mieć    
AFINA.
Można, oczywiście, zrobić publikację i to automatyczną, ale to    
i tak trwa kilka ładnych sekund...

2. Można wyklejać IS-em - ale też to trwa tyle samo, bo przecież    
te 300 zapytań musi się wykonać...

3. można próbować tabelą przestawną, ale.... to dane z    
różnych źródeł oraz sztywna ilość klientów, konieczność    
własnego nagłówka, własnych formatów, np. formatowanie    
warunkowe i formułek na dole... TP odpada! TP jest za cienka!

A można też tak (C) WojciechG 2014
Lista klientów to pewna lista, charakterystyczna jako indeks (jest    
w relacji) dla każdej tej kolumny danych. Więc robimy 1. tabelę    
pomocniczą:
klient1
klient2
...
klient100
Nic więcej!

Robimy drugą tabelę pomocniczą:
klient1, wartość miesięczna
klient2,...
...
klient100,...

Robimy trzecią tabelę pomocniczą:
klient1, wartość narastająco
klient2,...
...
klient100,...

Robimy CZWARTĄ tabelę pomocniczą:
klient1, cośtam z tej innej bazy
klient2,...
...
klient100,...

A na końcu robimy tabela1 LEFT JOIN tabela2 LEFT JOIN tabela3 LEFT    
JOIN tabela4
I mamy raport, jak na wstępie. 100 (STO) razy szybciej!

Clou tematu tkwi w tym, że te źródła są różne, zwykle    
excelkowe, a bazy danych nie ma - jak przeniesiemy to do Accessa, to    
tracimy formaty excelowe. No, bagno.

Ale od czego jest AFIN? Przecież IS może utworzyć bazkę w locie    
i dane zapisać do tej bazy.
Więc zapisuje, potem wykleja raport do zadanego wzorca raportu i    
kasuje tabelki a może nawet i bazę.

Powtarzam - przyspieszenie ok 100 razy! A właściwie, tyle razy,    
ile jest wierszy.

Filmik:
http://afin.net/webcasts/Demo_TemporalReportDatabase.swf

Brak komentarzy:

Prześlij komentarz