* Encoding: UTF-8. * In allen vorhandenen Stringvariablen werden die führenden und schließenden Anführungszeichen, die bei dem Import aus Epidata .epx-Dateien entstehen, gelöscht. * Die Liste der Stringvariablen kann mit "!stringliste" aufgerufen werden. * Diese Datei kann mit "INCLUDE" in andere Läufe eingebunden werden (nicht mit "INSERT"). * JSp 10/2020. SET ERRORS=NONE. SET MESSAGES=NONE. SAVE OUTFILE='c:\\ablage\\temp.sav'. FLIP. * numerische und Stringvariablen markieren. IF NOT SYSMIS(var001) var001=1. EXECUTE. IF SYSMIS(var001) var001=0. SELECT IF (var001=0). * letzte Variable markieren. MATCH FILES FILE=* /BY var001 /LAST=letzter. * Makro in Datei schreiben, der eine Liste aller Stringvariablen enthält. DO IF $CASENUM=1. WRITE OUTFILE="c:\\ablage\\Liste_Stringvariablen.sps" /"DEFINE !stringliste()". END IF. DO IF var001 = 0. WRITE OUTFILE="c:\\ablage\\Liste_Stringvariablen.sps" /" " case_lbl. END IF. DO IF letzter and var001=0. WRITE OUTFILE="c:\\ablage\\Liste_Stringvariablen.sps" /"!ENDDEFINE.". END IF. EXECUTE. INSERT FILE="c:\\ablage\\Liste_Stringvariablen.sps". * Ursprüngliche Datei wieder laden. GET FILE='c:\\ablage\\temp.sav'. * Liste der Stringvariablen aufrufen und jeweils den Inhalt aller Variablen um das erste und letzte Zeichen - das " - kürzen. DO REPEAT vname = !stringliste. COMPUTE laenge=0. IF (vname NE "") laenge=CHAR.LENGHT(vname)-2. IF (CHAR.SUBSTR(vname,1,1) = '"') vname= CHAR.SUBSTR(vname,2,laenge). END REPEAT. EXECUTE. DELETE VARIABLES laenge. EXECUTE.