Oops! My previous syntax contained some errors, below the corrected version:
***Syntax:
DATAS CLO ALL.
CD 'C:\NSE_2\Data\Tests\Test_1\Test_1m'.
GET FIL 'NIPO_1.sav'.
DATAS COP alldata.
DATAS ACT alldata.
MATC FIL FIL alldata
/KEEP INTNR V150_1 to V150_171.
DATAS DEC Labels.
OMS
/SEL TAB
/IF COM=['File Information'] sub=['Variable Values']
/DES FOR=SAV
OUTFILE=Labels
VIE=NO.
DISP DIC.
OMSEND.
DATAS DEC Mis_v150.
DATAS ACT Labels.
AGG OUT Mis_v150
/BRE Var1
/Missing=N.
DATAS ACT mis_v150.
***Nieuwe dataset met hoogste gelabelde waarde per var aanmaken
STRING Misval (A3).
COMP Misval=STRING(Missing,N3).
EXE.
***Leading zeros knippen
STRING sps (A100).
COMP sps=CONCAT("MIS VAL ",Var1,"(",LTRIM(Misval,"0"),").").
EXE.
***sps wordt dus de mis val per var
MATC FIL FIL*
/KEEP sps.
EXE.
***Alles weggooien behalve sps
SAV TRA OUT 'misval_v150.sps'
/TYP TABTEXT.
***Opslaan als syntax
DATAS ACT alldata.
INC 'misval_v150.sps'.
***MIS VAL specificeren
COU NO_MIS_V150=V150_1 to V150_171 (MIS).
EXE.
FRE NO_MIS_V150.
***FF checken dat elke resp max 1 mis val heeft -> klopt
STRING V16 (A256).
COMP V16="Geen WO opleiding".
DO REP VARS=V150_1 to V150_171.
DO IF MIS(VARS)=0.
COMP V16=VALUELABEL (VARS).
END IF.
END REP.
EXE.
***In elkaar schuiven van V150
FRE V16.
SOR CAS by INTNR (A).
SAV OUT 'V150_done.sav'
/KEEP INTNR V16
/COM.
DATAS CLO Alldata.
DATAS CLO Labels.
DATAS CLO Mis_v150.
Express yourself instantly with MSN Messenger!
MSN Messenger