wtorek, 28 grudnia 2010

Analiza logu internetowego

Filmu brak. Tym razem Html-ek, czyli publikacja AFINA pliku-analizy    
logu internetowego domeny AFIN.NET.



Dane tylko dla kilku godzin, tylko dla niektórych grup plików.
A-artykuły, W-webcasty, K-książka, S-przykłady, nie ma nic o    
oglądanych plikach witryny i ściąganych plikach. Tajemnica ;)

Od ochoty do roboty - ok. 1 minuty
(Wejście na stronę, zalogowanie się, ściągniecie logu, zapis,    
uruchomienie, odświeżenie tabeli przestawnej)

Od pomysłu do przemysłu - ok. 2 godzin.
(Czyli cały proces stworzenia takiej analizy, a, proszę zwrócić    
uwagę, jak te logi internetowe są skomplikowane!)

Tak szybkie zrobienie użytecznej i gotowej do użytku    
analizy-raportu w tak krótkim czasie - możliwe chyba tylko w    
AFIN.NET. I tylko SQL-em.


Jest to doskonały przykład SPOSOBU PODEJŚCIA DO PROBLEMU w    
AFINIE.
Są dane - jakiekolwiek, z jakiegokolwiek systemu. Tekstowe,    
nieuporządkowane, niepogrupowane, bez słowników - normalka, jak    
to z SAPA, no nie? Siadamy i po krótkim dość czasie mamy gotową    
analizkę.

A może zrobię z tego jeszcze kosteczkę...?

wtorek, 21 grudnia 2010

Sprawdzanie poprawności danych z formularzy SQL-em

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

1. Szybko
2. Bezbłędnie
3. Na otwartych (!!!) plikach. Na zamkniętych to normalka.
4. Bez makr!
5. Zasada: Excela nie da się zabezpieczyć, ale można go BARDZO    
dogłębnie skontrolować z zewnątrz.

Oczywiście, jest to dość skomplikowane, ale możliwe.
W każdym razie jest bardzo efektywne = elastyczność Excela +    
niezawodność i szybkość SQLa.

A AFIN pomaga, bo po to jest.

piątek, 10 grudnia 2010

Architektura SOA2 (C) AFIN

Witam.
Długom się zastanawiał, co w tym, co ja proponuję, jest nie tak, że nie bardzo ktokolwiek chce to zrozumieć.
Historia informatyki to najpierw "grubi klienci" (przykładów aż nadto - pomijam), potem zachwyt nad client-server (CS) (szybko zresztą minął) teraz to wszystko wraca, jak moda w muzyce - różnica tylko taka, że teraz cykle trwają krócej, szybciej się ta moda zmienia.
Dopiero co był zachwyt nad CS - te wszystkie BI to przecież pogrobowcy CSa - to "Serwer wie lepiej", "Serwer ma wiedzę, którą dostarczyli mu konsultanci" (aż mi się klawisze uginają, jak pisze takie bzdury), "ty użytkowniku tylko wyświetlaj 'JWP' (jedna wersja prawdy) na prześlicznym raporcie/wykresie/tararara"

No to jak mija moda, to się zaraz pojawiają "innowatorzy" , czyli "straszni przeciwnicy" poprzedników. Ja też kiedyś mało co nie dostałem w zęby za grzywkę a'la Ciechowski, bo właśnie nadeszła moda punkowa, a moją jedyną winą było za długie jej noszenie, tzn. nie wyczułem czasu zmiany.
Tę rolę pełni teraz QV i jemu podobni. Czyli powrót do "grubego klienta" za wszelką cenę, żeby się maksymalnie różnić - a sens znowu jest pomijalny.
Ale jeszcze nie skonsumowano tych pomysłów z IMA, a już pojawia się 'Chmura', czyli kolejna wersja CSa tylko zaś w wersji bardziej przesadzonej.
Taki 'iPad', ładny ekran i miliony "usług" pod spodem.
Ciekawe, dlaczego w działach analiz nie działają na iPad-ach?

Nikt nie widzi prostej rzeczy, że pomiędzy GK a CS jest cała gama architektur pośrednich, z elementami jednej i drugiej, z serwerem w roli dostarczyciela danych, z warstwą pośrednią (ale ELASTYCZNĄ) oraz... no właśnie - no muszę to napisać, bo nic innego tu nie ma - Excelem.
Nie "arkuszem kalkulacyjnym", czy to Google Docs-em czy OO.o Calciem - nie, Excelem. Bo tylko Excel jest "wystarczająco gruby" na tę architekturę.
GD i OO.Calc są pogrobowcami CSa. Najlepszy dowód - klasyczny CS (czyli Oracle) kupuje OO Calca, a Google (klasyczna "chmura") robi GD.

GK być musi, a Excel spełnia to zadanie znakomicie. Musi być też serwer, ale tych teraz już aż nadto. Musi być jakaś warstwa pośrednia, ale teraz pełno "darmowych baz" do zrobienia takiej własnej HD.

Przecież to proste jak budowa cepa, tylko jeszcze nikt tego nie kuma.
Ja to nazwałem:
Simple Spreadsheet-Oriented Open Analysis Architecture (SSOOAA - SOA2)
To samo, ale z akcentem na rozróżnienie źródeł danych:

czwartek, 18 listopada 2010

Zapisywanie danych do plików tekstowych

Tworzenie plików/dopisywanie danych

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

P.S.
SQLki, żeby kopiować, nie przepisywać:

DOS    del C:\test\danetxt.txt

wait    00:00:01

DBQ=C:\Test; Driver={Microsoft Text Driver (*.txt; *.csv)};    
Extensions=txt,csv,tab,asc
SELECT * INTO danetxt.txt FROM [Faktura$] IN    
'c:\kursexcela\dane\sprzedaz'[excel 5.0;]
WHERE nazwa LIKE '[A-C]%'

DBQ=C:\Test; Driver={Microsoft Text Driver (*.txt; *.csv)};    
Extensions=txt,csv,tab,asc
INSERT INTO danetxt.txt
SELECT * FROM [Faktura$] IN 'c:\kursexcela\dane\sprzedaz'[excel    
5.0;]
WHERE nazwa LIKE '[K-Z]%'

środa, 10 listopada 2010

AFIN.NET.IS.EXE - programowalna automatyzacja przetwarzania danych a'la "job" SQLS

Nie, no to już jest przegięcie...

To już naprawdę do zrobienia hurtowni danych nie jest potrzebne    
ŻADNE Business Intelligence, ŻADEN program hurtowniany ani nawet    
AFIN???

Programik 20 kB (KILOBAJTÓW!!!), jego ustawienia to 500 bajtów...    
I to ma robić nam Hurtownię Danych?

- TAK.

Automatycznie (start albo ręcznie, albo standardowymi "zadaniami"    
Windows)
Może działać na dowolnej bazie danych, brać dane z dowolnej bazy    
danych.
Działa w tle (nie informuje nawet o swoim działaniu), bezboleśnie    
dla użytkownika. Może działać zarówno na stacji roboczej, jak i    
NA SERWERZE - wtedy mamy gwarancję, że hurtownia jest stale    
aktualna i w ogóle jest fajnie.
Aaa..., może to ważne? Freeware. Darmoszka. Luzik, klik i jest.

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

No dobra. Chociaż to 1-sza wersja, wystawiam toto 
http://afin.net/downloads/AFIN.NET.IS.EXE.ZIP

Uprzejmie proszę o pochwalenie się publicznie efektami.

środa, 3 listopada 2010

SQL Server - Dodawanie funkcjonalności do serwera (trigger)

Trigger - co to jest?

Analitycy uwielbiają programować. Uczą się VBA, żeby automatyzować sobie pracę, piszą makra, żeby dane jakoś się przerabiały - z postaci surowej na postać, zdatną do analizy lub do dalszych przeróbek - czyszczenia, łączenia, grupowania, sortowania, wybierania, itp.

Oczywiście, informatycy takie rzeczy mają w małym palcu i codziennie robią je na serwerach bazodanowych.

Pytanie:
Czy analitycy też mogą?
Czy można zautomatyzować pracę serwera po np. uaktualnieniu danych w jednej z tabel?
Czy można, np. po aktualizacji budżetu (np. w jednej ze 100 tabel) mieć od razu uaktualnione i przerobione dane do analiz dla wszystkich analityków. Bez roboty, makr, otwierania, wysyłania?

Film:
afin.net/webcasts/Demo_ManagingSQLS_Trigger1.swf

W VBA takie operacje nazywają się "zdarzeniami" - automatycznymi reakcjami jakiegoś obiektu na coś - dodanie danych, ich zmiany, itp.
Ale, żeby tak prosto zrobić sobie automatyzację na serwerze? A Excel, żeby dostawał już dane w formie przyjaznej...

(Współpraca z informatykiem pożądana - on wie JAK, my, analitycy, wiemy CO.)

piątek, 29 października 2010

SQL Server - Dodawanie funkcjonalności do serwera (procedury i funkcje)

Temat:
Informatycy twierdzą, poniekąd słusznie (choć nie zawsze mają rację w 100%), że funkcjonalności bazodanowe powinny znajdować się i być uruchamiane na serwerze.
Ma to kilka zalet (chociaż oni twierdzą, że tylko tu się w ogóle da), a mianowicie:
1) Może być uruchamiane niezależnie od analityków, a nawet niezależnie od dostępności ich komputerów, czyli np. w nocy
2) Jest sterowane i zarządzane centralnie, uruchamiane automatycznie i takie tam.
3) Jest "profesjonalne", ktoś ma/daje uprawnienia, itp.

Film:
afin.net/webcasts/Demo_ManagingSQLS_ProcsFuncs.swf

Wnioski:
Nie ma funkcjonalności na serwerze? To sobie ją zrób.
Transact SQL nie jest, co prawda, bułką z masłem, ale informatyk pomoże (jak się mu powie, że mu robota odpadnie)

UWAGA:
Najpierw konieczne jest WYDZIELENIE całkowicie odrębnej bazy danych lub postawienie oddzielnego serwera (darmowy MS SQL Server Express się sprawdza doskonale, roboty na 15 minut)

piątek, 15 października 2010

Raportowanie finansowe - kody controllingowe

Czy implementacja controllingu jest trudna, skomplikowana i droga?

Bajka:

Mamy jakąś tam księgowość - praktycznie dowolną, dowolnej    
wielkości.
I chcemy wprowadzić klasyfikację kosztów, która w żaden sposób    
nie pasuje do stanu obecnego naszej ewidencji. Jak to zrobić szybko    
i bezboleśnie?

Oczywiście potrzebne są zmiany organizacyjne - musimy ustalić z    
księgowością, jak ma klasyfikować dokumenty według naszych    
controllingowych wymagań - wprowadzamy tzw. system kodów    
controllingowych:
Każdy dokument jest przyporządkowywany do naszych grup...
tylko GDZIE?
Otóż, najprościej, w polu TREŚĆ TRANSAKCJI
Ale JAK?
Jakkolwiek, byle można to było odczytać bazodanowo.
Tu, w naszej bajce, zastosowano 6 nowych wymiarów ewidencji:    
A,B,C,D,E,F, każdy wymiar ma 10 stanów, od 0 do 9.

Więc każdy koszt opisujemy:
:A7:F9 (czyli w wymiarze A ma wartość 7, a w wym. F wartość 9)
:A5:D4
:C5:E5:A9
:B6:D5
:C1:E1
:A8
:C6:F5
:B9:F0:C5
:B1:D6
:C6:F6:A1
:A4:E0
:D7

I... pyk...

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

Niezła bajka, no nie?
Do wdrożenia bardzo szybko.
Technicznie - 1 dzień, największy problem to problem    
organizacyjny, w każdym razie, technicznie, to chwila.

Tu się, wbrew pozorom, dużo dzieje:
1. dane są zasysane do hurtowni
2. dane są uzupełniane i poprawiane (uszlachetniane)
3. budowana jest kostka OLAP naszych kodów księgowych

A raport po prostu się otwiera i jest.


I drugi przykład - na tej samej kostce i tych samych danych.
Tym razem bez zmiany danych, ale ze zmianą ich przyporządkowania    
do poszczególnych kodów controllingowych.

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

Warto wspomnieć o takich szczegółach dodatkowych, jak:
1. konsolidowanie danych z wielu miesięcy, oddziałów, itp. -    
patrz: konsolidacja - temat rozpracowany
2. Nazewnictwo wymiarów (semantyka biznesowa) - temat również    
już przerabiany
3. Wielkość danych - w przypadku kostek OLAP, wielkość danych    
źródłowych jest praktycznie bez znaczenia - bardziej przeszkadza    
w odczycie dużej kostki, niż w procesie jej tworzenia. Przy    
szczególnie duzych danych, polecamy tworzyć tzw. Data Marty, czyli    
mniejsze kostki tematyczne lub wydzielone np. okresami (Raporty robi    
się przede wszystkim na okres bieżący, ale wszystkie są do    
natychmiastowej dyspozycji)

środa, 13 października 2010

Raportowanie finansowe - kostka bilansowa


POWAŻNE (!) RAPORTOWANIE FINANSOWE
Robimy słowniki:
1. mapujący konta (oczywiście, w Excelu)
2. struktura sprawozdania, która ma być strukturą kostki
(oczywiście, w Excelu)

I...

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

1. Odświeżanie danych (administracyjne, czyli poważne - można
zautomatyzować, w tym uruchamiać o określonej godzinie, itp.) -
jeden klik
2. Odświeżanie raportów (czyli, de facto, tabel przestawnych)
przez księgowych/analityków - również jeden klik. Co ciekawsze,
użytkownik końcowy NIE MUSI mieć AFINA - Excel wystarczy (od
wersji 2000 w górę)

Wdrożenie tego w dowolnej* firmie to, praktycznie, tylko
sporządzenie (ramię w ramię z księgową) słownika mapującego
konta, czyli 1 dzień. I, tak szczerze, można to zrobić samemu -
czytaj: bez konsultantów, usług, zamówień, umów, przepychanek,
tzw. "kosmosu, znaczy się wiedzy eksperckiej, BI")

Oczywiście, można tak zrobić DOWOLNE SPRAWOZDANIE w dowolnym
języku, na dowolnym, od nas zależnym, stopniu szczegółowości.
Dodatkowo, można z tego korzystać jak z przetworzonych danych.
Funkcje AFINA, np. GETDATAOLAP() potrafią wyciągać dane z
dowolnych kostek, czyli można robić własne (we własnych
układach) raporty z danymi ze 100 różnych kostek.

Wszystko można.


* "dowolnej" oznacza DOWOLNEJ! - bardzo duże firmy mają takie same
konta, jak małe, a to, że maja na nich więcej zer, nie ma
znaczenia. Kostka OLAP pozwala zamknąć kompletną księgowość
(salda i obroty wszystkich kont analitycznych) z wielu lat w firmie
rozmiaru 'elektrownia' - w pliku o wielkości <10 MB.
(Konsultanci będą twierdzić inaczej.
Oczywiście.)

czwartek, 7 października 2010

Kreator kostek OLAP

Artykuł - pomoc
"Tworzymy własną kostkę OLAP - krok po kroku"

http://afin.net/articles/AfinNet_Article_MyOlapCube_PL.htm

Przyjemnej lektury i poważnych efektów!

Tags: OLAP : Cube : Wizard : Excel

poniedziałek, 4 października 2010

Zrób sobie prostą kostkę OLAP (w Excelu 2007 lub 2010 !!!) (ABC)

Zrób sobie prostą kostkę OLAP (w Excelu 2007 lub 2010 !!!)
Film (329s):
http://afin.net/webcasts/ABC_AfinNetCubeBuilder.swf

Tu więcej info i przykładów:
http://www.goldenline.pl/forum/1394066/kreator-kostek-olap

Tags: OLAP : Cube : Wizard : Excel

czwartek, 30 września 2010

Kreator funkcji DANE - w najprostszej możliwej formie (ABC)

Kreator funkcji DANE - w najprostszej możliwej formie

Czyli jak, krok po kroku, stworzyć własną funkcję do danych - tu    
do najprostszej tabeli i posiadającą tylko dwa proste argumenty -    
w sam raz dla początkujących.

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

1. Tworzymy kwerendę do tabeli - wyświetlamy tylko te pola, które    
będą bezpośrednio, albo pośrednio, argumentami funkcji
'Customer' - argument bezpośredni (czyli tekst nieprzetworzony')
'Year' - wyciągnięcie roku z daty, by się nią łatwiej    
posługiwać w funkcji

2. Kreator miary: definicja miary, argumentów i zapis definicji

3. Użycie w arkuszu

Własna funkcja - to moment!

czwartek, 16 września 2010

Edytor zapytań SQL

Módl się i pracuj, a dojdziesz do celu...
Albo zrób to szybciej - w SQLu

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

Tu: pokaz dostawania się (w celu ćwiczenia zapytań) do różnych    
baz:
1) Access
2) SQLS
3) MySQL (baza na serwerze internetowym, z hasłem) - proszę    
zwrócić uwagę na sposób zapisania hasła w kwerendzie i,    
docelowo, w ciągu połączenia bazodanowego.

Proszę mi znaleźć jeden, słownie JEDEN, inny edytor zapytań SQL    
w którym podmiana bazy byłaby łatwiejsza!
Można ją nawet sparametryzować zawartością innych komórek, ale    
to Excelowcy wiedzą doskonale...

środa, 8 września 2010

XML, Internet, konsolidacja, czyli kursy walut NBP w tabeli przestawnej

Problemy:
Mamy dane (tu XMLe w bazie internetowej - kursy walut NBP)
1. rozproszone - w wielu plikach
2. w formacie XML - ODBC tego nie czyta, a wszelkie próby SQLXML i    
innych bibliotek specjalizowanych to porażki
3. Internet - trzeba najpierw w ogóle ściągnąć dane

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


Warto jednak powyższy przykład przeanalizować głębiej.

Prawie ZAWSZE problemy z uzyskaniem danych wyglądają tak, jak w    
tym przykładzie. To, że ten przykład jest "internetowy" to tylko    
lekkie przerysowanie - problem jest ten sam:

1. Systemy wyrzucają dane w jakimś nieprzystępnym formacie -    
najpierw trzbe je w ogóle uzyskać - tu: ściągnąć z Internetu,    
normalnie: wyeksportować z ERPa

2. potem trzeba te dane jakoś dostosoać do formatu excelowego lub    
innego bazodanowego - tu: konwersja z XML do XLS (specjalny    
konwerterek AFINA!), normalnie: zapuścić jakieś makro    
poprawiające kropki na przecinki, itp. błędy na wydrukach

3. Dane, nawet po tych operacjach, dalej są rozproszone i trzeba je    
konsolidować - tu: w bazce accessowej, normalnie: karkołomnymi    
operacjami w Excelu

4. Trzeba z tych danych robić raporty - tu: tabela przestawna, bo    
dane ślicznie skonsolidowane, normalnie: setki łącz, zakładek,    
funkcji (czytaj: bałagan)

A, w AFINIE, pyk-pyk-pyk...

wtorek, 7 września 2010

SkyDrive - Zarządzana publikacja raportu

Dzisiaj w naszym kinie:

Publikacja raportu AFIN.NET na SkyDrive (czyli DO Internetu)
oraz
zbieranie danych excelowych poprzez SkyDrive'a (czyli Z    
Internetu)

Czytaj: Zarządzanie publikacją WEB-ową danych    
excelowych/AFINOWYCH

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

Łatwo, szybko i ZA DARMO.

środa, 1 września 2010

Pobaw się SQL-em (ABC)

Pobaw się SQL-em
http://afin.net/webcasts/ABC_SqlEditor.swf

Oczywiście, nasz edytor można podłączyć pod DOWOLNE ŹRÓDŁO    
DANYCH.


A tak, przy okazji:
Na filmie pokazano jedyne SENSOWNE użycie funkcji tablicowej    
Excela.
Wiem, że jest wielu zafascynowanych możliwościami funkcji    
tablicowych, ale, pomimo ich niewątpliwych zalet, są one zbyt    
ciężkostrawne, chyba, że do tak prostych zastosowań, jak    
"pobierz tablicę z funkcji bazodanowej".

Uwaga:
AFINOWY Edytor SQL jest już dostępny jako normalny SZABLON AFINA.
I, chociaż to banalnie proste, nie trzeba go "robić od nowa" jak    
na filmie.
Pyk-pyk-pyk i jest. I można ćwiczyć.

poniedziałek, 23 sierpnia 2010

Mój, śliczny ;) , pulpit menedżerski

BI jest super, więc wymaga super oprawy


A tu filmik ;)
http://afin.net/webcasts/Demo_Publication_MyDashboardWordArt.swf

SkyDrive - Zarządzana publikacja raportu

Ciekawostka ad SkyDrive:

Można publikować (=kopiować do folderu) DOWOLNE pliki...
czyli też kostki OLAP

Tłumaczenie na j.polski
Mamy centralną bazę np. księgową - tu wszystkie dane. Żeby    
rozesłać po oddziałach dane dot. danego oddziału, wydzielamy te    
dane i co? Pocztą? udostępniamy katalog? Wszystko kosztuje czas na    
przesyłanie dużych plików.
Rozwiązaniem jest OLAP, ale tez i problemy? Budować od razu    
wielką hurtownię? Stawiać jakieś wynalazki typu serwer    
udostępnia dane - kostki odbudowują się w oddziałach (trudno to    
zorganizować, obsługiwać, itp)

A można AFINEM zbudować 20 kostek, zapisać je na SkyDrive, a    
każdy z użytkowników klika 1 raz na kostce i... kostka mu się    
otwiera w Excelu!
Centralne zarządzanie tematem i uprawnieniami, łatwy dostęp, zero    
wymagań co do umiejętności użytkownika! Warto się    
zainteresować.

Przykładowa kostka 'Sprzedaz.cub' w folderze 'Dane' z http://cid-42ac4083b32e6ab0.office.live.com/browse.aspx/PublicSharedWorkspace/Reports
AFIN może odświeżać dowolną ilość takich kostek naraz.

piątek, 20 sierpnia 2010

SkyDrive - Zarządzana publikacja raportu

Jak opublikować raport w Internecie?
(Tak, żeby był dostępny, ale żeby tym dostępem móc    
zarządzać, a najlepiej jeszcze łatwo zarządzać.)

SkyDrive!
Film:
http://afin.net/webcasts/Demo_ManagedReportPublicationOnSkyDrive.swf

Można umieszczać raporty w folderach, udostępnionych tylko    
wybranym (zalogowanym) osobom (wtedy można też edytować w    
przeglądarce)
albo w folderach publicznych - ogólnodostępnych (do ściągnięcia    
jednym klikiem)

Tu - w folderze publicznym - ale pokazano oba przypadki dostępu w    
dwóch przeglądarkach - zalogowanej i niezalogowanej.
http://cid-42ac4083b32e6ab0.office.live.com/browse.aspx/PublicSharedWorkspace/Reports

Po prostu - zrób raport i przeciągnij do odpowiedniego folderu.
Jakie to proste!

czwartek, 19 sierpnia 2010

Konsolidacja danych przez Internet z formularzy (plików Excela)

Zmienił się trochę Office Live Workspace (na gorszy SkyDrive).
Uprościły się szablony AFINA.

Więc i jest nowy filmik (podobny do poprzedniego)
http://afin.net/webcasts/Demo_ExcelFormsConsolidation_OfficeLiveWorkspace.swf

środa, 18 sierpnia 2010

Kompletna Hurtownia Danych ETL DTS MOLAP

Uwaga!
Tylko dla wytrwałych - film ma prawie 19 minut
Ale, cóż to dla miłośników polskiej kinematografii...

Jest to PRAKTYCZNA REALIZACJA IDEI SOA2
(Simple Spreadsheet-Oriented Open Analysis Architecture)



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

Opis:

1. Zasysam 2 tabele z SQL Servera (1:1, tzw. ETL), każdą osobno,    
żeby pokazać, że może ich być 100, każda z innego systemu.
Wszystko myszką.

2. Na ich podstawie, już w hurtowni, tworzę tabelę - połączenie    
relacją dwóch poprzednich tabel - jest ona (ta nowa tabela)    
podstawą do budowy kostki, ale też zostanie potem wykorzystana    
jako tzw. hurtownia ROLAP (DTS ROLAP)
Można tak połączyć i 100 tabel. Można też robić dowolne    
operacje bazodanowe.

3. Tworzę definicję kostki OLAP, oczywiście kreatorem AFINA, bo w    
E2007 kreatora OLAP wycięto, dodając własną definicję wymiaru    
CZAS - proszę zwrócić uwagę na uszlachetnienie tej tabeli    
funkcjami SQL (DTS MOLAP).
Można tworzyć dowolne uszlachetnienia danych, kostki, jakie kto    
chce, itp.

4. Uruchamiam program przetwarzający całość - jednym    
kliknięciem odświeża się całość - łącznie z odświeżeniem    
kostki.
Jednym programem można odświeżyć i 100 kostek.

5. Tworzę nowe źródła danych ODC (Office Data Connection) -    
jedno do tabeli w hurtowni accessowej, drugie do kostki OLAP
W zwykłym Excelu! Do raportowania AFIN nie jest niezbędny.    
Oczywiście, wnosi - i to dużo - ale standardowym klientem hurtowni    
jest Excel.

6. Na podstawie tych nowych(!) źródeł ODC tworzę raport z obu    
źródeł + wykres przestawny
I co tam chcę, bo jestem w Excelu!

W NIECAŁE 20 MINUT!
Na film to długo, ale pomyślcie, ile potrzebują na to    
"specjaliści"...

piątek, 13 sierpnia 2010

SQL Server (Express) jako baza danych analityka

Odświeżanie WIDOKÓW hurtowni danych w SQLS czystym Excelem (!)
oraz tworzenie i odświeżanie TABEL owej hurtowni AFINEM


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

Wnioski:
Jakie to proste!

1. Hurtownia danych pozostaje w bezpiecznym, zarządzanym    
środowisku SQLS
2. Tabele dodaje oraz widoki tworzy jej administrator (jak widać    
analityk też może być - jest to proste jak budowa cepa)
3. Analityk - klient informacji otwiera sobie Excelka, klika    
'Odśwież' i ma, co chce!


Uzupełnienie poprzedniego

Czyli: jak zrobić własną hurtownię danych, nie znając SQL    
Servera, tylko i wyłącznie standardowymi programami MS Office, a    
konkretnie Accessem.

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

W Accessie projektujemy pobieranie danych (tabele dołączone z    
najróżniejszych źródeł danych), w Accessie projektujemy    
kwerendę(y) i JEDNYM PROSTYM RUCHEM robimy z tego nową bazę w MS    
SQL Server, tu: wersja Express, czyli darmowa.

Budowa kwerend i ich odświeżanie to już czysty, najczyściejszy,    
Excel.
Klikając 'Odśwież kwerendę' w Excelu odbywa się dość    
skomplikowany proces odświeżania widoków i tabel - kwerenda    
Excela odświeża widok w SQLS, ten z kolei odświeża tabele    
dołączone, które odświeżają się na podstawie źródeł danych    
- proszę zwrócić uwagę, że wśród nich jest także internetowa    
baza MySQL.

Wszystko potem to JEDEN KLIK, definicja jest banalnie prosta, a    
narzędzia... darmowe.

wtorek, 10 sierpnia 2010

środa, 28 lipca 2010

piątek, 23 lipca 2010

środa, 7 lipca 2010

Własna funkcja - VLOOKUP do plików zamkniętych

Jest i artykulik na ten temat - jakby ktoś wolał książki od    
telewizji... ;)
http://afin.net/articles/AfinNet_Article_MyGetdataFunction_PL.htm

To 1. wersja - będzie jeszcze poprawiany
Proszę o uwagi.

czwartek, 17 czerwca 2010

Zarządzanie plikami w folderze

...(czytaj: budżetami)

Ludzie budżetują w Excelu.

Mają z tym dużo problemów, itp., ale problemy z łączami i    
konsolidacją już ćwiczyliśmy.
Jest też problem zarządzania tą kupą plików, poza tym są one    
bardzo często podmieniane (nowe wersje, nowe pliki,...):
Kilka lat * kilka wydziałów * dużo centrów kosztowych na tychże    
wydziałach * NIEZLICZONA ILOŚĆ WERSJI BUDŻETÓW =    
duuuuuuuuuuuuuużo plików.

I jak się w tym połapać? Kto, co, kiedy, ile razy, itp.?
Może tak:

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

Kontrola tysięcy plików dwoma kliknięciami.

wtorek, 15 czerwca 2010

Kreator kostek OLAP - miara kalkulowana

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

Proste, no nie?
(za free!!!)

Natchnienie:
http://www.goldenline.pl/forum/1747982/kostki-olap-customrollupcolumn-specyficzna-formula/s/1#33182318
P.S.
Zrobione, jak widać, w Excelu 2007, który NIE POSIADA kreatora    
kostek.
Oczywiście można kostkę dowolnie rozbudować i w ogóle...
http://www.goldenline.pl/forum/1394066/kreator-kostek-olap/s/1#30021328

Konsolidacja danych przez Internet z formularzy (plików Excela)

Ludzie lubią Excela. Lubią i już.
Nie wyobrażają sobie, że dane będą wpisywać w cokolwiek    
innego.

Jak to się robi?
Normalnie - manufakturka.
Pliki Excela wypełniane są gdzieś tam, po czym przesyłane    
pocztą do nas.
Poczta się zapycha, poprawki w jedną i drugą stronę, porwane    
łącza - codzienność pracy analityka, czyż nie?

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

Po co Share Point? Po co BI? Po co "systemy do budżetowania"?

P.S.
Żeby nie było...
Tu też istnieje cały system zabezpieczeń - każdy może mieć    
dostęp tylko do swojego pliku, wypełniać tylko określone pola    
itp. My to wszystko możemy w locie przepuścić przez tysiąc    
warunków sprawdzających poprawność danych jak i ich struktury -    
czy w plikach nikt nic nie poprzestawiał, itp.

A na końcu - jeden i klik i jest.

środa, 9 czerwca 2010

Full Profi Hurtownia Danych (ABC)

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

Full Profi Hurtownia Danych!
Łatwo stworzyć, łatwo odświeżać, łatwo używać (czystym    
Excelkiem)!

A że skala pokazowa? Spróbuj na większych plikach!

wtorek, 8 czerwca 2010

ABC czyli 'Jak krowie na rowie'.

Zapraszam na festiwal nowych filmików - nowa seria! - "ABC"

Trzymają w napięciu - jak "W11" lub "YCD"
Dużo się dzieje - jak w Bondzie albo jakim "Jaka to melodia?"
Nudne jak obrady Sejmu albo jaka Opera
(Po trzech godzinach siedzenia w operze, spojrzałem na zegarek -    
była 20.15
/Opery zaczynają się zwykle o 20-tej/)

A tak serio, to pokazuję w nich PODSTAWY, takie podstawy podstaw,    
ABC do bólu - włącz AFINA i możesz robić od razu. A jak nie    
umiesz - to pisz! Bo to moja wina, że Ty nie umiesz.

Powodzenia! Komentarze mile widziane.

Program festiwalu:
http://afin.net/webcasts/ABC_ConsolidateExcelFiles.swf
http://afin.net/webcasts/ABC_IntoExcel.swf
http://afin.net/webcasts/ABC_MyFunction_DataFromExcel.swf

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

Ekipa filmowców pracuje...

I to ostro!
http://afin.net/webcasts/ABC_Publication1.swf

czwartek, 3 czerwca 2010

Automatyzacja poboru (/odświeżania) danych (/hurtowni/raportów)

Czy można zautomatyzować proces cyklicznego łączenia się i    
poboru danych?
Czy temat "odświeżanie hurtowni w nocy" można załatwić tanio,    
czy też jest to domeną drogich systemów?
Czy można to (z)robić nie tylko z baz lokalnych, ale także tych    
internetowych?

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

Pewnie, że można. I to już. 'Pyk' i jest.

środa, 2 czerwca 2010

Własna funkcja DANE() (alias GETDATA)

Od podstaw:
Chcemy mieć raport.
Chcemy w nim mieć funkcje, której wartości (Sprzedaż czegoś tam    
w danym mieście) będą zależne od nazwy miasta, czyli
=DANE("NazwaZmiennej", "NazwaMiasta")
Funkcja, oczywiście, ma być Excelowa, łatwowpisywalna,    
szybkoprzeliczalna, niepsująca się i takie tam, oczywistości.


Jest jednak problem, a właściwie parę problemów:

1) Dane trzeba sumować w locie, tzn. nie interesuje nas wartość    
jednej pozycji (faktury) - więcej: nie interesuje nas sprzedaż dla    
pojedynczego kontrahenta - nas interesuje MIASTO.
No to SUMA.JEŻELI() albo tabela przestawna... , ale...

2) Dane są w dwóch tabelach - jedna ('faktura') zawiera dane    
numeryczne, druga ('odbiorca') to jej słownik - tu są dane    
kontrahentów, czyli m.in. miasto.
Co to za problem? przecież jest wspaniała funkcja WYSZUKAJ.PIONOWO    
- ona nam ściągnie miasto do faktur... ale...

3) Dane są zmienne - codziennie się zmieniają. Zmieniają się    
dane numeryczne, ale także rozrasta się słownik.

No to czekają nas długie godzinki przeklejania, modyfikacji    
zakresów, pilnowania, żeby otwarcie plików czegoś tam nie    
zablokowało, tysiące kopii, dziesiątki poprawek, itp. taki sobie,    
comiesięczny, standard analityka...


Chyba że...
...zrobimy sobie WŁASNĄ FUNKCJĘ!

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

wtorek, 1 czerwca 2010

SQL - ciekawostki

MySQL: Funkcja GROUP_CONCAT

Kolejna ciekawostka - tym razem rodem z MySQL - informacyjne    
łączenie tekstów elementów, tworzących grupę (podlegających    
grupowaniu) w jednym polu tekstowym.
(=nowa funkcja agregująca na polu tekstowym)

MIASTO     Klienci                               Sprzedaż
WROCLAW    JARIMPEX,SIANEX,HANIMPEX,AREX,FRANEX     284,8
WARSZAWA   JUREX,KOWALSKI,IMPEX                     199,2
OPOLE      BRONEX,DAREX                              87,5
LEGNICA    EDEX,EXIMP                                45,7
SZCZECIN   CELIMP                                    19,4
BIALYSTOK  NOWAK                                     16,2
CIECHANOW  ANEX                                       5,5
GDANSK     GRZESIEX                                   4,5
I, oczywiście, SQLek:

SELECT odbiorca_0.MIASTO, GROUP_CONCAT(DISTINCT faktura_0.NAZWA) AS    
'Klienci', Sum(faktura_0.WART_NET) AS 'Sprzedaż'
FROM afin_Sales.faktura faktura_0, afin_Sales.odbiorca odbiorca_0
WHERE faktura_0.NAZWA = odbiorca_0.NAZWA
GROUP BY odbiorca_0.MIASTO
ORDER BY Sum(faktura_0.WART_NET) DESC

wtorek, 25 maja 2010

Pobierz plik z Internetu i go użyj

Problem:
Aby pobrać i odczytać dane z pliku, wystawionego w Internecie    
(HTTP) trzeba:
1) uruchomić przeglądarkę internetową (1 kliknięcie + dwie    
sekundy na załadowanie)
2) przejść do strony z plikiem lub katalogu webowego (1    
kliknięcie, jeśli w 'ulubionych' + sekunda na załadowanie)
3) kliknąć na wybrany plik (1 kliknięcie)
4) potwierdzić, że chce się go zapisać, ew. wskazanie katalogu    
do zapisu (min. 1 kliknięcie)
5) otworzenie pliku np. w Excelu (min. 2 kiknięcia)
RAZEM: Min. 5 kliknięć + ok. 10 sekund życia utracone    
bezpowrotnie :(

...albo...
otwierać plik w Excelu z HTTP://...
(trzeba wpisywać ścieżkę, zwykle długą i potem zapisywać plik    
na swoim dysku poprzez 'zapisz jako')

...albo...

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

Oczywiście można tak ściągnąć dowolną ilość plików jednym    
'procesem', czyli jednym kliknięciem.

poniedziałek, 24 maja 2010

Import tekstu przez ODBC

Pokaz wydajności powyższego.

Dokładnie taki sam film, jak powyżej, ale plik tekstowy ma    
PONAD 2 MILIONY WIERSZY

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


Wydajność:
Sam filtrowany import do tabeli Accessa = 40 SEKUND
(50.000 wierszy / sek)
Całość - ze wszystkimi przeróbkami, kopiami, obliczeniami,    
wyklejkami - razem 212 sekund
(Komputer: cieniutki - 1.5 GHz, 1 GB RAM)

To mniej więcej sprzedaż dużej firmy z całego roku z    
dokładnością do POZYCJI faktury, czyli "do dokumentu" = wszystko.    

4 minuty i po problemie. Nieźle.

piątek, 21 maja 2010

Import tekstu przez ODBC

Problem:
Import tekstu do Excela i do baz danych. Ogólnie.

Nie dlatego, że trudno to oprogramować - to umieją wszyscy.    
Problem jest w tym, że twórcy aplikacji transakcyjnych, z których    
takie eksporty zwykle pochodzą, wsadzają do tych tekstów ogromną    
ilość niepotrzebnych linii, dziwnych znaków, itp.
Podstawowe wady to import całości tekstu, który czasami nie    
mieści się w arkuszu oraz dalej zawiera owe 'śmieciowe' linie,    
które w Excelu trzeba dopiero rozpoznać i ręcznie usunąć -    
koszmar.

Jak się go rozwiązuje?

1) Przez BEZNADZIEJNĄ opcję Excela 'import tekstu'. Nie dość że    
jest zła, to jest zła od 20 lat, a we wszystkich książkach jest    
opisywana jako 'dostęp Excela do danych'. Kto co i jak zna, tak    
opisuje.
A kto to próbował automatyzować przez VBA wie, jakie są z tym    
problemy.

2) Przez odczyt linia-po-linii przez VBA
Efekt duuuuużo lepszy! Czytamy jak i co chcemy, wsadzamy do arkusza    
również z pełną kontrolą. Ale są problemy - dane pozostają w    
arkuszu i trudno zrobić z tego 'zbiorcza bazę danych'

3) Przez ODBC, np. kwerendą
Rozwiązania zdecydowanie poprawne, ale jest problem - trzeba    
zdefiniować plik definicji takiego importu, czyli 'schema.ini' -    
można z tego zrobić doktorat, czyli fajne, ale skomplikowane.

4) Można również wykorzystać SPECJALNE NARZĘDZIE do tego celu -    
AFIN.NET.TextConverter. Ale, czasami, warto jednak pamiętać, że    
ODBC jest po prostu bardzo szybkie...

5) A może tak? - przez ODBC, ale wielokrokowo, parametrycznie, ale    
bezpośrednio do jakiejś sensownej BAZY DANYCH, tu: do pliku    
Accessa.
Jedno, co trzeba umieć, to bardzo niewielkie podstawy SQL.

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

Wnioski:
Można. Dość łatwo, ale, przede wszystkim, BARDZO SZYBKO I    
WYGODNIE!
I parametrycznie - gdy pojawia się nowy plik tekstowy - dogranie go    
do bazy danych to moment.

Ale proszę jednak zwrócić uwagę na pewne novum w tej metodzie:
Import tekstu jest zwykle jednoetapowy - plik importuje się i już:    
albo otwiera w Excelu, albo czyta linia po linii, albo przez ODBC,    
definiując owo schema.ini. Novum polega na tym, że tu plik    
tekstowy zaczytuje się jednym ruchem się do bazy zewnętrznej już    
przefiltrowany, ale wszystkie dalsze ruchy: podział na kolumny i    
wszystkie poprawki robi się na tabeli w bazie danych - a tu jest    
naprawdę dużo możliwości.
Dopiero na sam koniec dane trafiają do tabeli wynikowej lub są    
eksportowane do plików zewnętrznych.

Ja lepszej metody nie znam.
A AFIN.NET to ładnie automatyzuje - jeden klik.

poniedziałek, 17 maja 2010

Publikacja raportów w Internecie 2 (+parametryzacja raportów, +automatyzacja raportowania)

Problem:

No dobrze, AFIN może publikować, tzn. zapisywać do plików    
"odafinowanych" (pozbawionych funkcji AFINA, by można było je    
otwierać 'czystym' Excelem lub nawet np. Open Office'em) - fajnie.
Potrafi także zapisywać raporty na Office Live Workspace, czyli na    
internetowej platformie wymiany dokumentów - też fajnie.

Ale...
* Raporty są zwykle odgórnie parametryzowane, czyli to operator    
nadaje (wybiera, wstawia, określa) odgórny PARAMETR dla wszystkich    
raportów - najczęściej bieżący miesiąc albo kurs jakiejś    
waluty, ale są przecież raporty specjalizowane dla poszczególnych    
grup odbiorców, itp.
* tych raportów jest cała masa - nikt nie chce powtarzać    
chociażby jednego kliknięcia 'Start' dla wszystkich raportów.

Czasami raportów do zrobienia jest N (=ilość typów raportów)    
razy tyle, ile MPKów, a co miesiąc jest inny parametr miesiąca...

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

Wszystko na filmie pokazano maksymalnie wolno i "od zera"    
(INSTRUKTAŻ) - stąd film jest dość długi (14 minut)


Wnioski:

1) Nie ma najmniejszego problemu w zdefiniowaniu bardzo nawet    
skomplikowanego systemu raportowania w oparciu o AFIN.NET (gotowy    
szablon!) oraz bezpłatny dostęp do platformy internetowej Office    
Live Workspace (Użytkownika/ów definiuje się w minutę).

2) Systemy raportowe w Excelu, oparte o wysyłanie skoroszytów    
Excela pocztą nie są - delikatnie mówiąc - najlepszym    
rozwiązaniem. Faktem jest, że inne rozwiązania (np. zakup    
specjalnego systemu np. budżetowania) są w gruncie rzeczy jeszcze    
gorsze i dużo, dużo droższe.

3) Nie namawiam tu nikogo do korzystania z Office Live Workspace -    
to "Internet" i "nie wiadomo, jak zabezpieczone" itd. W ramach firmy    
zwykła sieć spełnia dokładnie takie samo zadanie, czyli tym co    
maja sieć - na sieć, tym co nie mają - do Internetu!

Wszystko to w zasięgu ręki. Dostępne natychmiast.

sobota, 15 maja 2010

Publikacja raportów w Internecie

Tworzenie i publikacja raportów w internecie jest bardzo, bardzo,    
bardzo, bardzo, bardzo, bardzo, bardzo, bardzo, bardzo, bardzo,    
bardzo, bardzo, bardzo, bardzo, bardzo, bardzo, bardzo, bardzo,    
bardzo, bardzo, bardzo, bardzo, bardzo, bardzo, bardzo, bardzo,    
bardzo, bardzo, bardzo, bardzo, bardzo, bardzo, bardzo, bardzo,    
bardzo, bardzo, bardzo, bardzo, bardzo, bardzo, bardzo, bardzo,    
bardzo, bardzo, bardzo, bardzo, bardzo, bardzo, bardzo, bardzo,    
bardzo, bardzo, bardzo, bardzo, bardzo, bardzo, bardzo, bardzo,    
bardzo, bardzo, bardzo, bardzo, bardzo, bardzo, bardzo, bardzo,    
bardzo, bardzo, bardzo, bardzo, bardzo, bardzo, bardzo, bardzo    
skomplikowane. Czyż nie?

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


Proszę zwrócić uwagę na:

1) Prostotę obsługi publikacji - JEDNO kliknięcie.

2) Możliwość publikacji dla użytkownika NIEZALOGOWANEGO. Można,    
oczywiście, tworzyć raporty i je publikować tylko osobom    
uprawnionym, tzn. zarejestrowanym użytkownikom usługi Office Live    
Workspace.
Tu pokazano raport DLA WSZYSTKICH - kto chce go zobaczyć - proszę:
http://workspace.office.live.com/?id=qACQzNGE1MDNkZi1kM2MzLTQ5NTItODA4MC1mYmVmMGRlODM5OTMAe84ySOhoOYdOtdJSu1uSuHx9e9ZStexq6TxDn3Zmyd_Zp6J9AA1hZmluNEB0bGVuLnBsABQhbg8FAct99s9xlV9_Fma0gilMTwAA&cid=40
3) Tworzenie raportów i ich przeliczanie jest DYNAMICZNE - ZERO    
ograniczeń - i on-line.

4) Publikować można tylko te arkusze, które chcemy - wystarczy    
dodać do nazwy przyrostek '.priv' i arkusz nie jest publikowany.    
Proste?

5) Można to wszystko zautomatyzować, czyli przeliczać i    
publikować wiele raportów naraz - to będzie na innym    
filmie.

piątek, 14 maja 2010

Excel 2010

Zapraszam do SZERSZEJ dyskusji nt. Excela/Office'a 2010

Ja, na razie, jestem porażony papką marketingową MS.

Przykład:
http://wm.ms-studiosmedia.com/a10065/o9/msstudio_W14/Poland/Office/w14_O_BestProdPCPhoneBrowser_500k_v1_PL-PL.wmv
Nie można współdzielić plików w taki sposób!
Jeśli chcemy mieć współpracę w sieci, tzn. wielu użytkowników    
naraz, to żaden system oparty na grubym kliencie, nie jest w stanie    
nam tego zapewnić.
Nie jest w stanie, nie twierdzę, że to MS robi to źle, a ktoś    
inny lepiej - używanie grubego klienta do tego jest po prostu    
błędne z założenia.
Google Docs wychodzi z innego założenia - "wszystko w Internecie"    
- i akurat tu (i chyba tylko tu) się to doskonale sprawdza. Nie    
mówię o efektywności takiej pracy - próbowałem, kiepsko idzie,    
mówię o tym, co O2010 ZACHWALA JAKO IDEAŁ.
(Poza tym, jeszcze nikt tego nie miał okazji tak naprawdę    
sprawdzić - Office jest DWA dni po premierze. Wiem, że był    
wcześniej w Becie i to dość długo, ale nikt go nie miał jako    
rozwiązania korporacyjnego.)

poniedziałek, 10 maja 2010

Internetowa baza danych MySQL

Tamat 1.
Ładowanie danych na serwer

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

Prosty szablon AFIN.NET, darmowa baza

Wystarczy tylko CHCIEĆ, żeby korzystać z dobrodziejstw    
pełnowymiarowej, dobrze zabezpieczonej, łatwo dostępnej i    
darmowej, internetowej bazy danych.

Do czego to służy?
1. Konsolidacja rozproszonych danych excelowych - temat    
rozwiązywalny raz na zawsze w 5 minut - budżety, plany (np.    
urlopowe), setki innych zastosowań.
2. Zapewnienie systemu wewnątrzfirmowej informacji dla pracowników    
w terenie, np. informacji o zaległościach w płatnościach    
poszczególnych klientów dla przedstawicieli handlowych

Oczywiście to, co opisano powyżej, to już standard we wszystkich    
programach handlowych, ERPach itp.
ALE ŻEBY ZA DARMO? I TO Z EXCELA? Świat nie widział...

Baza danych MySQL w Internecie nie jest bazą "ogólnodostepną".    
Jest Administrator (w bazie testowej 'afin_open' - firma AFIN), jest    
system zabezpieczeń, jest replikacja, archiwa i wszelkie opcje    
bazodanowe.
Korzystanie z tej bazy z poziomu Excela DAJE WYGODĘ. Każdy ma,    
nikt nie musi się niczego uczyć - wystarczy    
klikać.

piątek, 7 maja 2010

Konsolidacja danych rozproszonych w bazie internetowej

DARMOWA (*)  infrastruktura do konsolidacji danych z plików    
Excela w sieci rozległej (budżety(!), plany, wszelkie dane    
tabelaryczne od 'ludzi w terenie', itp.)

(Darmowa, dobrze zabezpieczona, bardzo szybka do wdrożenia)

Problem:
Jak konsolidować dane w sieci rozległej?
(Np. budżety sprzedaży albo nawet zamówienia kilkudziesięciu    
przedstawicieli handlowych / sklepów / oddziałów, itp., itd.)

Zawsze, oczywiście, można kupić    
www.JakiśStrasznieDrogiProgram.com ...
Zawsze można też zrobić sieć rozległą, komutowaną, z    
wbudowanym systemem zabezpieczeń i 5 informatykami do obsługi...
Zafundowanie sobie hardcore'u pt. przesyłanie excelków pocztą i    
sklejanie ich ręcznie też wchodzi w grę, jak ktoś ma czas i    
ochotę...

Albo...
...założyć sobie można własną bazę MySQL, tzn. tyle baz ile    
się chce do jakiegoś tam bardzo dużego limitu, za 40 PLN/rok    
(+VAT) na http://linuxpl.com/ (reklama)
...i jechać:

Film:
http://afin.net/webcasts/Demo_CollectDataOnInternetDB%28MySQL%29.swf

Każdy z użytkowników musi mieć co najmniej dwa pliki:
1) z danymi (takich plików może być wiele) - można go (je)    
wypełniać pod zwykłym Excelem, a nawet OpenOffice'm
2) Plik sterujący załadowaniem danych na serwer - tu musi być    
Excel i AFIN.NET. Można ładować dane z wielu plików naraz.

Konsolidowanie danych może odbywać się jeszcze gdzie indziej i    
przez kogoś innego.
Służy do tego skoroszyt UploadExample_ConsolidationFile.xls
Jego obsługa to naciśnięcie przycisku 'Start'.
I dane do ślicznej tabeli przestawnej na tacy.

UWAGI:
Działa w niezarejestrowanej (darmowej) wersji AFIN.NET.
Baza MySQL użyta przykładowo - może być każda inna, byle    
dostępna przez Internet.

Technikalia:
Na filmie pokazuję to na przemian na różnych wersjach Excela,    
tzn. na AFINIE, pracującym raz pod E2003PL, raz pod E2007EN - nie    
ma jak inaczej pokazać, że to może być na różnych komputerach    
w różnych lokalizacjach, u różnych użytkowników.

(*) Wymaga uzyskania darmowego dostępu do bazy MySQL.
http://www.goldenline.pl/forum/afin-net/1222632/s/1#31808994
(Zainteresowanych proszę o kontakt bezpośredni.)

środa, 5 maja 2010

Konsolidacja plików Excela - przykład bardzo prosty

JESZCZE PROŚCIEJ !!!

Specjalny szablon, konsoliduje od razu do pliku Excela.

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

Są 2 foldery
W każdym po 3 pliki Excela
W każdym pliku 2 arkusze
W każdym arkuszu po 100 wierszy
(dane losowe)

RAZEM: 2 * 3 * 2 * 100 = 1.200 wierszy = ok. 10 sekund

"A tych wagonów (znaczy, folderów - dop.WG) jest ze czterdzieści,
Sam nie wiem, co się w nich jeszcze mieści."

Czy można prościej?
(Pytanie serio, chcę wiedzieć, co jeszcze możnaby    
uprościć...)

wtorek, 4 maja 2010

Konsolidacja plików Excela - przykład bardzo prosty

Dalej w temacie:
http://www.goldenline.pl/forum/afin-net/1411050/s/1#31657728

SQL Server (Express) jako baza danych analityka

C.d. wykorzystania SQL Servera w pracy analityka.

CEL: Prostota do bólu.

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

1. "Bezpieczeństwo" danych zapewnione (SQLS)
2. Wygoda jest - otwórz szablon, wpisz parametry i naciśnij    
'Start' i nie myśl za dużo (...analityku, bo nie za myślenie o    
tym ci płacą).

3. I - najważniejsze - baza...:

3a. może być ZASILANA SIECIOWO (w tym przez Internet, uwaga:    
ZWYKŁY Internet, nie żadne tam łącza komutowane - zapewnia to    
wystarczające bezpieczeństwo, podpytajcie informatyków - wiem,    
będą się krzywić, ale niech wydzielą bazę budżetową jako    
osobno udostępnioną i już)

3b. może być ODCZYTYWANA sieciowo, w tym jak wyżej, w tym przez    
DOWOLNĄ ILOŚĆ OSÓB NARAZ - SQLS tym zarządza i robi to dobrze.

3c. może działać na tym NIE TYLKO NASZE raportowanie Excelowe -    
staje się to INTEGRALNĄ częścią systemu bazodanowego firmy (np.    
do dalszych przeróbek danych - kostki OLAP, raporty, inne...)

Edit: kosmetyka.

wtorek, 20 kwietnia 2010

Zarządzanie bazą danych SQL Server

Drugi filmik - w gruncie rzeczy, podobny do poprzedniego (na ten temat).
http://afin.net/webcasts/Demo_ManagingSQLSE_2.swf

Tutaj jednak jeszcze prościej i jeszcze bardziej "dla ludzi".
Odczyt stanu bazy za pomocą dwóch niezależnych narzędzi:

1. AFINOWEGO "Panelu zarządzania bazą" - zwykły arkusz Excela z    
odpowiednimi JEDNOLINIJKOWYMI "programami", czyli "utwórz bazę",    
"utwórz tabelę", "wpisz coś do tabeli", "wpisz coś z innej    
bazy", "usuń dane z tabeli", "usuń tabelę", "usuń bazę" i,    
również, a może przede wszystkim, "Odczytaj stan bazy".

2. Standardowego SQL Server Management Studio Express - standardowe    
narzędzie SQLS, również darmowe.


Wniosek:
Jak wyżej - analityku, rób, co chcesz.

Stwórz sobie (poważną) bazę (...danych, czytaj 'hurtownię    
danych'), jaką chcesz i używaj do woli.

Z AFIN.NET. ;)

Zapraszam do prób - obiecuję wsparcie.

poniedziałek, 19 kwietnia 2010

SQL Server (Express) jako baza danych analityka

Hurtownia danych w SQL Server - od excelowego prototypu - modelu    
hurtowni - do przeniesienia procesu do poważnej bazy danych

 
NOWY FILMIK!
Nie wypada chyba przy okazji filmów pokazowych rozpoczynać od    
problemów, ale, niech tam...
Otóż, baza danych analityka w SQL Server-ze jest fajna. Było o    
tym wiele razy, więc nie ma się co powtarzać.

Ale, NIE MA WOLNIEJSZEJ BAZY niż SQL Server.
To, co w bazie Accessa zajmuje kilka(!) sekund, w przypadku użycia    
pliku Excela jako bazy zajmuje kilkadziesiąt sekund - to samo w    
przypadku użycia SQL Servera zajmuje kilka minut(!) - mowa o    
imporcie 3 milionów rekordów. Na filmie pokazano import najpierw 1    
tysiąca, a potem 100 tysięcy rekordów.
To trochę przeszkadza, więc należy stosować automatycznie w    
nocy.
Ale potem - miód. Kwerendy do bólu!

Film:
http://afin.net/webcasts/Demo_DataWarehouseInSQLS.swf
i wersja na E2003PL (1.wersja)
http://afin.net/webcasts/Demo_DataWarehouseInSQLS_E2003PL.swf

Wnioski:
1. Szanowny Analityku, to nie boli! Zrób sobie prototyp - model    
hurtowni danych, na którym poćwiczysz - w Excelu. Tak! W Excelu -    
bo łatwo otwierać pliki, żeby zobaczyć, co się narobiło.

2. Potem należy uruchomić go na bazie accessowej i tu, wierzcie mi    
Państwo, do bólu i bez ograniczeń - ja przynajmniej ich nie    
napotkałem - baza 3mln rekordów nie przekroczyła nawet 20%    
dopuszczalnej pojemności bazy accessowej, czyli bez stresu i bardzo    
szybko. 3 mln rekordów - kilkadziesiąt SEKUND (!).

3. Jak trzeba to przenieść do SQL Servera - NIE MA PROBLEMU!
Jak widać, to tylko zmiana połączenia do bazy danych.
Informatyk pomoże SQL Server-a zainstalować.
Jakby ktoś chciał spróbować - niech się tu odezwie.
To naprawdę nie jest problem - lokalna instancja SQLS2005 w    
darmowej wersji Express instaluje się 15 minut i naprawdę nie jest    
to komplikowane.
Ale, tak firmowo, to oczywiście nie będziemy instalować lokalnych    
SQLS-ów - należy poprosić informatyka O WYDZIELENIE BAZY    
ANALITYCZNEJ na sieciowym SQL Serverze i działać na niej.

Ale najpierw model-prototyp - jak na filmiku.    
Powodzenia!

wtorek, 30 marca 2010

Dodatki AFIN.NET

Ewidencja linków wgłąb linków zagnieżdżonych
(Darmowe i bez ograniczeń w 'demo')



Jak to działa?

1. Sprawdza, jakie bieżący skoroszyt ma łącza zewnętrzne

2. Otwiera pierwsze z tych łącz, czyli skoroszyt połączony i    
sprawdza łącza dalej...

3. ...i dalej i dalej - do "spodu"

4. Ewidencjonuje SKĄD dane łącze wychodzi ("W1") i DOKĄD idzie    
("W2"), rozpisując adres (zarówno W1 i W2) do bólu, czyli na    
ścieżkę, nazwę skoroszytu, nazwę arkusza, adres komórki, jej    
formułę i wartość, jaką zwraca.

5. Sprawdza typy łącz, uwzględniając stosowane rzadko, ale    
(ponieważ nikt o ich istnieniu nie wie) boleśnie, tzw. łącza w    
nazwach, czyli nazwa z odniesieniem do innego pliku (Włosi się w    
tym lubowali swego czasu) oraz czy łącze jest aktywne (czy    
skoroszyt docelowy istnieje), itd.

JEST TO PROCEDURA REKURENCYJNA, czyli jak masz miliony łącz, to    
nie uruchamiaj ;) Albo idź na kawę. Jak skończy, zrobi arkusz    
'LinkRegister' i wtedy zobaczysz, jaki masz bałagan (albo nie).


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

Wnioski:
Jak ktoś lubi spaghetti, to szto zradisz? Niech chociaż doda    
dobrego sosu...

piątek, 26 marca 2010

Aktualizacja zamkniętych plików Excela

JAK ZAKTUALIZOWAĆ WIELE PLIKÓW,
wklejając do każdego dane według innego klucza wyboru (kryteriów    
- tu: w każdej linii inne kryterium wyboru po nazwie) oraz    
stosując określone kryteria centralne (np. wybór okresu)?

Problem:
Mamy 100+ plików budżetów różnych komórek. każda z komórek    
ma już gotowy plik, gdzie dane aktualizuje (ale tym się teraz nie    
zajmujemy - to temat konsolidacji) oraz arkusz, gdzie powinna    
otrzymywać co miesiąc listę dokumentów zaksięgowanych na jej    
"MPK-u". W pliku mamy np listę danych, sporządzoną na jej bazie    
tabelę przestawną i wykres tej tabeli.
(Współpraca: C.W.)

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

Opis:
Tworzymy definicję wykonywanych operacji w excelowym arkuszu    
programu AFIN.NET.IS.

Linia 1.:
Usuwa dane z arkusza 'PivotSource'

Linia 2.:
Wkleja dane (do arkusza 'PivotSource'), pobrane przez ADO z    
określonymi kryteriami, tu: koniunkcja kryteriów globalnych (dla    
wszystkich operacji) i lokalnych (dla każdego wiersza osobno)
POWYŻSZE OPERACJE WYKONYWANE SĄ BEZ OTWIERANIA PLIKÓW!!!

Linia 3.:
Otwiera na chwilę każdy z plików, ale tylko po to, by    
ODŚWIEŻYĆ zawarte w nich tabele przestawne i tak odświeżone    
pliki ZACHOWAĆ i zamknąć.
Gdybyśmy zadecydowali, że tabele nie muszą być odświeżone, bo    
każdy z adresatów zrobi to sobie sam po otwarciu swojego pliku,    
linię tę można pominąć.

Wnioski:
Nie ma problemu w zdalnej (centralnie zarządzanej) aktualizacji    
dowolnej listy plików.

piątek, 19 marca 2010

Kreator kostek OLAP

Poprawiaj kostkę... aż będzie gotowa!

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

Kreator kostek AFIN.NET (AFIN.NET.CubeBuilder) pozwala na STOPNIOWĄ    
budowę kostki. Tworzysz kostkę... nie podoba się... tworzysz    
kolejną wersję... dodajesz/zmieniasz miary/wymiary, a nawet    
WZBOGACASZ AD-HOC ZAKRES DANYCH!
Wszystko on-line, wszystko w Excelu (tzn. w interfejsie Excelowym),    
wszystko w banalnej w obsłudze tabeli przestawnej.

Wnioski:
JAKIE NARZĘDZIE ROBI TO LEPIEJ?

Nie pytam o "taniej", bo to, zdaje się, poza wszelką konkurencją    
(Kreator kostek AFIN.NET jest DARMOWY, tzn. nie ma żadnych    
ograniczeń w wersji niezarejestrowanej) - pytam o "lepiej"!

* W Excelowym (tylko do w.2003) kreatorze kostek - za każdym razem    
wszystko od nowa...
* W "specjalistycznych programach budowy kostek" - musisz to robić    
w tym właśnie specjalistycznym programie, czyli nie ma podglądu    
kostki on-line - poza tym nie da rady odświeżać kostki z poziomu    
Excela.
* W super-specjalistycznym SQL Analysis Services to kosmos -    
interfejs tylko dla znawców tematu, a podgląd kostki dopiero po    
skomplikowanych eksportach, importach i takich    
tam...

Zarządzanie bazą danych SQL Server

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

Co na filmie:
1. Utworzenie nowej bazy danych 'TemporalDatabase'
2. Utworzenie nowej tabeli 'MyTable' w 'TemporalDatabase'
3. Zasilenie danymi z SQLa
4. Zasilenie danymi z zewnętrznego źródła danych (tu: Excel)
5. Skasowanie danych
6. Usunięcie tabeli 'MyTable'
7. Usunięcie bazy danych 'TemporalDatabase'

Wszystko może być, oczywiście, w jednym arkuszu, czyli jednym    
procesie, czyli pod jednym kliknięciem myszki.

Wnioski:
Analitycy, róbta, co chceta.

sobota, 6 marca 2010

Dodatki AFIN.NET

Ewidencja plików na dysku wgłąb zadanego folderu

Taka sobie, przydatna, procedurka.
CAŁKOWICIE DARMOWA I BEZ OGRANICZEŃ!

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

Inne, również przydatne procedurki:
http://www.goldenline.pl/forum/afin-net
(Zapisani do grupy maja szybsze info, zapraszam.)

czwartek, 4 marca 2010

Pulpit menedżerski - bardzo prosty przykład

Problem:
Jak zrobić pulpit menedżerski z interfejsem Webowym na bazie    
raportu excelowego?

Film:
http://afin.net/webcasts/HowTo_MakeADashboard_VeryBasic.swf
(Powinno być: "My Boss, see what YOU pay me for!")

Wnioski:
Prosto i szybko. Szef się spieszy ;)

wtorek, 2 marca 2010

Kreator kostek OLAP

BARDZO PROSTY PRZYKŁAD BUDOWY KOSTKI:
(Jedna, prosta tabela, dwa proste wymiary, jedna miara)

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

Instrukcja:
Aby wykonać definicję kostki, należy:

1) Zrobić kwerendę i nazwać arkusz 'Query'
Uwaga, w przypadku pól 'wyliczanych' w kwerendzie, należy    
pamiętać o odwoływaniu się do tzw. 'kwalifikowanych' nazw pól,    
czyli nazwę pola należy poprzedzać nazwą tabeli, z której pole    
pochodzi, tu: nie 'data', tylko 'faktura.data' (W przypadku polskich    
znaków lub spacji należy użyć zapisu '[faktura].[data]'.    
Niedotrzymanie tego warunku, uwaga, nie spowoduje błędu tworzenia    
pliku OQY, ale on sam spowoduje błąd tworzenia kostki:    
"Katastrofalny błąd.", cokolwiek to znaczy.
Należy wtedy powtórnie otworzyć plik definicji kostki, edytować    
kwerendę, edytować (poprawić) pola wyliczane, zwrócić kwerendę    
do Excela i uruchomić kreatora powtórnie.

2) Zrobić z tego nową tabelę przestawną, wstawić do niej pola    
(tylko do pól wierszy!) i nazwać arkusz jako żądaną nazwę    
wymiaru

3) Skopiować poprzedni arkusz (albo zrobić nowy, z nową tabelą,    
ale na starej kwerendzie), wyrzucić pola i wstawić nowe, też    
tylko do pól wierszy. Nazwać jako inny wymiar.
3a) Kolejne wymiary - j.w.

4) Jak wyżej - z arkuszem, potem usunąć wszystko z pól wierszy,    
wstawić MIARĘ do pola danych i nazwać arkusz.
(Tylko jedna miara w jednej tabeli i jedna miara użyta tylko jeden    
raz w całym pliku - czyli jednoznacznie!)
4a) Kolejne miary - j.w.

5) Zapisać cały plik jako 'Plik definicji danej kostki'.    
Normalnie, jako skoroszyt Excela, obojętnie, czy .xls, czy .xlsx.

6) Uruchomić KREATORA.
AFIN.NET / Narzędzia... / Inne... / Uruchom Kreatora kostek    
AFIN.NET (AFIN.NET.CubeBuilder)

7) Otworzyć plik .OQY, definiujący i odbudowujący kostkę.

Późniejsze odświeżanie kostki NIE WYMAGA już AFIN.NET.

poniedziałek, 22 lutego 2010

Hurtownia danych w Oracle XE

Ha! To już zakrawa na herezję...
Sterować Oracle'm z Excela? Co na to Larry?

Trudność w tej zabawie polega na tym, że Oracle... jest inny.
Tzn. owszem, da się coś do niego zaimportować, najlepiej CSV-ka,    
albo przez kopiuj-wklej (małe tabele np. Excela), ale żeby coś do    
niego WSADZIĆ z zewnątrz - to sztuka!
A szczególnie, gdy "wsadzaczem" jest Excel...
I to dane nie tylko z Excela, tylko z 13-tu różnych systemów    
bazodanowych: SQLS, Postrge, DB2, MySQLa (z Internetu i lokalnie) i    
innych baz plikowych. Oracle ma zupełnie inne typy pól, innego    
SQL-a, itp.
Noł problem!

Film:
http://www.afin.net/webcasts/Demo_InsertDataIntoOracleXE.swf
(Na filmie: tylko wsad danych do Oracle'a. Reszta, czyli przeróbki,    
uszlachetnienia, dodatkowe pola i tabele, to już betka)


Wnioski:
Budowa hurtowni danych na BEZPŁATNEJ bazie Oracle XE jest możliwa,    
a nawet nie taka trudna (kliknij 'Start').
Aha, i jeszcze jedno. Zrobienie tego NIE WYMAGA zatrudniania ani    
jednego specjalisty od Oracle'a, a to, jak wiadomo, kosztuje bardzo    
sporo.

To podejście do tematu, czyli "prosta hurtownia na darmowej, ale    
poważnej bazie", to nawet ma ostatnio nazwę: "Microsoft Business    
Intelligence" i wielu nawróconych fanów.

Ale żeby na Oracle'u? Co na to, z kolei, Bill?

Takie rzeczy tylko w AFIN.NET.
(Spróbujcie to zrobić jakimkolwiek innym    
narzędziem!)

piątek, 29 stycznia 2010

Z innej parafii... (OpenOffice.org)

Niespodzianka!
http://www.afin.net/webcasts/Other_OpenOffice.swf

P.S.
A dodam jeszcze, że tak samo tworzy się widoki w poważnych    
bazach, np. w DB2
Czy ktoś (nie etatowy użytkownik - administrator DB2) potrafi    
stworzyć widok w bazie DB2 (bez wchodzenia do DB2, tak, jak na    
filmie nie wchodziłem do Accessa)?
Nadmieniam, że ani Excel, ani Access (z tego, co wiem) tego nie    
potrafią...

czwartek, 28 stycznia 2010

Funkcja DANE() - SQLS & Oracle & MySQL

Film:
http://www.afin.net/webcasts/Demo_GetDataFunction_SQLS_Oracle_MySQL.swf

Wnioski:
- Czy baza danych może być PARAMETREM (!) prostej funkcji    
excelowej?
- Ależ tak, czemu nie, także jej należy się. Cztery razy po dwa    
razy...

Baza danych, w rozumieniu ADO/ODBC, to pewien ciąg literek, owszem    
dość, czasami, skomplikowany.
Ale my, na szczęście, nie musimy się tym martwić, mamy Query,    
które nam te literki daje na tacy, AFIN.NET to ładnie odczytuje i    
pozwala zrobić własną funkcję z dowolnymi, własnymi,    
argumentami.

Robimy więc 3 takie same funkcje do takiej samej tabeli, ale...
w 3 różnych, konkurencyjnych zresztą, systemach bazodanowych, MS    
SQL Server, Oracle, MySQL.
W trakcie tego definiowania, napotykamy na szereg problemów.    
Najmniej ma ich SQLS - wszystko bez bólu. W Oracle'u trzeba    
ręcznie poprawić SQLa, bo Query źle go składa, tzn. Oracle go    
nie rozumie. W Oracle'u i MySQL'u nie ma logowania 'Trusted    
connection', więc hasła trzeba dopisać ręcznie.

Ale wszystko ślicznie działa.

* Nie wyszedłem z Excela (ew. + Query) podczas całej tej zabawy.
* Wszystko standardowo, wszystko szybko - cały fim ma niecałe 10    
minut.
* Wszystko parametryzowalne komórkami Excela, czyli niczego nikogo    
nie trzeba uczyć.

I, że się powtórzę, wszystko ślicznie działa.

środa, 27 stycznia 2010

Dane z SQL Server do Excela - prostą funkcją.

Film:
http://www.afin.net/webcasts/HowTo_GetDataFunction_FromSQLS.swf

Ech, jakie to proste...

Wyjaśnienie:
Mamy dane, jakiekolwiek, załóżmy że w MS SQL Server.
(Albo w Excelu, Accessie, TXT, DBF, MySQL, Oracle, PostgreSQL, DB2,    
HTM, ...)

Poważna sprawa. Możemy się do nich dostać kwerendą - fakt. Ale    
wtedy dostajemy duża tabelę w Excelu i tu musimy zastosować    
funkcje, żeby dane poumieszczać w naszym raporcie. Tabela    
przestawna tu odpada, bo raport ma taki format, jaki ma, a nie taki,    
jaki oferuje tabela (przykład: raportowanie finansowe)
Oczywiście, zawsze też możemy napisać makro. Ale, po pierwsze,    
trzeba umieć, a my jesteśmy księgowymi (, albo sprzedawcami, albo    
pracujemy na produkcji), a po drugie trzeba to zrobić i rozesłać    
po 10 kolegach, trzeba ich nauczyć, trzeba... ech, same problemy :(
Można też zrobić sto kwerend, do tego parametrycznych. Hm... nie    
umiemy, o co chodzi?.

No to, co umiemy? - umiemy zrobić prostą kwerendę! Super.
Umiemy też używać funkcji Excela, szczególnie tak prostych:
=DANE("SQLSE2008.Sales";[argument: nazwa_klienta])
czyli np.
=DANE("SQLSE2008.Sales";"AREX")
a, gdy w komórce A5 umieścimy parametr "AREX", a funkcję    
zmodyfikujemy do postaci:
=DANE("SQLSE2008.Sales";$A5) ,
to możemy ją łatwo kopiować w dół i wpisywać sobie klientów,    
jakich chcemy.

wtorek, 26 stycznia 2010

Excel & SQL Server Express (bez AFINA)

Film:
http://www.afin.net/webcasts/Demo_ExcelAndSQLSE2008_Tutorial.swf


Ojej, to takie rzeczy są ZUPEŁNIE ZA DARMO, no nie może    
być...

Męczyć Przemka R., o artykuł, FAQi, jasne tłumaczenie wszystkich    
kroków, itp. Wymyślił, niech się martwi!

Pozdrawiam onego i wszystkich, którzy to zrobią.

Wojciech G.

Wnioski:
(powiedzmy - dość luźne)

Analityk chce gdzieś przechowywać dane - ma do wyboru:

* Excelka - wszyscy mu mówią, że to niemożliwe, że się wywala,    
itp. On już od 5-ciu lat z tym tak walczy i fakt, czasami mu się    
wywala, ale nad tym PANUJE (i to poczucie kontroli sprawia, że nie    
dał sobie tego odebrać). Ale fakt, wygląda to jakoś cienko,    
nieprofesjonalnie i, rzeczywiście, czasami się psuje... Excel -    
be!

* Accessa - dla analityka to kosmos. Więc poszedł na kurs, gdzie    
jakiś nawiedzony accessowiec tłumaczył mu, jak zrobić ewidencję    
kaset wideo na jego półce. Dalej uważa Accessa za program    
strasznie skomplikowany i dla informatyków. Żeby było jeszcze    
ciekawiej, to jego informatyk mu mówi, że Access jest za słaby    
(analityk drapie się w głowę, bo dla niego to wprost przeciwnie),    
że się wywala, że nie można zabezpieczyć, ani bazy, ani    
danych... Access - be!

* SQL Server. Dla analityka to już nie kosmos, tylko "Szansa na    
sukces" - nikt nie wie, o co chodzi, nawet astronomowie. Microsoft    
wciska wszelkimi sposoby, informatycy się podobno na tym znają,    
ale coś od nich wydębić, czy wyprosić... Poza tym mówią    
jakimś niezrozumiałym językiem...
Przykład: http://www.goldenline.pl/forum/sql-server/1075840

Tymczasem - jak wyżej. Za darmo i moment.
Ale, niech sobie analityk nie myśli, że złapał Boga za nogi, o    
nie! - teraz dopiero zobaczy, jakie problemy się pojawią - tzw.    
polityczne.
Co z tego, że technika pozwala...

I to samo z:
* Oracle eXpress Edition, czyli 'Oracle XE' (za darmo)
* MySQL (za darmo z założenia)
* PostgreSQL (za darmo z założenia)
* DB2 (podobnie jak Oracle, też jest darmoszka)

wtorek, 19 stycznia 2010

Weź dane, skąd chcesz!

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

Nie znacie może jeszcze jakieś darmowej bazy danych? ;)
A AFIN.NET w tym jak rybka, plum-plum...

Tłumaczenie "na polski"
Fajnego mam kompa, no nie? ;) Oracle, SQLS, PostgreSQL, DB2 (IBM    
żyje!), dostępy do różnych tam bazek internetowych (MySQL),    
pliki tekstowe, poprzekręcane w najbardziej wymyślny sposób, DBFy    
(Czy mnie jeszcze pamiętasz?), HTMLki i, w ogóle, cyrk.
O Accessie i Excelkach wszelkich typów nawet nie wspominam.

Wszystko po to, żeby pokazać, że nie ma, NIE MA, NIE MA!,    
NIE MA!!!!!!!! danych niedostępnych dla użytkownika    
Excela.

A AFIN.NET ładnie to automatyzuje.
Spróbujcie to zrobić innym narzędziem!

Oczywiście, zwykłe Query też pobierze dane, ale nie da rady już    
nic z tym zrobić dalej (np. wysłać szefowi pocztą). A w AFIN.NET    
nie tylko można pobrać i wysłać, ale można też zapisać DO    
DOWOLNEGO FORMATU DANYCH (czytaj: zrobić sobie hurtownię danych).
Wiem, wiem, hurtownia danych i Business Intelligence to poważna    
sprawa... dla niektórych (... nawet zbyt poważna).

poniedziałek, 18 stycznia 2010

Oracle & SQLS

Godzimy Larry'ego i Bill'a.

Z punktu widzenia analityka, wszystkie dane powinny być łatwo    
dostępne.
Stety lub niestety, ale raczej stety, na poziomie programów    
bazodanowych istnieje bardzo silna konkurencja i raczej nie do    
pomyślenia jest, żeby w firmie współistniały systemy bazodanowe    
czołowych konkurentów. Raczej zawsze jest "albo-albo". Ogólnie    
się to opłaca, bo gdyby nie SQLS, Oracle kosztowałby majątek do    
kwadratu (tak - tylko majątek), a gdyby nie Oracle, SQLS byłby    
tylko Accessem.
Ale analitycy cierpią, bo dane trzeba jednak mieć, żeby coś z    
nimi zrobić.

Film:
http://afin.net/webcasts/Demo_Oracle&SQLS.swf

Wnioski:
1. A tymczasem, jak do sprawy podejdzie się z punktu widzenia    
nie-bazodanowego, wszystko staje się proste i standardowe.
W AFIN.NET - bez problemu.
2. Gdziekolwiek są dane, łatwo je wydobyć, a nawet ze sobą    
połączyć, pozostając niezależnym od obu środowisk bazodanowych    
(i ich administratorów ;) )

SQL - ciekawostki

I... kolejna:

operator CUBE w SQLS:

Takie coś:
SELECT nazwa AS [Customer] , YEAR(data) AS [Year] , MONTH(data) AS    
[Month], SUM(wart_net) AS [Sales] ,GROUPING_ID(nazwa, YEAR(data),    
MONTH(data)) AS [GroupLevel] FROM TestDatabase.dbo.FAKTURA FAKTURA    
GROUP BY CUBE (nazwa, YEAR(data), MONTH(data)) ORDER BY    
GROUPING_ID(nazwa, YEAR(data), MONTH(data)) DESC,nazwa, YEAR(data),    
MONTH(data)

Daje takie coś:
CustomerYear    Month   Sales   GroupLevel
                           662,8       7
                       1   145,2       6
                       2    66,5       6
                       3   123,9       6
                       4   164,3       6
                       5    42,6       6
                       6    19,8       6
                       7    21,2       6
                       8    44,4       6
                       9    13,6       6
                      10     5,8       6
                      11     4,5       6
                      12      11       6
            2004           554,7       5
            2005           108,1       5
            2004       1     140       4
            2004       2      41       4
            2004       3   118,4       4
            2004       4   153,9       4
            2004       5    42,6       4
            2004       6      15       4
            2004       7       5       4
            2004       8     3,9       4
            2004       9    13,6       4
            2004      10     5,8       4
            2004      11     4,5       4
            2004      12      11       4
            2005       1     5,2       4
            2005       2    25,5       4
            2005       3     5,5       4
            2005       4    10,4       4
            2005       6     4,8       4
            2005       7    16,2       4
            2005       8    40,5       4
ANEX                         5,5       3
AREX                         140       3
BRONEX                      83,6       3
CELIMP                      19,4       3
DAREX                        3,9       3
EDEX                        30,7       3
EXIMP                         15       3
FRANEX                        11       3
GRZESIEX                     4,5       3
HANIMPEX                       5       3
IMPEX                       40,5       3
JARIMPEX                   118,4       3
JUREX                      153,9       3
KOWALSKI                     4,8       3
NOWAK                       16,2       3
SIANEX                      10,4       3
ANEX                   3     5,5       2
AREX                   1     140       2
BRONEX                 2      41       2
BRONEX                 5    42,6       2
CELIMP                 9    13,6       2
CELIMP                10     5,8       2
DAREX                  8     3,9       2
EDEX                   1     5,2       2
EDEX                   2    25,5       2
EXIMP                  6      15       2
FRANEX                12      11       2
GRZESIEX              11     4,5       2
HANIMPEX               7       5       2
IMPEX                  8    40,5       2
JARIMPEX               3   118,4       2
JUREX                  4   153,9       2
KOWALSKI               6     4,8       2
NOWAK                  7    16,2       2
SIANEX                 4    10,4       2
ANEX        2005             5,5       1
AREX        2004             140       1
BRONEX      2004            83,6       1
CELIMP      2004            19,4       1
DAREX       2004             3,9       1
EDEX        2005            30,7       1
EXIMP       2004              15       1
FRANEX      2004              11       1
GRZESIEX    2004             4,5       1
HANIMPEX    2004               5       1
IMPEX       2005            40,5       1
JARIMPEX    2004           118,4       1
JUREX       2004           153,9       1
KOWALSKI    2005             4,8       1
NOWAK       2005            16,2       1
SIANEX      2005            10,4       1
ANEX        2005       3     5,5       0
AREX        2004       1     140       0
BRONEX      2004       2      41       0
BRONEX      2004       5    42,6       0
CELIMP      2004       9    13,6       0
CELIMP      2004      10     5,8       0
DAREX       2004       8     3,9       0
EDEX        2005       1     5,2       0
EDEX        2005       2    25,5       0
EXIMP       2004       6      15       0
FRANEX      2004      12      11       0
GRZESIEX    2004      11     4,5       0
HANIMPEX    2004       7       5       0
IMPEX       2005       8    40,5       0
JARIMPEX    2004       3   118,4       0
JUREX       2004       4   153,9       0
KOWALSKI    2005       6     4,8       0
NOWAK       2005       7    16,2       0
SIANEX      2005       4    10,4       0

Wszystkie podsumowania częściowe naraz.
Ostatnia kolumna to "poziom podsumowania". Bajer, ale zastosowania    
nie znam. Tabela przestawna załatwia to lepiej, ale dobrze    
wiedzieć, że można to już załatwiać na niższym    
poziomie.