SPSS Export - Falscher Datentyp

More
2 weeks 2 days ago #212172 by umrosa
Liebe Community,

ich habe ein Problem beim Datenexport nach SPSS:
Ich benutze in meinen Surveys Fragen vom Typ Gleichung um Summen auszurechnen. Egal, welche Einstellungen ich unter "Sonstiges > SPSS Export Skalentyp" und "Sonstiges > Nur Zahlen" vornehme, in der SPSS Syntax wird diesen Variablen der Datentyp "Zeichenkette" zugewiesen. Das richtige Format wäre aber numerisch.
Was kann ich tun, damit LS beim Erstellen der SPSS-Syntaxdatei diesen Variablen ein numerisches Format zuweist?

Meine LS-Version ist 3.22.25+200706

Eine Beispiel-Umfrage inkl. SPSS-Dateien habe ich angehängt.

LG, umrosa 

File Attachment:

File Name: SPSS-Test.rar
File Size:4 KB
Attachments:

Please Log in to join the conversation.

LimeSurvey Partners
More
2 weeks 2 days ago #212176 by Joffm
Hallo,
gut, das wissen wir jetzt. Gleichungsergebnisse werden als Texte exportiert (war mir bis jetzt auch nicht bewusst).
Ist eigentlich auch sinnvoll, da dies ja sehr generische Typen sind. Es kann ja alles mögliche darin stehen.

Gut, seien wir pragmatisch:
1. Umswitchen in SPSS.
Ist ziemlich schnell gemacht mit Copy&Paste.

2. Man exportiert nicht die Gleichung, sondern schreibt die Ergebnisse in eine Frage vom Typ "mehrfache Zahleingabe", die auch versteckt ist.
a. Direkt als Vorgabeantwort
 

b. Oder man nimmt eine Gleichung, weist hier aber der Mehrfachfrage zu
{Ergebnis_SQ001=TestVar1+TestVar2}
{Ergebnis_SQ002=TestVar1-TestVar2}
{Ergebnis_SQ003=TestVar1+TestVar2}
...
Hier kann man dann alle Berechnungen in eine Gleichungsfrage schreiben.
Diese Frage drückt dann auch numerische Werte nach SPSS heraus.

Joffm


Volunteers are not paid.
Not because they are worthless, but because they are priceless
Attachments:

Please Log in to join the conversation.

More
2 weeks 1 day ago #212248 by umrosa
Hallo Joffm,

schönen Dank für deine schnelle Antwort und die Ideen für Workarounds.
1) ist natürlich möglich, aber aufwändig und evtl. fehleranfällig, wenn ich eine sehr große Umfrage mit vielen (200-300) Variablen habe.
2) gefällt mir besser, ist aber auch ein sehr großer Aufwand bei so vielen Variablen.

Macht es Sinn hier einen Feature-Request für die Einstellmöglichkeit des Datentyps zu schreiben?

LG, umrosa

Please Log in to join the conversation.

More
2 weeks 1 day ago #212252 by Joffm
Na, komm,
bei 2b. schreibst Du keine Zeile mehr als jetzt.
Im Gegenteil; Du hast nur eine Frage und eine Gleichung statt einer Gleichung pro Berechnung.

Selbst 1. ist innerhalb von ein paar Minuten gemacht.
300 Variable ist ja nicht wirklich viel. 
Und fehleranfällig?
Das würdest Du doch in der ersten Analyse bemerken und es schnell ändern.

Joffm


Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

More
2 weeks 1 day ago #212254 by holch

Macht es Sinn hier einen Feature-Request für die Einstellmöglichkeit des Datentyps zu schreiben?

Feature requests dauern meist sehr lange bis sie implementiert werden, wenn überhaupt.

Gerade wenn es um solche "Spezialfälle" die mit einem aktzeptablem Aufwand auch extern gelöst werden können (Joffm hat da ja einige Beispiele aufgezeigt).

Den Aufwand sehe ich jetzt auch nicht als enorm an. Aber bei 200-300 zu berechnenden Variablen (und dann komment ja nochmal mindestens genauso viele Fragen/Unterfragen dazu) könnte es schnell eng werden mit den Spalten in deiner Datentabelle in MySQL.

Ich glaube ja mal, dass die Berechnung dieser Variablen im Analyse-Tool sowieso wesentlich sinnvoller untergebracht ist, wenn du sie nicht Adhoc in der Studie brauchst, sondern später für die Analyse.

Bin kein SPSS-Experte, aber da kann man sicher ein Script vorbereiten, welches das dann für dich übernimmt. Während der Feldzeit sollte ja Zeit dazu sein, dieses Script vorzubereiten. Du kennst dann schon die finale Umfragestruktur und kannst eventuell schon mit den ersten echten Daten testen.

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

Please Log in to join the conversation.

More
2 weeks 1 day ago #212267 by Joffm
Stimmt, @holch,
ich habe beim Lesen wohl wieder nicht so richtig nachgedacht.
Vielleicht war ich der Meinung, diese ganzen Berechnungen seien für irgendeinen pdfReport notwendig.

Aber klar, wenn ich zwar unheimlich viel rechnen muss, um schlussendlich ein Ergebnis zu bekommen, muss ich die Zwischenergebnisse nicht nach SPSS schieben.
Im anderen Fall ist es wirklich besser, an die Syntax-Datei noch die entsprechenden Befehle anzufügen.
Dann wird alles während des Einlesens abgearbeitet.

Aber sei's drum:
Und jetzt habe ich endlich gefunden, was ich seit Jahren vergeblich gesucht habe.
Den Befehl "ALTER TYPE" in SPSS.
Damit ist es ja ein Kinderspiel.
www.spss-tutorials.com/spss-alter-type-command/

Joffm


Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

More
2 weeks 1 day ago #212272 by holch

Vielleicht war ich der Meinung, diese ganzen Berechnungen seien für irgendeinen pdfReport notwendig.

Das kann ja durchaus sein. Deswegen habe ich ja die Ausnahme ("...wenn du sie nicht Adhoc in der Studie brauchst, sondern später für die Analyse.
"), mit aufgenommen.

Wenn man sie in der Umfrage braucht, dann geht mein Vorschlag natürlich nicht. Aber wenn die Berechnungen nur zur Analyse da sind, dann würde ich sie wirklich nur später auf die Daten los lassen. Denn jede zusätzliche und unnötige Berechnung in einer Equation kann den Fragebogen unnötig langsamer machen. Das ist bei kurzen und einfachen Equations/Formeln zu vernachlässigen, aber bei 200-300 Variablen kann das schon einen Einfluss haben, denke ich. Vorallem wenn der Server nicht der flotteste ist.

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

Please Log in to join the conversation.

More
1 week 1 day ago #212605 by umrosa
Noch einmal: ich bin natürlich dankbar für die Tipps.

Die Konvertierung in SPSS ist mit Sicherheit die einfachste Lösung.
Die Auswertung der Daten mache ich aber nicht selbst, sondern Personen, die keine Computerexperten sind. Deshalb wollte ich die exportierten Daten so aufbereiten, dass der weitere Arbeitsaufwand so gering wie möglich bleibt. Da wäre es toll gewesen, wenn ich direkt den richtigen Datentyp exportieren könnte. Aber gut, wenn das nicht möglich ist, werden wir das Datenformat in SPSS ändern.

Zur Einsparung von Variablen: leider werden die berechneten Variablen schon während der Laufzeit benötigt.

LG, umrosa

Please Log in to join the conversation.

More
1 week 1 day ago #212613 by holch
Wenn die Leute die Analyse machen, die keine Computerexperten sind, kriegen die das dann trotzdem in SPSS?

Wenn die berechneten Variablen während der Laufzeit benötigt werden, dann geht natürlich kein Weg daran vorbei diese auch schon im Fragebogen anzulegen. Aber immer mal zwischen drin testen, ob du den Fragebogen auch noch aktivieren kannst, oder ob er schon zu viele Spalten in der Datenbank braucht.

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

Please Log in to join the conversation.

More
1 week 1 day ago #212616 by Joffm
@holch,

Wenn die Leute die Analyse machen, die keine Computerexperten sind, kriegen die das dann trotzdem in SPSS?

dasselbe ging mir auch durch den Kopf, habe es dann aber wieder gelöscht, um nicht wieder einen "Anschiss" zu bekommen.

Aber ich hatte ja auch schon beschrieben wie man den Datentyp erzwingen kann, indem man statt in die Gleichungsfrage eine Zuweisung an einen bestimmten Fragetyp vornimmt.
Kostet eine einzige Spalte mehr, und man kann auch auf alle diese Variablen im Programm zugreifen.

Andererseits: Ein paar "ALTER TYPE" an die Syntax anzufügen, dauert auch nur ein paar Minuten.
Weil irgendwann musst Du festlegen, welcher Typ es ist.

Joffm
 


Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

More
1 week 1 day ago #212621 by holch

Kostet eine einzige Spalte mehr, und man kann auch auf alle diese Variablen im Programm zugreifen.

Aber pro zu berechnender Variable, oder? Das sind dann já schon 2x 200-300 Spalten, sprich 400-600 Spalten nur für die Berechnungen. Und um auf 200-300 Berechnungen zu kommen, dürften nochmal mindestens 200-300 Fragen/Unterfragen bestehen. Aber das ist natürlich nur Spekulation, weil wir die Fragebogenstruktur nicht kennen.
Ich wollte einfach nur darauf hinweisen, dass es bei so vielen Berechnungen halt eng werden könnte in der Datenbank. Nicht dass umrosa wochenlang rumprogrammiert und dann am Ende feststellt, dass er die Umfrage nicht aktivieren kann, weil sie zu viele Spalten hat.

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

Please Log in to join the conversation.

More
1 week 1 day ago #212634 by Joffm
Nein, nein.
Nehmen wir an Du machst eine Frage vom Typ Matrix(Zahlen)
Dann kannst Du alle Berechnungen in einer Gleichung erschlagen

{Q1_Y001_X001=if(is_empty(Q1_Y001_X001),rand(1,10),Q1_Y001_X001)}
{Q1_Y001_X002=substr(F1_SQ001.shown,0,3)}
{Q1_Y002_X001=ceil((F1-F2)/pi)}
{Q1_Y002_X002=max(F1.NAOK,F2.NAOK,F3.NAOK)}
Mehr fällt mir gerade nicht ein.

Das geht supergut und es wird hintereinander abgearbeitet.
Es war hier einmal eine Anfrage mit einer ebenso "wilden" Berechnung, wo ich es so gelöst habe, dass schlussendlich alle Werte in dieser einen Matrix standen.
Kann man dann zu Testzwecken auch gut auf den Bildschirm bringen.

Joffm


Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

More
1 week 1 day ago #212635 by holch
Ach so, ja, das ist eine gute Möglichkeit. Dann hast du eine Equation und halt 200-300 Spalten für jeden Wert. Das ist natürlich ne gute Lösung, wenn die 200-300 den Rahmen der Datenbank nicht sprengen. Die eine Equation wird das Kraut nicht fett machen.

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

Please Log in to join the conversation.

More
1 week 11 hours ago #212663 by jelo

holch wrote: Die eine Equation wird das Kraut nicht fett machen.
 

Kommt drauf an. Wir hatten ja auch schon heftige Verzögerungen bei simplen Rankingfragen mit Arrayfilter drauf.  Da ja alles in PHP und Javascript abgearbeitet wird, gilt es stets die Performance zu testen. Da kann so eine Gleichungsfrage auch mal für Überraschungen sorgen und es Sekunden dauern, bis es weiter geht. Muss hier nicht passieren, aber gerade wenn die Javascript-Engine vom Browser etwas lahm, ist kann man interessante Ausstiege erleben ;-)

The meaning of the word "stable" for users
www.limesurvey.org/forum/development/117...ord-stable-for-users

Please Log in to join the conversation.

More
5 days 6 hours ago #212732 by holch
Das war ja auch auf die Datenbankspalten bezogen, nicht auf die eventuelle Performance der Equation.

Die haben wir ja weiter oben auch schon angesprochen:

Denn jede zusätzliche und unnötige Berechnung in einer Equation kann den Fragebogen unnötig langsamer machen. Das ist bei kurzen und einfachen Equations/Formeln zu vernachlässigen, aber bei 200-300 Variablen kann das schon einen Einfluss haben, denke ich.


I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

Please Log in to join the conversation.

Start now!

Just create your account and start using Limesurvey today.

Register now