1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
*(Вопрос) Мне требуется объединить три огромных файла данных, в каждом - по несколько сотен переменных.
  Имена переменных идентичны за исключением префикса "tn". Например,,
  имена переменных в файле №1 начинаются с "t1": t1abc, t1xyz, t1sps...
* Имена в файле №2 - с "t2": t2abc, t2xyz, t2sps...
* В файле №3 - с "t3": t3abc, t3xyz, t3sps...
* Как мне переименовать переменные в файлах 2 и 3, чтобы они начинались с префикса "t1",
 например "t1abc" (вместо исходной переменной "t3abc")?

*(Ответ) Размещён в SPSSX-L, автор: rlevesque@videotron.ca, 23.01.2002.
* http://www.spsstools.net.


DATA LIST FREE /t2c, t2sal, t2age, t2sex1, t2school,t2v12345.
BEGIN DATA
85 95 5 87 100 1
90 100 1 25 25 2
END DATA.
LIST.
SAVE OUTFILE='c:\\temp\\mydata.sav'.

* Убедитесь, что у вас имеется резервная копия данных перед запуском этого синтаксиса.
* Следующая строка помогает избежать возникновения ошибки, если в файле данных
  имеется более 32 000 переменных (предложение H. Maletta).
N OF CASES 1.
FLIP.
STRING newname(A8).
COMPUTE newname=CONCAT("t1",SUBSTR(case_lbl,3)).
WRITE OUTFILE 'c:\\temp\\temp.sps' 
   /"RENAME VARIABLE ("case_lbl"="newname").".
EXE.

GET FILE='c:\\temp\\mydata.sav'.
INCLUDE 'c:\\temp\\temp.sps'.