概觀 (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 並插入字串作為記錄識別碼。 然後,接收系統可以檢查是否有遺漏記錄編號 (如需範例,請參閱 字串 )