wtorek, 28 października 2014

SQL: Join na tabelach z dwóch różnych baz danych

SELECT * FROM
(SELECT * FROM [Odbiorca.txt] IN    
'c:\kursexcela\dane\Baza_txt'[Text;]) t1
INNER JOIN
(SELECT * FROM [Faktura] IN 'c:\kursexcela\dane\sprzedaz.mdb') t2
ON t1.nazwa=t2.nazwa

Żeby było śmieszniej, to składam te tabelki z pliku TEKSTOWEGO i    
bazy ACCESSA na sterowniku EXCELOWYM!
A co, nie wolno?!

http://afin.net/webcasts/ZZZ_SqlEditor_InnerJoin_DifferentDBs.swf

środa, 15 października 2014

Spis treści / nawigacja w skoroszycie Excela

AFIN to nie tylko bazy danych, funkcje, ISy (skrypty SQL), wspomaganie przeliczeń itd.

AFIN to też ułatwienia codziennej pracy. Dzisiaj - wspomaganie stworzenia efektywnej nawigacji po skoroszytach / arkuszach. SPIS TREŚCI.
Działa zarówno w plikach otwartych, jak i otwiera pliki zamknięte.

Filmik:

http://afin.net/webcasts/HowTo_MakeTOC.swf

piątek, 5 września 2014

Wstawianie wartości do tabeli bazy danych

No, właśnie. Zwykle, albo mamy bazę gotową, albo ją skądś    
importujemy, np. z Excelka.
Ale jak ją zrobić od nowa? I, żeby miała, powiedzmy, setki, albo    
i tysiące wartości przez nas wymyślonych i wyliczonych?

A ja nie znam PHPa. I SQLa też cienko. :(

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

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

środa, 2 lipca 2014

Funkcja GETDATAODBC() z tabeli przestawnej - NOWOŚĆ!

Czy może być jeszcze prościej? Czy może być bardziej    
efektywnie? Które inne narzędzie analityczne tak potrafi?

Otóż...
W AFINIE, od dawien dawna, można pobierać gotowe funkcje danych z    
kwerend oraz ze źródeł OLAP. Wypiszmy te możliwości:

1. GETDATAODBC() z kwerendy:
http://www.goldenline.pl/grupy/Komputery_Internet/afin-net/funkcja-getdataodbc-uniwersalna-funkcja-bazodanowa,1289042/
Robi się kwerendę - musi być specjalna - jedna miara i kryteria.    
Wtedy, pyk i jest funkcja...

Ale... no ta kwerenda musi być specjalna (nie każdy umie), a, poza    
tym, do każdej funkcji trzeba robić inną kwerendę. Fajne,    
proste, ale dla początkujących może być nieco skomplikowane.

2. GETDATAOLAP() z tabeli przestawnej:
http://www.goldenline.pl/grupy/Komputery_Internet/afin-net/funkcja-getdataolap-raportowanie-z-hurtowni-danych-olap,1291016/
Jeszcze prostsze! Robimy tabelę przestawną na kostce olapowej, a    
potem, od razu, pyk i jest funkcja.

Ale... trzeba mieć olapowe źródło danych. Prawie nikt takowego    
nie ma, bo, dla analityków, OLAP to kosmos.

NO TO POGÓDŹMY prostotę z efektywnością!
Robimy najprostszą kwerendę (możemy ją potem, zresztą, dowolnie    
modyfikować!), taką, żeby zawierała np. szeroką tabelę dla    
danego tematu analitycznego.
Potem robimy na tym tabelę przestawną - I TU, DOWOLNIE! Albo    
kwerenda do zwykłego arkusza i potem, na tym arkuszu, tabela    
przestawna, albo kwerenda bezpośrednio do tabeli przestawnej!    
DOWOLNIE, JAK KOMU WYGODNIE. Dla początkujących, oczywiście,    
opcja nr 1.

I, jak już taka tabelka jest...
...to hulaj dusza, piekła nie ma. Rób, co chcesz! Bierz dowolne    
wartości do swojego raportu, przestawiaj tabelę,    
wiersze-kolumny-filtry, co chcesz!

I zrób sobie raport, jaki ci się żywnie podoba. Wszystko myszką.    
Pyk, pyk, pyk i jest raport.
I nie bój się, że jak przestawisz tabelę przestawną (np.    
usuniesz jakiś, używany w funkcjach WEŹDANETABELI wymiar), to ci    
jakieś funkcje będą zwracać błędy. Nie będą! Bo funkcje    
biorą dane bezpośrednio ze źródła danych, a tabelki służą,    
tylko i aż, do ich MAKSYMALNIE PROSTEJ definicji. Możesz nawet,    
potem, usunąć te tabele przestawne.

Prostota i efektywność do bólu.

Smacznego popcornu!
http://afin.net/webcasts/Demo_GetdataodbcFromPivotTablesOnQueries.swf