"Szara codzienność" analityka czyli jak ułatwić sobie pracę: Usecase

Podobne dokumenty
Język PL/SQL Procedury i funkcje składowane

DECLARE VARIABLE zmienna1 typ danych; BEGIN

Program szkoleniowy. 24 h dydaktycznych (18 h zegarowych) NAZWA SZCZEGÓŁY CZAS

ANALIZA DANYCH W STATA 8.0 CZĘŚĆ II

Makra VBA w Excelu dla początkujących

Liczby losowe i pętla while w języku Python

Importowanie danych z Excela

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Procedury i funkcje składowane

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać

Zakres tematyczny dotyczący podstaw programowania Microsoft Office Excel za pomocą VBA

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

Optymalizacja Automatycznych Testów Regresywnych

LibreOffice Calc VBA

Aplikacje WWW - laboratorium

Słowem wstępu. Część rodziny języków XSL. Standard: W3C XSLT razem XPath 1.0 XSLT Trwają prace nad XSLT 3.0

Maxima i Visual Basic w Excelu

Oracle11g: Programowanie w PL/SQL

Przykładowa baza danych BIBLIOTEKA

Instrukcja migracji danych z bazy Derby do bazy Oracle

Program szkolenia VBA (VISUAL BASIC FOR APPLICATIONS) W EXCELU PODSTAWOWY.

COMARCH IT AKADEMIA. Programista VBA w Microsoft Excel (microbootcamp)

Bazy Danych. Wykład VII Makropolecenia. Copyright by Arkadiusz Rzucidło 1

Automatyczne generowanie testów z modeli. Bogdan Bereza Automatyczne generowanie testów z modeli

VBA praca z makrami w Excelu: piszemy kod! Ulepszamy program! 0. Parę uwag o samym edytorze

Programowanie w Turbo Pascal

Bloki anonimowe w PL/SQL

Przykład rozwiązywania problemu w programie DSS1OPT

Algorytmy i struktury danych

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak

8. Listy wartości, dodatkowe informacje dotyczące elementów i przycisków

LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika

Kowalski Marcin Wrocław, dn Jaśkiewicz Kamil Bazy Danych 1 Podstawy Projekt Temat: Baza danych do zarządzania projektami

Tworzenie przypadków testowych

Wprowadzenie (17) Część I. Makra w Excelu - podstawy (23)

Składowane procedury i funkcje

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR

ECDL Podstawy programowania Sylabus - wersja 1.0

Języki skryptowe w programie Plans

MentorGraphics ModelSim

Informatyzacja Przedsiębiorstw

UWAGA!!! Przed przystąpieniem do zamknięcia roku proszę zrobić kopie bezpieczeństwa

Informatyzacja Przedsiębiorstw

Program szkolenia VBA (VISUAL BASIC FOR APPLICATIONS) W EXCELU PRZEKROJOWY.

Zmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc.

Visual C# dla zupełnie początkujących / Tony Gaddis. Wydanie IV. Gliwice, copyright Spis treści. Wstęp 11. Uwaga, czytelnicy 19

Tabele zagnieżdżone z sortowaniem po statystykach

Systemy baz danych Prowadzący: Adam Czyszczoń. Systemy baz danych. 1. Import bazy z MS Access do MS SQL Server 2012:

Tworzenie makr warunkowych

Analiza. wrażliwości cenowej. Jaką cenę ustalić, aby zmaksymalizować.

Podstawy MATLABA, cd.

akademia androida Pierwsze kroki w Androidzie część I

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Ćwiczenia 2 IBM DB2 Data Studio

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Dokumentacja techniczna API systemu SimPay.pl

Obowiązuje od wersji

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X

Aplikacje w środowisku Java

Plan wykładu BAZY DANYCH II WYKŁAD 4. Co to jest kursor? Rodzaje kursorów

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

Badania poziomu bezpieczeństwa portalu dostępowego do infrastruktury projektu PL-Grid

Umieszczanie kodu. kod skryptu

Jak ustawić cele kampanii?

trainxx tramxx

Instrukcja obsługi Modułu Płatności dla Moodle 1.7, 1.8, 1.9

SAS Podstawowe informacje przed ćwiczeniem 1

1 Wprowadzenie do algorytmiki

Efektywność obsługi prawnej projektów IT

ZMIENNE. Podstawy PHP

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Laboratorium 3: Preprocesor i funkcje ze zmienną liczbą argumentów. mgr inż. Arkadiusz Chrobot

Rozdział 5: Zarządzanie testowaniem. Pytanie 1

Wykład 03 JavaScript. Michał Drabik

Plik->Opcje->Zakladka Główne->Dostosuj Wstążkę Zaznaczamy kwadracik Developer na liscie po prawej stronie. Klikamy OK.

Tworzenie zapytań do Microsoft SQL Server

PROGRAM SZKOLENIA. Excel w Analizach danych.

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Oracle10g: Programowanie w PL/SQL

Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++

Cheatsheet PL/SQL Andrzej Klusiewicz 1/9

Bash - instrukcje warunkowe, pętle i funkcje

Makra programu Microsoft Access.

Oracle PL/SQL. Paweł Rajba.

SYSTEM INFORMATYCZNY KS-SEW

Warunek wielokrotnego wyboru switch... case

Dlaczego testowanie jest ważne?

Program szkolenia PODSTAWY VBA (VISUAL BASIC FOR APPLICATIONS) I FORMULARZE.

KURSY PROGRAMOWANIA DLA DZIECI

Instrukcje cykliczne (pętle) WHILE...END WHILE

Praca z systemem POL-on. Zaznaczanie toków do eksportu.

Automatyczne decyzje kredytowe, siła szybkiego reagowania i optymalizacji kosztów. Roman Tyszkowski ING Bank Śląski S.A. roman.tyszkowski@ingbank.

Dokumentacja Użytkownika systemu. Google Tag Manager. Wersja

4. Budowa prostych formularzy, stany sesji, tworzenie przycisków

PHP: bloki kodu, tablice, obiekty i formularze

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Komputerowe wspomaganie eksperymentu 5

Zarządzanie bazą danych. Bazy Danych i Systemy informacyjne Wykład 4. Piotr Syga

Transkrypt:

"Szara codzienność" analityka czyli jak ułatwić sobie pracę: Usecase Tomasz Chojecki

2 Agenda 1. Czego potrzebują dane z badań na początku 2. Przechodząc do konkretów: jak w praktyce ujarzmić dane w "siedmiu linijkach" kodu 3. Pętla, jako sposób na ostateczne rozwiązanie problemu pracy z wieloma zmiennymi 4. Analityk ma zawsze czas na kawę: o automatyzacji na każdy dzień 5. Włącznie procedur w procesy działania firmy

3 Dlaczego? Transparentność Kontrola Powtarzalność Efektywność

4 Czego potrzebują dane z badań na początku W zależności od zaufania do źródła danych na wstępie warto / trzeba zawsze sprawdzić kilka rzeczy: Zmienne techniczne -status -flash -itp Tok wywiadu czyli poprawność filtrów Rozkład zrealizowanej próby Eliminacja ściemy -pytania otwarte -schematy odpowiedzi Spójność logiczna odpowiedzi respondentów

5 Przechodząc do konkretów: jak w praktyce ujarzmić dane w "siedmiu linijkach" kodu get file, save outfile, keep, drop, compressed COUNT, COMPUTE if, DO IF, ENDIF, AND, OR, not, range, any RECODE, recode into, TO, THRU do repeat, end repeat numeric, string, VARIABLES LABELS, VALUELABELS, formats sort cases, select if frequencies, EXECUTE

6 Pętla, jako sposób na ostateczne rozwiązanie problemu pracy z wieloma zmiennymi (1) Sytuacja: Badanie online, Pytanie o spontaniczną znajomość marek napojów gazowanych w formie pytania otwartego, Pytanie o znajomość wspomaganą w formie pytania zamkniętego z kafeterią 35 pozycji, Klucz do pytania otwartego wzięty z pytania zamkniętego, Umiemy stosować w syntaxie warunki if. Zadanie: Uspójnienie odpowiedzi między pytaniami

7 Pętla, jako sposób na ostateczne rozwiązanie problemu pracy z wieloma zmiennymi (2) Możliwości: 35 x Wizard'Compute Variable ' 35 linii syntax'u if(s1_x=1) W1_x=1. Pętla lub lub do repeats1=s1_1 to S1_35 / W1=W1_1 to W1_35. if(s1=1) W1=1. end repeat.

8 Analityk ma zawsze czas na kawę: o automatyzacji na każdy dzień (1) Używamy syntax'u, posiłkujemy się kreatorami, wykorzystujemy pętle Możemy cały proces przejrzeć, sprawdzić, uruchomić ponownie Możemy w nowym projekcie wykorzystać całość lub fragmenty istniejącego skryptu po jego ewentualnej modyfikacji I co dalej? Czy to już koniec? Nie! Możemy pójść krok dalej

9 Analityk ma zawsze czas na kawę: o automatyzacji na każdy dzień (2) Tworzenie klocków czyli zamykanie często powtarzanych fragmentów w bloki i ich późniejsze wywoływanie Pozwala to: Zunifikować pewne czynności Ograniczyć miejsce / skrócić syntax Uprościć składnię Używać excela jako do wsparcia generowania syntaxu

10 Kilka przykładów

11 Definiowanie zestawów odpowiedzi (Multiple Response Sets)

12 Definiowanie zestawów odpowiedzi (Multiple Response Sets) Efekt użycia przycisku 'Wklej' / 'Paste' w kreatorze SPSS * Define Multiple Response Sets. MRSETS /MDGROUP NAME=$PSMerrorLABEL='Błędy w PSM' CATEGORYLABELS=VARLABELS VARIABLES=PSMerror_1 PSMerror_2 PSMerror_3 PSMerror_4 PSMerror_5 PSMerror_6 PSMerror_7 PSMerror_8 VALUE=1 /DISPLAY NAME=[$PSMerror].

13 Definiowanie zestawów odpowiedzi (Multiple Response Sets) Polecenia zamknięte w makrze DEFINE!mdGrupa(Nazwa=!charend(';') / Zmienne=!charend(';') / Labelka=!default('""')!cmdend). MRSETS /MDGROUP NAME=!Nazwa LABEL=!Labelka CATEGORYLABELS=VARLABELS VARIABLES=!Zmienne VALUE=1 /DISPLAY NAME=[!Nazwa].!ENDDEFINE I ich wywołanie!mdgrupa Nazwa=$PSMerror ; Zmienne=PSMerror_1 to PSMerror_8. lub!mdgrupa Nazwa=$PSMerror ; Zmienne=PSMerror_1 to PSMerror_8 ; Labelka="Błędy w PSM".

14 Definiowanie zestawów odpowiedzi (Multiple Response Sets) Dalsze uproszczenie makra DEFINE!mdGrupa(!POS!TOKEN(1)/!POS!CHAREND(';')/!POS!default('""')!CMDEND). MRSETS /MDGROUP NAME=!1 LABEL=!3 CATEGORYLABELS=VARLABELS VARIABLES=!2 VALUE=1.!ENDDEFINE. I wywołanie jego nowej postaci!mdgrupa $PSMerror PSMerror_1 to PSMerror_8. lub!mdgrupa $PSMerror PSMerror_1 to PSMerror_8; "Błędy w PSM".

15 Kontrola spójności odpowiedzi na pytania PSM (Price Sensitivity Meter) Blok pytań: Jaka cena jest niska za dany produkt / usługę? (B) Jaka cena jest wysoka lecz wciąż akceptowalna? (C) Jaka cena jest zbyt wysoka aby rozważać zakup? (D) Jaka cena jest podejrzanie niska i może oznaczać niską jakość? (A) Warunki do sprawdzenia: A < B, A < C, A < D, B < C, B < D, C < D Chcemy by 'raport' zawierał informacje o liczbie: Błędnych wywiadów (jakikolwiek błąd) Poszczególnych błędów w wywiadach Poprawnych wywiadów

16 Kontrola spójności odpowiedzi na pytania PSM (Price Sensitivity Meter) numeric Q4error_1 to Q4error_8 (f1). recode Q4error_1 to Q4error_8 (else=0). recode Q4_1 Q4_2 Q4_3 Q4_4 (999=sysmis). if(q4_2>=q4_1) Q4error_2=1. if(q4_2>=q4_3) Q4error_3=1. if(q4_2>=q4_4) Q4error_4=1. if(q4_1>=q4_3) Q4error_5=1. if(q4_1>=q4_4) Q4error_6=1. if(q4_3>=q4_4) Q4error_7=1. count Q4error_1=Q4error_2 to Q4error_7 (1). recode Q4error_1 (1 thru 6=1)(else=0). recode Q4error_1 (1=0)(0=1) into Q4error_8. recode Q4_1 Q4_2 Q4_3 Q4_4 (sysmis=999). var lab Q4error_1 "Jakikolwiek błąd" Q4error_2 "-Za Tani >= Tani" Q4error_3 "-Za Tani >= Drogi" Q4error_4 "-Za Tani >= Za Drogi" Q4error_5 "- Tani >= Drogi" Q4error_6 "-Tani >= Za Drogi" Q4error_7 "- Drogi >= Za Drogi" Q4error_8 "Jest ok".!mdgrupa $Q4error Q4error_1 to Q4error_8 ; "Błędy w PSM".

17 Kontrola spójności odpowiedzi na pytania PSM (Price Sensitivity Meter) Define!KtrPSM(Tani=!charend(';') / ZaTani=!charend(';') / Drogi=!charend(';') / ZaDrogi=!charend(';') / Missing=!cmdend). numeric PSMerror_1 to PSMError_8 (f1). recode PSMerror_1 to PSMError_8 (else=0). recode!tani!zatani!drogi!zadrogi(!missing=sysmis). if(!zatani>=!tani) PSMerror_2=1. if(!zatani>=!drogi) PSMerror_3=1. if(!zatani>=!zadrogi) PSMerror_4=1. if(!tani>=!drogi) PSMerror_5=1. if(!tani>=!zadrogi) PSMerror_6=1. if(!drogi>=!zadrogi) PSMerror_7=1. count PSMerror_1=PSMerror_2 to PSMerror_7 (1). recode PSMerror_1 (1 thru hi=1)(else=0). recode PSMerror_1 (1=0)(0=1) into PSMerror_8. recode!tani!zatani!drogi!zadrogi(sysmis=!missing). var lab PSMerror_1 "Jakikolwiek błąd" PSMerror_2 "-Za Tani >= Tani" PSMerror_3 "- Za Tani >= Drogi" PSMerror_4 "-Za Tani >= Za Drogi" PSMerror_5 "- Tani >= Drogi" PSMerror_6 "- Tani >= Za Drogi" PSMerror_7 "- Drogi >= Za Drogi" PSMerror_8 "Jest ok".!mdgrupa $PSMerror PSMerror_1 to PSMerror_8 ; "Błędy w PSM".!EndDefine.

18 Kontrola spójności odpowiedzi na pytania PSM (Price Sensitivity Meter) Wywołanie i efekt!ktrpsm Tani=Q4_2 ; ZaTani=Q4_1 ; Drogi=Q4_3 ; ZaDrogi=Q4_4 ; Missing=999. Nieważona liczebność Liczebność % z N Ogółem w kolumnie Ogółem 450 450 100,0% Jakikolwiek błąd 145 145 32,2% - ZaTani >= Tani 125 125 27,8% - ZaTani >= Drogi 31 31 6,9% Błędy w PSM - ZaTani >= ZaDrogi 22 22 4,9% - Tani >= Drogi 50 50 11,1% - Tani >= ZaDrogi 28 28 6,2% - Drogi >= ZaDrogi 34 34 7,6% Jest ok 305 305 67,8%

19 Włącznie procedur w procesy działania firmy Transparentność: Zapis całości procesu oraz sposobu wykonania poszczególnych jego etapów Kontrola: Możliwość weryfikacji sposobu przetwarzania / analizowania danych Komfort pewność co do jakości danych i analiz Powtarzalność: Możliwość i łatwość adaptacji w przypadku zmiany założeń, oczekiwań, danych źródłowych itp. Możliwość wykorzystania części lub całości w przyszłych podobnych projektach Źródło elastyczności zespołu (wymienność/ zastępowalność osób) Efektywność: Szybkość, minimalizacja ryzyka błędów i konieczności powtórzeń

20 Podsumowanie: Poziomy wykorzystywania syntaxu 1 2 3 4 5 Nigdy i nigdzie Wklejam Piszę Zamykam w klocki Tworzę własne

21 Dziękuję Tomasz Chojecki tomasz.chojecki@grupaiqs.pl