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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
* Экспорт смешанного файла, данные по объекту - в разных записях.

* Вопрос: Как можно прочесть в SPSS данные, описанные в разделе BEGIN DATA - END DATA ниже?

* Имеются записи 4 типов: A1, A2, B1, C1 (см. 8-9 колонки). Код объекта находится в первых 7 символах.
* В зависимости от типа записи следует прочесть в определённые переменные различные порции строки.
* Затем отобранная информация по одним и тем же объектам объединяется в одно наблюдение - примеч. перев.

* Ответ. Автор: rlevesque@videotron.ca.

NEW FILE.
FILE TYPE MIXED RECORD=RCN 8-9(A)

RECORD TYPE 'A1'.
DATA LIST /DPSAN 1-7(F) cntycod 10-12(A) citycod 13-14(A) populat 18(A) roadclas 19(A).

RECORD TYPE 'A2'.
DATA LIST /DPSAN 1-7(F) cntycod 10-12(A) citycod 13-14(A) populat 18(A) roadclas 19(A).

RECORD TYPE 'B1'.
DATA LIST /DPSAN 1-7(F) vehyear 10-11(A) vehmake 12-14(A) damage 19-21(A) .

RECORD TYPE 'C1'.
DATA LIST /DPSAN 1-7(F) Rec_Nb 8-9(A) age1 10-11(F) sex1 12(A) Emerg1 19(A) age2 21-22(F) sex2 23(A) Emerg2 30(A) .

END FILE TYPE.

BEGIN DATA
7000012A2206000120201014193241101191400300000028904030S10    15116112112         20602
7000012B1940460201RF40772TX210-0151       29900971060013KK+0442TX21000240  +12++4  00
7000014A224608012420101415104110415140001003-015105234S12    50112112            24602
7000014B1961890013KK+0712TX21000140  731++2++00935543304JJ+0591TX21000251       4  04
7000014C13722351    0822456    1112556    1412656				
7000015A2001000110401014111711101403400013200ROOST                               00101	
7000015B1711060013KK+0681TX21020110  +42++4  00				
7000146A2112020025501014175231103101300340016FISHE        1                      11202	
7000146B1861120013KK+0701TX22000130  ++2++4  00942713004FC10472TX21030251       4  00
7000186A2170000130401014013714101493400012200RAYFO                               17001	
7000186B1961080013KK+0711TX22009110  +12++2++01				
7000186C1                                 2611410  +112++				
7000199A2184000090301014175021101191400010035146801105S10    50112112            18401
7000199B1951080013KK+0562TX21000120  +42++4  00				
END DATA.

LIST.
AGGREGATE
  /OUTFILE=*
  /BREAK=dpsan
  /rcn = MAX(rcn) /cntycod=MAX(cntycod) /citycod=MAX(citycod) /populat=MAX(populat) /roadclas=MAX(roadclas)
  /vehyear=MAX(vehyear) /vehmake=MAX(vehmake) /damage=MAX(damage) /Rec_Nb=MAX(rec_nb) 
  /age1=MAX(age1) /sex1=MAX(sex1) /Emerg1=MAX(Emerg1)
  /age2=MAX(age2) /sex2=MAX(sex2) /Emerg2=MAX(Emerg2).