OCCURS 次指令 (REPEATING DATA 指令)
OCCURS 指定每一個輸入觀察值的重複群組數目。 OCCURS 是必要項目,如果所有輸入觀察值的群組數目相同,則指定數字; 如果輸入觀察值之間的群組數目不同,則指定變數。 必須在 DATA LIST 指令上定義變數,或使用轉換指令來建立變數。
使用資料欄位指定重複群組數
INPUT PROGRAM.
DATA LIST / SEQNUM 2-4 NUMPERS 6-7 NUMVEH 9-10.
REPEATING DATA STARTS=12 /OCCURS=NUMVEH
/DATA=MAKE 1-8 (A) MODEL 9 (A) NUMCYL 10.
END INPUT PROGRAM.
BEGIN DATA
1001 02 02 FORD T8PONTIAC C6
1002 04 01 CHEVY C4
1003 02 03 CADILAC C8FORD T6VW C4
END DATA.
LIST.
- 每一個輸入觀察值的資料會記錄在單一記錄上; 沒有連續記錄。
- 直欄 9 和 10 中變數 NUMVEH 的值指出每一筆記錄上重複群組的數目。 針對重複群組的每一個出現項目,在作用中資料集中建置一個輸出觀察值。
- 在資料中, NUMVEH 的第一個觀察值為 2 ,第二個為 1 ,第三個為 3。 因此,會從這些記錄建置 6 個觀察值。 如果 NUMVEH 的值為 0 ,則不會從該記錄建置任何觀察值。
指定重複群組的固定數目
* Read only the first repeating group from each record.
INPUT PROGRAM.
DATA LIST FILE=VEHICLE / SEQNUM 2-4 NUMPERS 6-7 NUMVEH 9-10.
REPEATING DATA STARTS=12 /OCCURS=1
/DATA=MAKE 1-8 (A) MODEL 9 (A) NUMCYL 10.
END INPUT PROGRAM.
LIST.
- 因為
OCCURS指定每一個輸入觀察值只有一個重複群組,所以不論重複群組的實際數目為何,只會從每一個輸入觀察值建置一個輸出觀察值。