Czy można szybko zrobić poważną hurtownię danych?
Taką, żeby się pliki konsolidowały z wielu źródeł, żeby
dodać 2 słowniki i to z różnych źródeł danych?
I żeby to opublikować i potem cyklicznie publikować w pliku HTML
np. na serwerze wewnętrznym?
Kupa roboty! Konkretnie - 20 minut! TYLKO 20 minut!
Weźcie to spróbujcie zrobić w czystym Excelku, albo
super-PowerPivotem, hehehehe!
Film (przydługi, bo KOMPLETNY!):
http://afin.net/webcasts/Demo_DMA_Sales_Cons&Dict&Publ.swf
piątek, 13 marca 2015
poniedziałek, 9 marca 2015
Świeżutkie kursy walut na dysku. Tylko brać.
AUTOMATYCZNIE ODŚWIEŻANA TABELKA Z DANYMI W EXCELKU NA DYSKU, zasilana co 10 minut kursami walut z Forex-a, bez otwierania AFINA, Excelka, samo się robi.
Zrobiłem arkusik, wstawiłem do niego kwerendę sieci WEB ze strony
http://www.money.pl/pieniadze/forex/
(wziąłem sobie tylko tabelkę z 4 najpopularniejszymi walutami)
Zapisałem jako 'KursyWalutKwerenda.xls'
Ustawiłem we właściwościach danych zewnętrznych
autoodświeżanie przy otwarciu pliku.
No, ale co, będę co 10 minut otwierał Excelka, żeby kwerenda
się odświeżyła? :(
No, nie...
Zrobiłem więc sobie programik w VBScripcie (taki tekst zapisałem
w Notaniku):
Dim xlApp, xlBook
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False
Set xlBookT = xlApp.Workbooks.open
("D:\AFIN\Proby\VBScript\KursyWalutKwerenda.xls")
xlBookT.Activate
xlBookT.Save
xlBookT.close false
Set xlBookT = Nothing
xlApp.Quit
Set xlApp = Nothing
MsgBox "Job done", vbinformation, "End job"
WScript.Quit
Taki plik tekstowy zapisałem jako
'VbsOdswiezenieKwerendyWalutowej_WG1.vbs'
Programik działa - wystarczy go uruchomić z Exsploratora. Otwiera
w tle Excelka (nie widać go, otwiera się "bez interfejsu"), w nim
ów pliczek, kwerenda się automatycznie odświeża, pliczek jest
zapisywany, zamykany, potem zamyka się Excelek.
Program wyświetla też komunikat o zakończeniu działania, który,
oczywiście można usunąć.
Wszystko fajnie.
Więc w Harmonogramie zadań Windows zrobiłem sobie zadanie:
"Uruchom ów plik-program 'VbsOdswiezenieKwerendyWalutowej_WG1.vbs'
co 10 minut."
I co 10 minut mam świeżutkiego Excelka z najnowszymi kursami
walut, tylko brać kwerendami.
Wszystko działa w tle, Excel się nie otwiera (z widocznym
interfejsem), o nic się nie martwię - AUTOMAT.
Zrobiłem arkusik, wstawiłem do niego kwerendę sieci WEB ze strony
http://www.money.pl/pieniadze/forex/
(wziąłem sobie tylko tabelkę z 4 najpopularniejszymi walutami)
Zapisałem jako 'KursyWalutKwerenda.xls'
Ustawiłem we właściwościach danych zewnętrznych
autoodświeżanie przy otwarciu pliku.
No, ale co, będę co 10 minut otwierał Excelka, żeby kwerenda
się odświeżyła? :(
No, nie...
Zrobiłem więc sobie programik w VBScripcie (taki tekst zapisałem
w Notaniku):
Dim xlApp, xlBook
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False
Set xlBookT = xlApp.Workbooks.open
("D:\AFIN\Proby\VBScript\KursyWalutKwerenda.xls")
xlBookT.Activate
xlBookT.Save
xlBookT.close false
Set xlBookT = Nothing
xlApp.Quit
Set xlApp = Nothing
MsgBox "Job done", vbinformation, "End job"
WScript.Quit
Taki plik tekstowy zapisałem jako
'VbsOdswiezenieKwerendyWalutowej_WG1.vbs'
Programik działa - wystarczy go uruchomić z Exsploratora. Otwiera
w tle Excelka (nie widać go, otwiera się "bez interfejsu"), w nim
ów pliczek, kwerenda się automatycznie odświeża, pliczek jest
zapisywany, zamykany, potem zamyka się Excelek.
Program wyświetla też komunikat o zakończeniu działania, który,
oczywiście można usunąć.
Wszystko fajnie.
Więc w Harmonogramie zadań Windows zrobiłem sobie zadanie:
"Uruchom ów plik-program 'VbsOdswiezenieKwerendyWalutowej_WG1.vbs'
co 10 minut."
I co 10 minut mam świeżutkiego Excelka z najnowszymi kursami
walut, tylko brać kwerendami.
Wszystko działa w tle, Excel się nie otwiera (z widocznym
interfejsem), o nic się nie martwię - AUTOMAT.
poniedziałek, 2 marca 2015
AFIN.NET.IS - Wstawianie (aktualizacja) danych do skoroszytów zamkniętych
Mamy sobie 100 użytkowników.
Każdy z nich ma swój bardzo ważny skoroszyt, w którym ma jakieś
analizy, wykresy. To dla niego strasznie ważne, bo z tego żyje.
(np. kierownicy MPKów)
Ale wszyscy są uzależnieni od danych wykonania, które są
centralnie. Jak uaktualnić te 100 skoroszytów, nie mieszając przy
tym za bardzo?
Na pewno nie wiżualbejzikiem (VBA), jak doradzają specjaliści!
No to jak? Bazodanowo! Taż Excel (jego pliki) kuma ODBC.
Filmik:
http://afin.net/webcasts/Demo_AfinNetIs_InsertingDataIntoClosedWorbooks.swf
Każdy z nich ma swój bardzo ważny skoroszyt, w którym ma jakieś
analizy, wykresy. To dla niego strasznie ważne, bo z tego żyje.
(np. kierownicy MPKów)
Ale wszyscy są uzależnieni od danych wykonania, które są
centralnie. Jak uaktualnić te 100 skoroszytów, nie mieszając przy
tym za bardzo?
Na pewno nie wiżualbejzikiem (VBA), jak doradzają specjaliści!
No to jak? Bazodanowo! Taż Excel (jego pliki) kuma ODBC.
Filmik:
http://afin.net/webcasts/Demo_AfinNetIs_InsertingDataIntoClosedWorbooks.swf
poniedziałek, 16 lutego 2015
czwartek, 5 lutego 2015
Nowa CiZia w mieście, a Wy nic???
Widziałem już tę nową CiZię - fajowa. Młodziutka, świeżutka, ach!
Wy też możecie ją poznać! Wiele odsłania!
http://controlling-zarzadzanie.pl/
Szczególnie, oczywiście, ciekawy jest nasz wkład w CiZię ;)
https://onedrive.live.com/?cid=42AC4083B32E6AB0&id=42AC4083B32E6AB0%212156&v=3
Polecamy. Będzie więcej. Umówcie się z nią na dłużej.
Wy też możecie ją poznać! Wiele odsłania!
http://controlling-zarzadzanie.pl/
Szczególnie, oczywiście, ciekawy jest nasz wkład w CiZię ;)
https://onedrive.live.com/?cid=42AC4083B32E6AB0&id=42AC4083B32E6AB0%212156&v=3
Polecamy. Będzie więcej. Umówcie się z nią na dłużej.
wtorek, 13 stycznia 2015
AFIN.NET.IS - Konsolidacja arkuszy z filtrem
> (...)
> potrzebuje małej pomocy :)
>
> Przygotowałem pewne zestawienie składające się z około 10
> arkuszy. Teraz chciałbym wyłowić ze wszystkich arkuszy
> powtarzające się ciągi znaków składające się z 3 liter np.
> XYZ i automatycznie skopiować cały wiersz w którym wystąpił
> ciąg znaków do nowego arkusza o takiej samej nazwie (XYZ).
Czy można?
Pewnie. I to jak łatwo-szybko-bezbłędnie.
Filmik:
http://afin.net/webcasts/ZZZ_KonsolidacjaArkuszyZFiltrem.swf
> potrzebuje małej pomocy :)
>
> Przygotowałem pewne zestawienie składające się z około 10
> arkuszy. Teraz chciałbym wyłowić ze wszystkich arkuszy
> powtarzające się ciągi znaków składające się z 3 liter np.
> XYZ i automatycznie skopiować cały wiersz w którym wystąpił
> ciąg znaków do nowego arkusza o takiej samej nazwie (XYZ).
Czy można?
Pewnie. I to jak łatwo-szybko-bezbłędnie.
Filmik:
http://afin.net/webcasts/ZZZ_KonsolidacjaArkuszyZFiltrem.swf
poniedziałek, 12 stycznia 2015
SQLS - Kopia bazy pomiędzy serwerami
Jak wiadomo, bazy danych to poważna sprawa!
Tak śmiertelnie poważna, że można walnąć w ramki i się
przykryć nogami ze śmiechu, jak się widzi, jak bazodanowcy tej
powagi bronią.
A tu, weźmy sobie bazkę w bardzo poważnym MS SQL Server Express i
zróbmy sobie jej kopię do jeszcze bardziej śmiertelnie poważnego
MS SQL Server 2012 BI.
Sterownikiem accessowym, a co, nie wolno?
Klikając STARTA w Excelku, oczywiście.
Filmik:
http://afin.net/webcasts/Demo_AfinNetIs_CopySqlsDb1ToSqlsDb2.swf
Tak śmiertelnie poważna, że można walnąć w ramki i się
przykryć nogami ze śmiechu, jak się widzi, jak bazodanowcy tej
powagi bronią.
A tu, weźmy sobie bazkę w bardzo poważnym MS SQL Server Express i
zróbmy sobie jej kopię do jeszcze bardziej śmiertelnie poważnego
MS SQL Server 2012 BI.
Sterownikiem accessowym, a co, nie wolno?
Klikając STARTA w Excelku, oczywiście.
Filmik:
http://afin.net/webcasts/Demo_AfinNetIs_CopySqlsDb1ToSqlsDb2.swf
środa, 7 stycznia 2015
Ciekawostka SQL: Sprzedaż wg grup dat, niekoniecznie mających ową sprzedaż
No..., to trzeba potraktować daty... iloczynem kartezjańskim! (widok t1), po to, że jak nie ma daty, to trzeba ją zrobić, by potem dołączyć do niej, nieistniejącą dla niej, sprzedaż (widok t2).
Warto się uczyć SQLka, chłopaki i dziewczyny.
*************
> [author]Jacek P.:[/author]
> Witam,
> mam kwerendę, która wyświetla pewne wartości dla miesięcy w
> danych latach. Technicznie kwerenda oparta jest o inną kwerendę
> a ta o tabelę. Nie dla każdego miesiąca mam wartości w tabeli
> stąd moja kwerenda wynikowa wyświetla tylko niektóre miesiące.
> Jak zrobić żeby w wyniku mieć wszystkie miesiące począwszy od
> danej daty, ze stałymi wartościami dla miesięcy, które nie
> pojawiają się w tabeli?
SQLek:
SELECT t1.[DataRM], t2.[Sprzedaz] FROM
(SELECT DISTINCT FORMAT(r.[data],'yyyy') & '.' &
FORMAT(m.[data],'mm') AS [DataRM] FROM [Faktura$] r, [Faktura$] m)
t1
LEFT OUTER JOIN
(SELECT FORMAT([data],'yyyy.mm') AS [DataRM], SUM([wart_net]) AS
[Sprzedaz] FROM [Faktura$] GROUP BY FORMAT([data],'yyyy.mm')) t2
ON t1.[DataRM]=t2.[DataRM]
Tabelka:
http://afin.net/samples/Data/ODBC/SalesInHTML/Faktura.htm
Wynik:
DataRM Sprzedaz
2004.01 140
2004.02 41
2004.03 118,4
2004.04 153,9
2004.05 42,6
2004.06 15
2004.07 5
2004.08 3,9
2004.09 13,6
2004.10 5,8
2004.11 4,5
2004.12 11
2005.01 5,2
2005.02 25,5
2005.03 5,5
2005.04 10,4
2005.05 0
2005.06 4,8
2005.07 16,2
2005.08 40,5
2005.09 0
2005.10 0
2005.11 0
2005.12 0
Warto się uczyć SQLka, chłopaki i dziewczyny.
*************
> [author]Jacek P.:[/author]
> Witam,
> mam kwerendę, która wyświetla pewne wartości dla miesięcy w
> danych latach. Technicznie kwerenda oparta jest o inną kwerendę
> a ta o tabelę. Nie dla każdego miesiąca mam wartości w tabeli
> stąd moja kwerenda wynikowa wyświetla tylko niektóre miesiące.
> Jak zrobić żeby w wyniku mieć wszystkie miesiące począwszy od
> danej daty, ze stałymi wartościami dla miesięcy, które nie
> pojawiają się w tabeli?
SQLek:
SELECT t1.[DataRM], t2.[Sprzedaz] FROM
(SELECT DISTINCT FORMAT(r.[data],'yyyy') & '.' &
FORMAT(m.[data],'mm') AS [DataRM] FROM [Faktura$] r, [Faktura$] m)
t1
LEFT OUTER JOIN
(SELECT FORMAT([data],'yyyy.mm') AS [DataRM], SUM([wart_net]) AS
[Sprzedaz] FROM [Faktura$] GROUP BY FORMAT([data],'yyyy.mm')) t2
ON t1.[DataRM]=t2.[DataRM]
Tabelka:
http://afin.net/samples/Data/ODBC/SalesInHTML/Faktura.htm
Wynik:
DataRM Sprzedaz
2004.01 140
2004.02 41
2004.03 118,4
2004.04 153,9
2004.05 42,6
2004.06 15
2004.07 5
2004.08 3,9
2004.09 13,6
2004.10 5,8
2004.11 4,5
2004.12 11
2005.01 5,2
2005.02 25,5
2005.03 5,5
2005.04 10,4
2005.05 0
2005.06 4,8
2005.07 16,2
2005.08 40,5
2005.09 0
2005.10 0
2005.11 0
2005.12 0
Ciekawostka SQL: Tylko pierwsi!
Ciekawe! Jak wyciągnąć TYLKO PIERWSZY REKORD w danej grupie
rekordów, ale nie ograniczając widoku do tej grupy, tylko po
wszystkich grupach z tabeli.
Kluczem jest relacja tabeli z SELECTem zagnieżdżonym, tworzącym
pole tej tabeli (RowNum)
Warto się uczyć SQLka, chłopaki i dziewczyny.
************
SELECT t1.miasto, t1.nazwa,
(SELECT COUNT(*) FROM [odbiorca$] AS t2 WHERE t2.nazwa <=
t1.nazwa AND t1.miasto = t2.miasto) AS RowNum
FROM [odbiorca$] t1
WHERE (SELECT COUNT(*) FROM odbiorca AS t2 WHERE t2.nazwa <=
t1.nazwa AND t1.miasto = t2.miasto) =1
ORDER BY t1.miasto, t1.nazwa
tu tabelka:
http://afin.net/samples/Data/ODBC/SalesInHTML/Odbiorca.htm
A tu wynik:
miasto nazwa RowNum
BIALYSTOK NOWAK 1
CIECHANOW ANEX 1
GDANSK GRZESIEX 1
LEGNICA EDEX 1
OPOLE BRONEX 1
SZCZECIN CELIMP 1
WARSZAWA IMPEX 1
WROCLAW AREX 1
Tylko pierwsze numerki. Bez OVER PARTITION BY.
Zrobiłem na podstawie
http://www.experts-exchange.com/Database/MS_Access/Q_24583991.html
z PLIKU EXCELA na STEROWNIKU EXCELOWYM.
rekordów, ale nie ograniczając widoku do tej grupy, tylko po
wszystkich grupach z tabeli.
Kluczem jest relacja tabeli z SELECTem zagnieżdżonym, tworzącym
pole tej tabeli (RowNum)
Warto się uczyć SQLka, chłopaki i dziewczyny.
************
SELECT t1.miasto, t1.nazwa,
(SELECT COUNT(*) FROM [odbiorca$] AS t2 WHERE t2.nazwa <=
t1.nazwa AND t1.miasto = t2.miasto) AS RowNum
FROM [odbiorca$] t1
WHERE (SELECT COUNT(*) FROM odbiorca AS t2 WHERE t2.nazwa <=
t1.nazwa AND t1.miasto = t2.miasto) =1
ORDER BY t1.miasto, t1.nazwa
tu tabelka:
http://afin.net/samples/Data/ODBC/SalesInHTML/Odbiorca.htm
A tu wynik:
miasto nazwa RowNum
BIALYSTOK NOWAK 1
CIECHANOW ANEX 1
GDANSK GRZESIEX 1
LEGNICA EDEX 1
OPOLE BRONEX 1
SZCZECIN CELIMP 1
WARSZAWA IMPEX 1
WROCLAW AREX 1
Tylko pierwsze numerki. Bez OVER PARTITION BY.
Zrobiłem na podstawie
http://www.experts-exchange.com/Database/MS_Access/Q_24583991.html
z PLIKU EXCELA na STEROWNIKU EXCELOWYM.
Subskrybuj:
Posty (Atom)