簡體   English   中英

SAS:數據步驟和鍵-選項

[英]SAS: Data Step and key - option

我不確定此代碼是否會在沒有警告或錯誤的情況下運行。 我已經使用UNIQUE修飾符設置了key選項。

set線會發生什么?

data One(keep= f1 f2);  
   attrib f2 length = $4;
   set Two key = f3 / unique;   /* Unexpected behaviour? */
   if (f1=0) then do; 
       f2 = 'Zero';
       output;
   end;
run;

KEY =選項用於已索引的查找數據集,其值在第二個數據集中查找。 因此,數據步驟需要2條set語句。 在您的代碼中,沒有數據集可以從“ Two”中查找值,這將導致無限循環,其中所有變量的值都將丟失。 如果在單獨的SET語句中添加了“ Two”數據集,則它將僅返回它的副本(不帶f3變量,並且不帶您進行的轉換)。 您顯然絕對不想這樣做,我只是建議使用它來使代碼正常工作。

在線上有很多關於如何執行索引鍵合並的示例,如果您要在大型數據集中查找少量值,這是一種有效的技術。

不知道你在問什么。 只要您的數據集TWO有一個名為F3的索引,它在語法上是正確的。 該索引可以是復合索引(多個變量),也可以是名為F3的變量的單個索引。 並且變量F1可能在數據集TWO中,但是如果沒有,它將丟失。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM