概觀 (TEMPORARY 指令)

TEMPORARY 表示僅對下一個程序有效的暫時轉換開始。 除了由下一個程序建立或修改的變數 (例如,由 REGRESSION儲存為變數的殘差值)、在 TEMPORARY 指令生效時建立的數值或字串變數是暫時變數,而在 TEMPORARY 指令生效時對現有變數所做的任何修改也是暫時的。 下一個程序所建立或修改的任何變數都是永久的。

使用 TEMPORARY,您可以對資料中的子群組執行個別分析,然後對整個檔案重複分析。 您也可以使用 TEMPORARY 來轉換某個分析的資料,但不能轉換其他後續分析的資料。

TEMPORARY 可以套用至下列指令:

  • 轉換指令 COMPUTERECODEIFCOUNT,以及 DO REPEAT 公用程式。
  • LOOPDO IF 結構。
  • 格式化指令 PRINT FORMATSWRITE FORMATSFORMATS
  • 資料選取指令 SELECT IFSAMPLEFILTERWEIGHT
  • 變數宣告 NUMERICSTRINGVECTOR
  • 標示指令 VARIABLE LABELSVALUE LABELS,以及 MISSING VALUES 指令。
  • SPLIT FILE.
  • PRINT, WRITE, XSAVE.

基本規格

唯一規格是關鍵字 TEMPORARY。 沒有其他規格。

作業

  • 一旦指定 TEMPORARY ,就無法參照先前存在的標為暫時刪除變數。
  • 暫時轉換會套用至下一個讀取資料的指令。 一旦讀取資料,暫時轉換就不再有效。
  • XSAVE 指令會讓暫時轉換生效。 SAVE, 不過,在寫入檔案之後,會讀取資料並關閉暫時轉換。 (請參閱 範例。)
  • TEMPORARY 不能與 SORT CASESMATCH FILESADD FILESCOMPUTE 搭配使用 LAG 函數。 如果其中任何指令遵循指令序列中的 TEMPORARY ,則必須有中間的程序或指令讀取資料,才能先執行 TEMPORARY 指令。
  • TEMPORARY 不能在 DO IF—END IFLOOP—END LOOP 結構內使用。

如果任何變數具有不明測量層級,則在 TEMPORARY 指令之後的程序之後,那些變數的測量層級仍然不明。 (如果沒有 TEMPORARY 指令,則程序所執行的資料傳遞會將預設測量層級指派給具有不明測量層級的所有變數。)