概觀 (TEMPORARY 指令)
TEMPORARY 表示僅對下一個程序有效的暫時轉換開始。 除了由下一個程序建立或修改的變數 (例如,由 REGRESSION儲存為變數的殘差值)、在 TEMPORARY 指令生效時建立的數值或字串變數是暫時變數,而在 TEMPORARY 指令生效時對現有變數所做的任何修改也是暫時的。 下一個程序所建立或修改的任何變數都是永久的。
使用 TEMPORARY,您可以對資料中的子群組執行個別分析,然後對整個檔案重複分析。 您也可以使用 TEMPORARY 來轉換某個分析的資料,但不能轉換其他後續分析的資料。
TEMPORARY 可以套用至下列指令:
- 轉換指令
COMPUTE、RECODE、IF和COUNT,以及DO REPEAT公用程式。 LOOP和DO IF結構。- 格式化指令
PRINT FORMATS、WRITE FORMATS和FORMATS。 - 資料選取指令
SELECT IF、SAMPLE、FILTER及WEIGHT。 - 變數宣告
NUMERIC、STRING和VECTOR。 - 標示指令
VARIABLE LABELS和VALUE LABELS,以及MISSING VALUES指令。 SPLIT FILE.PRINT, WRITE, XSAVE.
基本規格
唯一規格是關鍵字 TEMPORARY。 沒有其他規格。
作業
- 一旦指定
TEMPORARY,就無法參照先前存在的標為暫時刪除變數。 - 暫時轉換會套用至下一個讀取資料的指令。 一旦讀取資料,暫時轉換就不再有效。
XSAVE指令會讓暫時轉換生效。SAVE, 不過,在寫入檔案之後,會讀取資料並關閉暫時轉換。 (請參閱 範例。)TEMPORARY不能與SORT CASES、MATCH FILES、ADD FILES或COMPUTE搭配使用LAG函數。 如果其中任何指令遵循指令序列中的TEMPORARY,則必須有中間的程序或指令讀取資料,才能先執行TEMPORARY指令。TEMPORARY不能在DO IF—END IF或LOOP—END LOOP結構內使用。
如果任何變數具有不明測量層級,則在 TEMPORARY 指令之後的程序之後,那些變數的測量層級仍然不明。 (如果沒有 TEMPORARY 指令,則程序所執行的資料傳遞會將預設測量層級指派給具有不明測量層級的所有變數。)