概觀 (WRITE 指令)
WRITE 以機器可讀取的格式寫入可供其他軟體應用程式使用的檔案。 用於此目的時,需要 OUTFILE 次指令。 如果未指定 OUTFILE ,則可顯示來自 WRITE 的輸出會以類似於 PRINT 指令所使用的格式併入來自階段作業的輸出。
選項
格式。 您可以指定變數的格式。
弦 您可以在變數規格內包含字串。 字串可用來標示值或在值之間新增額外空格。
每個觀察值多行。 您可以為每個觀察值在多行上撰寫變數。 請參閱 RECORDS 次指令。
輸出檔。 您可以使用 OUTFILE 次指令,將輸出導向至指定的檔案。
摘要表格。 您可以使用 TABLE 次指令來顯示彙總變數格式的表格。
次指令順序
可以按任何順序指定次指令。 不過,所有次指令必須在第一個變數清單之前的斜線之前使用。
基本規格
基本規格是斜線後接變數清單。 清單上指定的所有變數的值都會與階段作業的其餘輸出一起併入。
指令語法的規則
- 變數規格之前必須有斜線。 第一條斜線會在
WRITE輸出的每個觀察值的第一行 (可能是唯一的) 的定義開始。 - 指定的變數必須已存在,但它們可以是數值、字串、暫存、暫時或系統變數。 無法使用向量 X 中第一個元素的下標變數名稱,例如 X (1) 。
- 關鍵字
ALL可用來寫入作用中資料集中所有使用者定義變數的值。
作業
WRITE會針對從資料檔建構的每一個觀察值執行一次。- 讀取資料時,會將值寫入檔案。
WRITE是一項轉換,除非遵循程序或EXECUTE指令,否則不會執行。- 使用
OUTFILE次指令寫入外部檔案時,行/記錄寬度最多可達 2.1 億位元組。 不過,當寫入「檢視器」時 (當沒有OUTFILE次指令時) ,如果線條寬度超出SET WIDTH所定義的線條寬度,則會產生錯誤,且不會執行WRITE指令。 您可以使用SET WIDTH指定的行寬上限為 255 個位元組。 WRITE所產生的輸出檔中沒有換行控制字元。- 使用者遺漏值的撰寫方式與有效值一樣。 系統遺漏值以空白表示。
- 如果您要寫入要在另一個系統上使用的檔案,則應該考量部分資料類型無法由所有電腦讀取。
- 如果長記錄比每個觀察值有多筆記錄的短記錄更不方便,則您可以寫出觀察值 ID 並插入字串作為記錄識別碼。 然後,接收系統可以檢查是否有遺漏記錄編號 (如需範例,請參閱 字串 ) 。