środa, 29 lutego 2012

Dane nie muszą być w jednym wierszu, żeby je czytać językiem SQL.

Dzisiaj - ciekawostka, nie-narzędziowa, ale, jak najbardziej, techniczna!

SQL rządzi!

Zainspirowany tematem
http://www.goldenline.pl/forum/2815466/sortowanie-raportow-tekstowych
(dostęp ograniczony)

Jak, z czegoś takiego (i to w pliku tekstowym):
Klucz1
10
Klucz2
20
Klucz3
30
-----------------------------------------
Klucz4
40


zrobić tabelę?:
Klucz1,10
Klucz2,20
Klucz3,30
Klucz4,40


Zrobiłem SPECJALNY przykład i filmik na ten temat.

Otóż - da się! A sam myślałem, że nie. Trzeba tylko zrobić    
parę sztuczek, a konkretnie dwie:

1. Przenieść tekst do jakiejś bazy, która umożliwi tzw.    
autoinkrementację, czyli powstanie pola numeru wiersza, który    
automatycznie ponumeruje nam wiersze, tworząc klucz unikalny dla    
tabeli, która go nie ma (trudno wymagać od pliku tekstowego, żeby    
miał taki klucz).

2. Złączyć tabelę z nią samą(!) po sprzężeniu    
alias1.ID=alias2.ID-1. Alias1 i alias2 to ta sama tabela!

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

I, oczywiście, dla maniaków - SQL:
SELECT [Alias1.PoleTekstowe] AS [Klucz], [Alias2.PoleTekstowe] AS [Wartosc]    
FROM MyTable Alias1 RIGHT OUTER JOIN MyTable Alias2 ON    
Alias1.ID=Alias2.ID-1
WHERE [Alias1.PoleTekstowe] LIKE 'Klucz%'

P.S.
Zrobiłem testy (dokładnie tego samego modelu) dla nieco większej ilości rekordów:
Ilość wierszy tekstu: 7.983.360, czyli (prawie) 8 mln.
Czas ogólny: 196,39s

Ciekawe są czasy cząstkowe:
Proste załadowanie tekst->Access: 29s
Wstawienie do tabeli z autoinkrementacją: 81s
Połączenie tabeli joinem z nią samą: 81s
Reszta jest nieistotna.

wtorek, 28 lutego 2012

Raport bezpośrednio(!) z pliku tekstowego

Czy można zrobić raport, bazując BEZPOŚREDNIO na danych    
zewnętrznego pliku tekstowego?
Bez jego otwierania w Excelu? Powtarzalnie? Automatycznie zmieniając wartości parametrów?
- Oczywiście.

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

poniedziałek, 27 lutego 2012

ZA DARMO, ZA DARMO, ZA DARMO!!!


No to i pokaz ZUPEŁNIE DARMOWEJ HURTOWNI DANYCH wraz    
z DARMOWYM jej klientem.

1. DARMOWY PROGRAM tworzący/odświeżający - AFIN.NET.IS.EXE

2. DARMOWA BAZA/HURTOWNIA DANYCH w plikach Accessa
(Pliki Accessa, użyte wyłącznie przez ODBC NIE WYMAGAJĄ LICENCJI   
na Accessa ani nawet accessowego Run Time'a. Nie wymagają także   
zgody informatyków, żeby ich używać do woli)

3. DARMOWY KLIENT hurtowni danych - tu: LIBRE OFFICE (to samo, co   
Open Office)

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

wtorek, 14 lutego 2012

Ms Query (AD 1995) vs Power Pivot (AD 2010)

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

Żeby wyciągnąć dane tabelaryczne z PowerPivota, TRZEBA JE, RĘCZNIE(!), PRZEKOPIOWAĆ DO EXCELA!!! I je, tym samym, zepsuć. Patrz - pierwsza kolumna - z numerów faktur zrobiły się daty.

15 lat w plecy.

Odnośnie poprzedniego filmiku - jest kolejna informacja o PP: Proszę spróbować podłączyć dwie tabele w PP, ustawić między nimi relację, po czym pobrać tzw. szeroką tabelę do arkusza w formie tabeli. NIE DA SIĘ! - ale cyrk.

Robiąc sztuczki, oczywiście, się da, ale trzeba robić to nie poprzez dwie tabele, tylko trzeba zrobić jedną - już z relacją. Czyli - tłumacząc na polski - trzeba znać na tyle SQLa, żeby to (czyli relacje w locie) zrobić ręcznie! Nowoczesność, czasami, mnie przeraża.

poniedziałek, 13 lutego 2012

Jak automatycznie pobierać pliki z Internetu na dysk lokalny?

Odpowiedź:
Szybko i parametrycznie. A gdzie najlepiej parametryzować nazwy    
katalogów/plików?
W Excelku, oczywiście.

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

Czyli np. pobranie ze SkajDrajwa 1000 plików (np. budżetów, czy    
czego tam dusza zapragnie) do ich lokalnego złożenia do kupki    
(czyli: skonsolidowanie) i w kosteczkę (czyli: zrobienie kostki    
OLAP) to żaden problem. O konsolidacji i budowie kostki jest inny    
film.

Proszę zwrócić uwagę, specjalnie pokazuję przykład, gdzie dane    
są W RÓŻNYCH FOLDERACH, czyli posiadają odrębne zabezpieczenia    
dostępności. To naprawdę fajna opcja SkyDrive'a.


A AFIN trochę pomaga, bo po to jest.

piątek, 10 lutego 2012

SkyDrive - automatyzacja raportowania i publikowania w Internecie

Czy można zrobić sobie 100 żywych(!) raportów (tzn. takich z    
funkcjami bazodanowymi), po czym je sobie automatycznie    
przeliczać(!) i publikować w Internecie jednym kliknięciem?

Pewnie, że można.

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

Zastosowanie:
Mamy 100 komórek budżetowych, które nam wrzucają na SkyDrive'a    
np. swoje wykonania w XLSkach.
My robimy sobie program, który to wszystko odczytuje, uruchamia    
automatycznie serię przygotowanych raportów wykonanie-budżet    
(załóżmy, że dane wykonania są w centrali na serwerze), po czym    
pliczki są kolejno przeliczane i wrzucane z powrotem na SkyDrive'a,    
żeby były dostępne dla owych komóreczek.

JEDNYM KLIKIEM!

czwartek, 9 lutego 2012

BI Mystification

The English version - slide shows cannot be automatically translated.

wtorek, 7 lutego 2012

Mistyfikacja BI



piątek, 3 lutego 2012

SkyDrive - cd.

I kolejna odsłona tego tematu - jeszcze lepszy sposób na    
publikowanie żywobazodanowych Excelków w Internecie.

Tworzę excelka na skajdrajwie, ale wypełniam go funkcjami na    
lokalu - bo dane mam na lokalu lub w intranecie, jak również    
dlatego, że ja wiem jak to zrobić (jestem np. księgowym). A    
publikacja tegoż? Wystarczy... zapisać plik(!)

Ma to jednak jeden mały minusik - działa tylko na Excelu 2010. Ale    
działa super.

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

I - efekt do pooglądania:
https://skydrive.live.com/redir.aspx?cid=42ac4083b32e6ab0&resid=42AC4083B32E6AB0!479&parid=42AC4083B32E6AB0!421&authkey=!AAePciW3lOtSFMY


Wniosek:
Precyzyjny i przemyślany "podział obowiązków" pomiędzy lokal a    
chmurę czyni cuda.