* Преобразование от "широкого" к "узкому" с добавлением старых имён переменных в качестве меток значений.
* ВОПРОС: требуется преобразовать файл данных от формата с одной строкой на объект к формату нескольких строк на объект. 
* При этом хочется, чтобы прежние имена переменных в "широком" формате стали метками значений вновь созданных переменных.
ОТВЕТ. Автор: rlevesque@videotron.ca.
* Замечу, что вместо переменной case (фигурировавшей в исходном вопросе), я использую переменную casen, 
  а вместо value - value1, т.к. надёжнее (а иногда и просто необходимо) не использовать в качестве имён переменных
  зарезервированные слова SPSS.
* ###### ПРИМЕЧАНИЕ ######  
* Использованная в данном синтаксисе технология (когда синтаксис сам формирует новый файл синтаксиса)
  весьма универсальна и может быть рекомендована для многих других решений.
DATA LIST LIST /ant_s ant_r infer_s infer_r casen.
BEGIN DATA
0 0 1 0 1
1 1 0 0 2
1 0 2 2 3
END DATA.
VARIABLE LABEL 
	ant_s 'anterior_stress' 
	ant_r 'anterior_rest' 
	infer_s 'inferior_stress' 
	infer_r 'inferior_rest'.
LIST.
SAVE OUTFILE='c:\\temp\\data.sav'.
MATCH FILES FILE=* /DROP=casen.
FLIP.
STRING labelstr(A10).
COMPUTE labelstr=CONCAT("'",case_lbl,"'").
COMPUTE segment=$casenum.
FORMATS segment (F8.0).
WRITE OUTFILE 'c:\\temp\\temp.sps' /"ADD VALUE LABELS segment "segment " " labelstr ".".
EXE.
GET FILE='c:\\temp\\data.sav'.
* начало фрагмента кода, предложенного самим автором вопроса.
VECTOR yvec = ant_s TO infer_r.
LOOP segment = 1 to 4.
COMPUTE value1=yvec(segment).
XSAVE OUTFILE="c:\\temp\\mahr_vec.sav" / KEEP segment casen value1.
END LOOP.
EXECUTE.
GET FILE="c:\\temp\\mahr_vec.sav".
* конец фрагмента кода, предложенного автором вопроса.
* Следующая строка запускает рабочий синтаксис, который делает все нужные преобразования.
INCLUDE 'c:\\temp\\temp.sps'.