Firma Aktualności Produkty Projekty Teksty Muzeum Pobierz Kontakt Mapa RSS English
YAC Software Muzeum SPSS-2-Excel Spelunka Trybików
  Wróć

Informacje

SPSS-2-Excel

DataGate Suite

SPSS-2-Excel
Program służący do przygotowywania raportów tabelarycznych.

S2X (skrótowa nazwa aplikacji) importuje dane z formatu SPSS. Następnie pozwala na ręczne lub automatyczne definiowanie tabel, które to następnie eksportuje się do formatu tab-delimited. Kolejnym krokiem jest wczytanie wszystkich tabel do programu Excel i ich dalsza obróbka tamże (także za pomocą zestawu specjalistycznych makr). Szczegóły:

Typy tabel

W programie można definiować 5 typów tabel:
  • Rozkładów (Frequencies)
    Pozwala przedstawić dane z pytań, które w kwestionariuszu mają na ogół postać tabeli, np. bateria skal (zmienne wielowartościowe) czy wskazanie wszystkich stwierdzeń pasujących do marek (zmienne dychotomiczne).
  • Średnich (Means)
    Pozwala przedstawić średnie np. z baterii skal lub też średnie z pytania o dopasowanie stwierdzeń do marek, gdzie dla każdej marki określa się poziom dopasowania stwierdzenia do marki.
  • Przecięć rozkładów (Cross-tabs)
    Klasyczna tabela, w której można przedstawić odpowiedzi na pytanie w podziale na grupy respondentów. W tym celu definiuje się dwa wymiary tabeli: kolumny z danymi zależnymi i wiersze z danymi niezależnymi (lub vice versa). Przy czym, w kolumnach jak i wierszach mogą być przedstawione dane ze zmiennych wielowartościowych jak i dychotomicznych.
  • Przecięć średnich (Banners)
    Pozwala przedstawić średnie w podziale na grupy respondentów. W kolumnach umieszcza się zmienne wielowartościowe (z których będą liczone średnie), w wierszach, jak przy poprzedniej tabeli, grupy definiowane przez pytania niezależne.
  • Przecięć rozkładów i średnich (Cross-Bann)
    Jest to połączenie przecięcia rozkładów z przecięciem średnich, czyli przedstawienie rozkładów i średnich z pytań zależnych w podziale na podgrupy respondentów. Tabela często stosowana aby dokładniej przedstawić dane ze zmiennej wielowartościowej, gdzie w kolumnach chcielibyśmy umieścić:
    • rozkład zmiennej,
    • średnią, odchylenie standardowe,
    • dodatkowe dane, jak np. top-two-boxes.
Góra

Definiowanie tabel

Program zakłada, że kolejność zmiennych składających się na dane badania, w naturalny sposób odzwierciedla układ pytań i odpowiedzi w kwestionariuszu. Zatem, definicja tabeli na ogół sprowadza się tylko do określenia kilku parametrów, jak: pierwsza zmienna, liczba zmiennych, odstęp między zmiennymi.

Tabelę definiuje się więc za pomocą jednego lub dwóch okien dialogowych pozwalających określić zmienne w poszczególnych wymiarach tabeli. Okna te wymagają pewnego przyzwyczajenia się, ale po niedługim czasie ich obsługa staje się prawie automatyczna.

Przykładem takiego okna niech będzie definiowanie kolumn dla przecięć rozkładów:



Głównym elementem okna jest lista wszystkich zmiennych numerycznych dostępnych w pliku danych ("Zmienna początkowa"). Lista ta służy do wybrania pierwszej zmiennej, która będzie umieszczona w kolumnach tabeli (tutaj: V5). Ponieważ w tym przypadku są to zmienne dychotomiczne (opisujące np. znajomość spontaniczną), w kolumnach tabeli chcielibyśmy umieścić wszystkie zmienne z pytania - dlatego wpisano liczbę 19 w polu "Rozmiar (y)". Zmienne ułożone są w pliku danych po kolei, więc między kolejnymi zmiennymi odstęp wynosi 1 (pole "Skok"). Wreszcie, chcemy aby w tabeli wyświetlane były tylko dane ze wskazań "tak" dla każdej zmiennej - stąd odpowiednie ustawienia w polach "Wartości" (wybrane) i "Wartość(i)" (1).

Gdybyśmy chcieli umieścić w kolumnach wszystkie wartości zmiennej wielowartościowej, odpowiednie okno definicyjne mogłoby wyglądać jak następuje:



Zakładamy tutaj, że pytanie A2 jest pytaniem typu: "Jak często używa Pan(i) danego produktu?", z odpowiedziami typu:
  • 1 - raz na tydzień lub częściej,
  • 2 - co najmniej raz na miesiąc, ale rzadziej niż raz na tydzień,
  • 3 - rzadziej niż raz na miesiąc,
  • 9 - trudno powiedzieć.
W takim przypadku, w tabeli zostaną zdefiniowane 4 kolumny o wartościach powyższych odpowiedzi.

Gdyby odpowiedź 9 była zdefiniowana jako brak danych, wtedy można zdefiniować tabelę bez tej odpowiedzi, wybierając w polu "Wartości" opcję "ważne".

Góra

Organizacja tabel / edycja komórek

Po zdefiniowaniu poszczególnych wymiarów, użytkownikowi przedstawiona zostanie tabela, jeszcze bez obliczeń. W poniższym przykładzie ograniczyliśmy się do 5 zmiennych dychotomicznych w kolumnach:



Jest to okazja dla użytkownika na zweryfikowanie poprawności definicji tabeli. Jeżeli tabela nie jest do końca poprawnie zdefiniowania, użytkownik może:
  • zdefiniować ją jeszcze raz za pomocą wcześniej opisanych okien dialogowych,
  • zmienić definicję poszczególnych komórek.
Ta druga opcja wymaga może nieco wyjaśnienia. Wszystkie komórki tabeli dwu-wymiarowej zdefiniowane są jako para: (zmienna wierszowa + lista wartości), (zmienna kolumnowa + lista wartości). W programie można więc zmienić definicję wiersza i/lub kolumny przez podanie innej zmiennej i/lub innej listy wartości:



Nota bene, konstrukcja tabel (po zdefiniowaniu) jak i mechanizm obliczeń i dostępu do danych zgodne są w dużym stopniu ze znacznie późniejszą aplikacją YAC Data Analyzer - okazuje się, że taka organizacja tabel bardzo ułatwia ich "wewnętrzną" obsługę w programie...

Góra

Obliczenia

Gdy użytkownik uzna, że tabela jest już zdefiniowana prawidłowo, można uruchomić jej przeliczenie; program przedstawi okno dialogowe z dostępnymi opcjami obliczeń:



Poszczególne opcje pozwalają na:
  • obliczanie liczebności lub procentów,
  • w przypadku obliczania procentów, ich obliczanie w wierszach, w kolumnach lub do ogółu,
  • wyświetlanie podstaw obliczeń,
  • wyłączanie z obliczeń braków danych,
  • podanie wyniku ogółem,
  • określanie dokładności obliczeń (liczby miejsc dziesiętnych w wyniku),
  • wskazanie komórek istotnie różniących się od wartości oczekiwanej (na podstawie rozkładów brzegowych),
  • określanie minimalnej podstawy obliczeń dla wyliczania powyższej statystyki,
  • obliczanie istotności różnic dla wszystkich par komórek w kolumnach, w wierszach i/lub w wyniku ogółem.
Komórki istotnie różniące się od wartości oczekiwanej zostaną oznaczone za pomocą gwiazdki (*). Istotności różnic par zostaną zapisane w tabelach w dodatkowych plikach.



Góra

Eksport / kopiowanie do schowka

Następnie, gdy tabela zostanie już przeliczona, można ją:
  • zapisać jako plik tab-delimited,
  • dołączyć do pliku innej tabeli (pod poprzednią tabelą lub z prawej poprzedniej tabeli) - pozwala to na budowanie bardziej skomplikowanych tabel, których nie da się w łatwy sposób zdefiniować za pomocą jednej serii okien dialogowych,
  • skopiować do schowka, aby później wkleić do innego programu/dokumentu.
Góra

Dodatkowa funkcjonalność

W programie dostępnych jest jeszcze kilka innych funkcji i opcji, które mają za zadanie ułatwić użytkownikowi pracę z danymi. Są to:
  • Okno dialogowe zmiennych
    W oknie tym można przeglądać podstawowe informacje o zmiennych (nazwa, etykieta, typ, dokładność, etykiety wartości, braki danych), redefiniować braki danych oraz przeglądać podstawowe statystyki zmiennych:
    • rozkład: liczebność, procenty, procenty bez braków danych,
    • średnia,
    • liczby wartości i braków danych,
    • liczby przypadków dla wartości i braków danych.
    W oknie można za pomocą jednego kliknięcia przechodzić do poprzedniej lub następnej zmiennej, a powyższe dane zostaną wyświetlone od razu (dzięki odpowiedniej organizacji zbioru danych). Co więcej, dla zbiorów zmiennych, powyższe dane wyświetlane są dla całego zbioru.
  • Zbiory zmiennych
    Wspomniane wcześniej zbiory zmiennych ułatwiają definiowanie standardowych wierszy i/lub kolumn. Jeżeli wiele tabel, np. przecięć rozkładów, ma taki sam zestaw zmiennych niezależnych, taki zestaw można zdefiniować jako zbiór, a następnie użyć tej definicji przy tworzeniu tabeli.
  • Ważenie danych
    Dane, więc i obliczenia, mogą być ważone przez dowolną zmienną numeryczną.
  • Filtrowanie danych
    Obliczenia można ograniczyć do podgrupy respondentów zdefiniowanych przez wyrażenie oparte na zmiennych numerycznych; można więc wykonać obliczenia np. tylko dla mężczyzn, a filtr wtedy miałby postać podobną do następującej: SEX = 1. W filtrach można korzystać z operacji arytmetycznych, operatorów porównań oraz operacji logicznych (koniunkcji, alternatywy i negacji). Filtry mogą mieć więc postać dosyć skomplikowaną, np.: PLEC = 1 | ( DOCHOD > 5 & MIASTO > 1 ).
  • Import danych
    Program może importować dane i opisy danych w następujących formatach:
    • pliki danych programu SPSS (.sav),
    • fixed-ASCII,
    • tab-delimited,
    • comma separated values (CSV).
    W trzech ostatnich przypadkach niezbędny jest też plik opisujący zmienne (etykiety, wartości, braki danych). Opisy zmiennych mogą być w jednym z następujących formatów:
    • SPSS File Info,
    • SPSS Syntax (instrukcje DATA LIST, VARIABLE LABELS, VALUE LABELS i MISSING VALUES),
    • skrypt programów DataGate.
Góra

Makra

Tabele zapisane w plikach w formacie tab-delimited mogą być następnie bezproblemowo wciągnięte do innych aplikacji, jak np. Excel.

"Bezproblemowo" to może dużo powiedziane. Po pierwsze, plików może być bardzo dużo (po jednym dla każdej tabeli) i ich ręczne wciągnięcie do jednego pliku Excela wcale nie jest takie zabawne. Po drugie, pliki nie mają żadnego formatowania (czcionek, kolorów, tła), więc aby w Excelu wyglądały jako tako, należałoby im poświęcić sporo czasu. Wreszcie, z wielu tabel tworzone były standardowe wykresy, co znowu przy kilkudziesięciu lub kilkuset tabelach nie było pracą ani łatwą, ani przyjemną...

Toteż Wojciech A. Trybulec (mój brat) któregoś razu się w końcu wkurzył i machnął całą serię makr, które powyższe prace umilały. Potem jeszcze je trochę dostosowałem do nowej funkcjonalności programu.



Kolejne pozycje menu mają następującą funkcjonalność:
  • Open all .XLS files...
    Otwiera wszystkie arkusze w podanym katalogu i włącza do jednego skoroszytu w kolejności alfabetycznej.
  • Format table...
    Ogólne opcje formatowania:

    Przycisk "ALL" przechodzi automatycznie przez wszystkie tabele w skoroszycie formatując je w ten sam, zadany sposób.
  • Standard table format...
    Uproszczona wersja poprzedniego okna dialogowego zakładająca standardowe, dla firmy, ustawienia większości opcji.
  • Standard page setup...
    Okno dialogowe pozwalające zdefiniować, dla wszystkich tabel i wykresów, standardowe ustawienia strony.
  • Add subtitle...
    Okno dialogowe pozwalające zdefiniować podtytuł dla wszystkich arkuszy.
  • Translation...
    Zmiana tekstów wpisywanych przez makra na angielski lub na polski.
  • Create chart...
    Okno dialogowe pozwalające zdefiniować standardowy wykres na podstawie wyników w tabeli.
  • Create linear evaluation chart...
    Okno dialogowe pozwalające zdefiniować wykres liniowy do danych cenowych.
  • Select sheet...
    Okno dialogowe pozwalające na przejście do danej tabeli lub wykresu; nieco wygodniejsze w użyciu niż standardowe zakładki Excela.
  • Printing...
    Makro ułatwiające wydrukowanie wszystkich tabel i wykresów, zachowujące ustawienia strony specyficzne dla każdego arkusza.
Góra

Skrypty

Pierwsze wersje programu wymagały od użytkownika ręcznego definiowania wszystkich tabel. Co więcej, definicje tabel, po wyeksportowaniu, nie były nigdzie zapisywane. Jeżeli więc trzeba było np. powtórzyć serię tabel (np. po aktualizacji danych lub np. po zmianie kategorii odpowiedzi w metryczce), całą operację trzeba było wykonać jeszcze raz... ręcznie.

Oczywista stała się więc konieczność dodania nowej funkcjonalności do programu, która pozwalałaby na zapis definicji tabel i ich hurtowe a automatyczne przeliczanie. Tak powstał język skryptów programu S2X oraz rozszerzenia programu pozwalające na ich edycję, sprawdzanie i wykonywanie.



W powyższym przykładzie, w trzech pierwszych liniach znajduje się komentarz, w kolejnej instrukcja otwierająca dane, w kolejnych dwóch - definicje tabel rozkładów i przecięć rozkładów.

Następujące instrukcje dostępne są w języku skryptów programu SPSS-2-Excel:
  • ld (load data) - otwieranie danych (zamyka też już otwarte dane),
  • is (include script) - uruchomienie instrukcji z innego skryptu,
  • sed (set export directory) - ustawienie katalogu, w którym zapisywane będą tabele,
  • mtv/mth (merge tables vertically/horizontally) - łączy dwa pliki tabel w jeden plik,
  • wd (weight data) - włączenie lub wyłączenie ważenia danych,
  • ds (define set) - definiowanie zbioru zmiennych,
  • df (define filter) - definiowanie filtrów,
  • sc (select cases) - wybór przypadków do analizy (podgrupy lub wszystkich); parametrem instrukcji jest albo wyrażenie definiujące pod-próbę lub nazwa wcześniej zdefiniowanego filtru,
  • co/fo/mo/bo/cbo - opcje obliczeń poszczególnych typów tabel (kolejne parametry odpowiadają opcjom w oknach dialogowych opcji obliczeń); zdefiniowane opcje wykorzystane zostaną przy obliczaniu wszystkich kolejnych tabel danego typu, chyba że w międzyczasie opcje te zostaną zmienione; przy modyfikacji opcji obliczeń wystarczy podać zmieniane opcje, nie jest potrzebne podawanie za każdym razem wszystkich opcji,
  • ct/ft/mt/bt/cbt - definicje tabel poszczególnych typów (kolejne parametry odpowiadają opcjom w oknach dialogowych definicji tabel); tabela zostanie od razu przeliczona zgodnie ze wcześniej zdefiniowanymi (lub domyślnymi) opcjami obliczeń i wyeksportowana do pliku o podanej nazwie do zdefiniowanego (lub aktualnego) katalogu.


Aby zminimalizować czas nauki / wykorzystania nowego języka, wszystkie operacje wykonywane w tradycyjny sposób za pomocą okien dialogowych są zapisywane do dziennika programu (w formacie języka skryptów). Gdy więc trzeba stworzyć własny skrypt, można po prostu skopiować definicje z dziennika i dostosować do aktualnych potrzeb.

Co więcej, przy pisaniu skryptu, można uruchomić wersję roboczą okna dialogowego definiującego tabelę, i zamiast tworzyć tabelę, zapisać jej definicję do skryptu.

Edytor skryptów dostępny w programie S2X jest w pełni funkcjonalnym edytorem tekstowym zintegrowanym z obsługą skryptów:
  • podświetlanie syntaktyczne,
  • cofnij/potwórz,
  • pełny zestaw operacji na blokach,
  • funkcje wyszukiwania i zamiany,
  • zakładki,
  • sprawdzanie całości skryptu lub tylko części zaznaczonej,
  • lista ewentualnych błędów i nawigacja do pozycji poszczególnych błędów,
  • uruchamianie całości skryptu lub tylko części zaznaczonej.
Góra

Historia

Pierwsza wersja programu powstała w roku 1993. Była to wersja działająca jeszcze pod DOS-em a została napisana w Borland Pascal przy użyciu biblioteki Turbo Vision. W okolicach roku 2000 program został przeniesiony pod Delphi i Windows. Poniżej znajduje się zrzut z ekranu przedstawiający oryginalną wersję DOS-ową:



Góra

Klienci Góra