SPSS Datenexport funktioniert nicht

More
2 months 6 days ago #216347 by joerghassmann
Hallo liebe Community,
ich habe ein Problem mit dem SPSS-Datenexport.
Die SPSS-Syntaxdatei kann ich exportieren, die Datendatei nicht.
Ich klicke auf den Button Export-Daten, dann arbeitet Limesurvey 3-4 Sekunden aber es passiert nichts weiter (auch der "Datei speichern"-Dialog erscheint nicht).
Meine Konfiguration:
Ubuntu 20.04 mit 12 CPU-Kernen und 32 GB RAM (virtueller Server auf unserem Hochschule-vmware-Cluster).
Die PHP.INI habe mit den Einstellungen die mir bekannt waren entsprechend aufgebohrt (z.B. Memory_Limit auf 2028 MB)
Ich nutze Limesurvey 3.26.3 (für den Test des Datenexports habe ich eine zweite Installation auf dem Server mit 4.63).

Auf dem Server läuft nur eine große Umfrage mit 56.000 Datensätzen und ca. 300 Fragen (mit entsprechenden Filterbedingungen).
Der Datenexport hat zwischendurch bis ca. 50.000 Datensätzen funktioniert.
Jetzt geht es nur in kleineren Portionen zu ca. 10.000 Datensätzen (ob das mit dem Zusammenbauen zu einem Gesamtdatensatz auf Betriebssystemebene klappt habe ich noch nicht ausprobiert). Es gibt auch noch in SPSS die Möglichkeit Datensätze anzuhängen, aber ich hätte gernne einen kompletten Export aus Limesurvey heraus.
Der Datenbankdump hat ca. 380 MB, beim letzten erfolgreichen SPSS-Datenexport war die .DAT-Datei ca. 73 MB groß.

Hat jemand einen Typ was ich noch ausprobieren könnte?
Vielen Dank

Please Log in to join the conversation.

More
2 months 6 days ago #216350 by holch
Also ich vermute, dass es an den PHP Einstellungen liegt.

Z.b. max_var und auch die Exekutionszeit für Scripte. In die Richtung würde ich mal recherchieren.

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 months 6 days ago #216352 by Joffm
Hallo, das hatten wir ja gerade hier.
forums.limesurvey.org/forum/german-forum...d-funktioniert-nicht

Syntax geht, Daten geht nicht.
Bis jetzt hat es anscheinend keine wirkliche Lösung gegeben, da ja nicht einmal das Problem als solches reproduzierbar war.

So gut, so schlecht.
Wenn aber dies geht,

Jetzt geht es nur in kleineren Portionen zu ca. 10.000 Datensätzen

kannst Du es ja wirklich mit "Fälle hinzufügen" in SPSS machen.

Oder Du exportierst nach Excel.
Da Du durch den ersten - kleinen - SPSS Export ja schon die Labels in der SPSS-Datei hast, könntest Du dann den Rest aus Excel hineinkopieren.

Ich weiß, das ist alles nicht der Weisheit letzter Schluss; aber "in der Not frisst der Teufel Fliegen". Es ist besser als gar nichts.

Ich werde mir einmal die Mühe machen, einen Datensatz dieser Größe zu erzeugen.
Mal sehen, was dann bei mir passiert.

Bis dann
Joffm

PS.

und ca. 300 Fragen

Das sagt jetzt nicht viel.
Wenn es Matrix(Zahlen) Fragen sind, werden es wohl deutlich mehr Variablen in der Datei sein.
Erinnert mich immer an einige Kunden, die meinten "Das ist ein ganz kurzer Fragebogen, nur 7 Fragen".
Wohlweislich verschweigend, dass es sich bei Frage 3,4 und 6 um Itembatterien handelt mit jeweils 20 Items.

Ich gehe einmal von 1000 Variablen aus.


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

Please Log in to join the conversation.

More
2 months 5 days ago #216369 by joerghassmann
Und hier einige Einstellungen aus meiner PHP.INI:
max_execution_time = 3000
max_input_time = 600
max_input_nesting_level = 256
max_input_vars = 4000
memory_limit = 3072M
post_max_size = 1024M
session.gc_divisor = 1000
session.gc_maxlifetime = 14400

Bitte gerne kommentieren ob ich wichtige Einstellungen vergessen habe oder bessere Vorschläge für die passenden Werte.

Ich habe erst einmal die einzelnen SPSS-Datenexporte in der Powershell mit Set-Content zusammengefasst und in einer Datendatei abgelegt und die dann zusammen mit der Syntaxdatei in SPSS eingelesen. Die Anzahl Datensätze scheint zustimmen, aber ich muss noch Kontrollauswertungen machen ob alles plausibel ist.

Please Log in to join the conversation.

More
2 months 5 days ago - 2 months 5 days ago #216376 by Joffm
Halo,
ich habe gerade einmal Quellcode nachgeschaut.
Die Abfrage ist ja ein simples "SELECT s.* FROM survey_123456 s ORDER BY id ASC"
mit fakultativen:
  • LEFT JOIN auf die token-Tabelle
  • Berücksichtigung des Komplettierungsstatus "WHERE s.submitdate IS (NOT) NULL"
  • Berücksichtigung von limit und offset "LIMIT limit,offset"

Dann ist der gesamte Bestand im Resultat.
Dieses wird dann Zeile für Zeile, Feld für Feld durchgegangen, Umformungen durchgeführt, usw.
und es schlussendlich mit

            header("Content-Disposition: attachment; filename=survey_".$iSurveyID."_SPSS_data_file.dat");
            header("Content-type: text/comma-separated-values; charset=UTF-8");
            header("Cache-Control: must-revalidate, no-store, no-cache");

zum Speichern angeboten.

Hierbei kann ich mir durchaus vorstellen, dass irgendwann immer an irgendein Limit gestoßen wird.

Aber die Methode, wohldefinierte Teile der Daten zu exportieren und dann die  *dat"-Datei zusammenzufügen mit "copy *.dat gesamt.dat" und dann diese in SPSS einzulesen finde ich ziemlich optimal (Ich hatte diese alten DOS-Befehle gar nicht mehr präsent).
Dadurch, dass der Export ja mit "ORDER BY id ASC" gemacht wird, diese id auch ein "autoincrement"-Feld ist, sollte dies problemlos funktionieren.
 
Joffm


Volunteers are not paid.
Not because they are worthless, but because they are priceless
Last edit: 2 months 5 days ago by Joffm.

Please Log in to join the conversation.

More
2 months 5 days ago #216383 by jelo
Schwer zu sagen, woran es liegt.
Wenn nach 3-4 Sekunden nichts passiert, kann es nicht an einem Timeout liegen.

Die gesamten Einstellungen der php.ini samt Logcheck von PHP Fehlern und Webserver wären zu betrachten.
Wobei sich der Aufwand für dich nicht lohnt, weil der Workaround klappt.
Du könnest vielleicht mal das Plugin für SPSS-SAV-Export ausprobieren.
github.com/adamzammit/ExportSPSSsav
 

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
2 months 5 days ago #216396 by joerghassmann
Vielen Dank für den Tipp; ich werde mal das PlugIn ausprobieren.

Please Log in to join the conversation.

More
2 months 5 days ago #216434 by holch
My bet would be the max_input_vars being too low.

manual.limesurvey.org/Troubleshooting#Wh...m_are_being_exported

Set your max_input_vars to 10.000 or something and see what happens. And then go down until you run into problems again.

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