Biblia analityków to...



Marcinie,



Bieżący rok jest z racji wyborów, referendum bardzo gorący, w mediach, rozmowach prywatnych, publicznych jest bardzo dużo stosunkowo prostych haseł, komunikatów, uproszczeń, których celem jest po prostu szybkie przekonanie do siebie, a niekoniecznie to jest zgodnie z faktycznym zainteresowaniem czy też powszechnym przekonaniem, zapotrzebowaniem społecznym.



Ucząc się SQL pozyskujesz wiedzę jak wydobyć dane, agregować dane i dostarczyć je odbiorcy/zamawiającemu. Marcinie Twoja rola jako dostawcy danych to całkiem ciekawe zajęcie, robisz raporty takie jak sobie ktoś zażyczy, zasilasz system danymi biorąc je z innego źródła, wspierasz decydujących materiałem do analizy i następnie podjęcia decyzji. Do migracji danych też się przydaje znajomość SQL, ale ile to razy się migrujesz, nie za często chyba :-)



W ostatnim zdaniu padło słowo „analiza”. Czy masz ambicje bycia też analitykiem? Marcinie czuję, że po zdobyciu podstaw SQL zaciekawił Ciebie aspekt analizy. Wyraźnie Twoje ostatnie pytania to już pytania z tego obszaru.



Zatem musisz wiedzieć, iż homo sapiens w zasadzie nie ma intuicji statystycznej, osądy problemów dotykających prawdopodobieństwa są dokonywane przez człowieka najczęściej z bardzo dużym błędem. Po prostu człowiekowi umiejętność szacowania statystycznego nie była potrzebna do przeżycia, to jej prawie nie ma, paroma prostymi komunikatami można u człowieka zbudować wrażenie występowania dużego problemu podczas gdy go nie ma, ale to wychodzi dopiero z danych.



Jeżeli chcesz być też analitykiem to musisz przeczytać książkę, która mym zdaniem zasługuje na miano „biblii analityków”.  Ma tylko jedną wadę, jest nieco długa, bo autor nie tylko opisał błędy, ale jest dość dużo wątków autobiograficznych. No cóż taka cena otrzymania dorobku noblisty Daniela Kahnemana w jednej książce.



Książka jest stosunkowo tania jak na ogromną dawkę wiedzy jaką gwarantuje. Pokuszę się o stwierdzenie, iż w dzisiejszych czasach analityk, chcąc zasłużyć na to miano: musi ja mieć J oraz przede wszystkim przeczytać.





Pułapki myślenia. O myśleniu szybkim i wolnym



Jak na podstawie kodów pocztowych przypisać klientom województwo?



Zadanie: mamy adresy i kody pocztowe siedzib klientów, ale nie mamy określonego województwa. Jak uzupełnić tę informację? Od razu czujesz Marcinie, iż trzeba wykorzystać kody pocztowe? To prawda, ale skąd wziąć bazę kodów wraz z informacją o województwie oraz czy nie będzie to duża tabelka?

Okazuję się, iż wystarczy tabelka z 157 wpisami by dość dobrze temat opracować. Podkreślam, trzeba do tego wykorzystać tabelę w EXCEL lub w bazie jako słownik: maska kodu w jednym polu a w drugim województwo przypisane do maski.

I teraz na przykładzie: mam 200 klientów, znam ich kody pocztowe i przypisuję województwa: w EXCEL wykorzystuję funkcję: WYSZUKAJ.PIONOWO (jak na obrazku). Czyli chcę by w określonym miejscu, dla danego klienta wyświetliło się województwo jako:


=WYSZUKAJ.PIONOWO ( B2 ; przypisanie_kodow!$A$1:$B$157 ; 2 )

Gdzie:
  • B2 – to adres komórki gdzie jest kod pocztowy danego klienta;
  • przypisanie_kodow!$A$1:$B$157 – to lokalizacja tabeli z danymi: maska kodu i województwo, jak widać mam to w osobnej zakładce, którą nazwałem przypisanie_kodow a zakres tabeli jest w tej tabeli dokładnie $A$1:$B$157. Użyłem przed adresem znaku dolara ($) ponieważ chcę by przy kopiowaniu komórki i wklejaniu adres tabeli danych się nie zmieniał;
  • 2 – to wskazanie z którego pola tabeli przypisania kodów ma zostać zwrócona wartość, tu z drugiego pola, bo w drugim jest po prostu dla danej maski kodu pocztowego określone województwo.
W EXCEL na tym kończę, domyślnie EXCEL zwróci wartość podobną, czyli weźmie nasz kod i wybierze podobną maskę do naszego kodu, jeżeli dodać po średniku FAŁSZ, to musiałoby nastąpić dokładne dopasowanie. Nasza tabela przypisanie_kodow nie pozwala na dokładne dopasowanie, ale działa.


Wykonanie zadania na bazie sprowadza się do tego samego ciągu czynności, tabelka przypisanie kodów musi być ma bazie, później wiążemy po kodzie, przy czym połączenie na bazie tu musi być wykonane z wykorzystaniem operatora „like”.  Złączenie tabel na bazie można robić wykorzystując operator „like”, zaskoczeni?
Polecam zatem przejrzenie materiałów dostępnych poniżej: 


- zadanie wykonane na bazie, przy czym istotna uwaga, inaczej tworzę tabele na ORACLE, inaczej na MS SQL Serwerze, uruchamiając kod zwróć Marcinie na to uwagę :-)



W. 





Dual na SQL Serwerze ? Tworzenie tabeli poprzez zapisanie do niej wyniku selecta?



To porównanie SQL Serwera z Oracle.
Przygotowywałem materiał na kolejny wpis, ale już działający, uruchamiany na SQL Serwerze i chciałem wykorzystać możliwość utworzenia tabel nie poprzez nazwy pól i definicje typów danych, ale poprzez zapisanie wyniku „selecta” jako tabeli.
Na ORACLE konieczne jest wybranie przykładowych danych oraz musi być zachowana struktura select …. from nazwa_tabeli;
To na czerwonym musi być, dlatego wykorzystuje się tabelę dual mającą jedną wartość i działa, czyli stosuje się chwyt:
create table przyklad
 as select
 23 liczba
 , 'Platynowa' ulica
from dual;
Taki prosty chwyt powoduje, iż powstaje tabela w tym przypadku nazwana przyklad, ma dwa pola: liczba, ulica, jest od razu jeden rekord danych – wartości: 23, Platynowa. I jest to mym zdaniem intuicyjne. Po prostu widać, iż tworzymy tabelę a do niej ładujemy dane, jeden rekord.
Na SQL Serwerze ten sam efekt uzyskamy ale tak:
select
 23 liczba
 , 'Platynowa' ulica
 into  przyklad;
Tak, powstanie tabela przyklad, ale można się nieco być zaskoczonym, no nie? Na obrazku widać, iż zadziałało J
A dual jest też zbędny na SQL Serwerze:
select 1 liczba;
zostanie wykonane, from tabela jest zbędne, co widać na drugim obrazku.
A już w najbliższy weekend nieco bardziej złożona sprawa będzie przedstawiona.
Pozdrawiam,
W



Wakacje, ale upały, to dobrze, ale nie marnujemy czasu...

Cześć, co prawda miałem siedzieć cicho, ale Marcin się uparł. Bo mogą ludziki pomyśleć, że coś się stało. Głos oddaje zatem Marcinowi.
Witam, to ja Marcin, puchy ostatnio, cisza, to upały, słońce, wszystko się klei, komórki szare się kleją... Kanikuła na 125%, jak tu się uczyć, jak taki klimat.
To tylko jednak pozory, to cisza przed burzą (upały przed burzą), razem z Włodkiem pracujemy nad niewielką bazką, kilkoma tabelami z danymi, na których to już będzie można przećwiczyć parę rzeczy, tak już w bardziej poukładany sposób.
Dane do ćwiczeń to nie taka łatwa sprawa jednak, ale jak dobrze pójdzie to pod koniec września już ze dwie tabele z ładnym pakietem będą i wówczas się bardziej ożywimy.
Co nie znaczy, że cisza będzie do końca września, ale na pewno rzadziej będę czy to ja czy też Włodek się odzywać.

Po prostu przygotowujemy się. 
I na koniec obrazek, wracam do wakacyjnego nastroju.
Pozdrawiam,

M.

SQL Serwer Configuration Manager fajna sprawa plus namiary na klienta do komunikowania się z bazą MS

Cześć,

Tak się składa, że nieco zmieniłem zdanie. Nie będę prezentował Ci jak instalowałem klienta, który będzie współpracował z MS SQL Serwerem w wersji 2005. To już jest w internecie pokazane, dlatego odeślę Ciebie pod następujący adres:




Klient czyli aplikacja przy pomocy, której będziesz rozmawiał z bazą musi być, ja na Windows XP zainstalowałem wersję ściągniętą z Microsoftu dostępną tutaj ewentualnie dostępną tutaj u mnie.

Ciekawostką jest to, iż baza MS SQL Serwer ma graficzny konfigurator tj. SQL Serwer Configuration Manager

To fajna rzecz,  nie trzeba grzebać po ustawieniach konfiguracyjnych WINDOWS, tylko wystarczy skorzystać z ww. konfiguratora i tam przestawić „STATUS MODE” na „MANUAL” i już nie będzie startowała baza od razu ze startem WINDOWS. Jednak trzeba pamiętać, iż zanim uruchomisz klienta, do rozmowy z bazą to wcześniej baza „z ręki” musi być uruchomiona.

Pozdrawiam,

W.