簡體   English   中英

通過 Proc SQL 語句將列添加到 SAS

[英]Add Column to SAS via Proc SQL Statement

我一直無法找到這個確切的問題 - 但它似乎很簡單,以前可能有人問過它。 如果我的搜索能力沒有達到標准,我提前道歉......

無論如何,我正在嘗試創建一個“source_flag”列,附加到我正在創建的幾個表中。 基本上,每年和付款類型都有自己的表格。 我可以單獨查詢和操作每個表,但我會在過程結束時將它們全部連接在一起(完全連接)。 我想創建一個列,每個觀察值都等於數據來自的表。

例如,我想加入六個表:

2019_PD

2020_PD

2019_PB

2020_PB

2019_PN

2020_PN

我要做的就是在每個表的查詢中,創建一個將表名分配給整行的列,以便我知道每一行的來源。

proc sql;

create table 2020_PD as select
 ...,
 ...,
 ...,
 "2020_PD"          as source_flg,
 .
 .
 .
  ;
quit;

現在 SAS 正試圖找到一個名為 2020_PD 的字段 - 這顯然不存在。 在 proc 語句中是否有一種簡單的方法可以做到這一點? 我沒有嘗試添加額外的數據步驟,因為我正在使用太多的表來執行此操作以使其可行。

謝謝!!

SQL 使用單引號來分隔字符串。 所以使用:

'2020_PD' as source_flg,

雙引號被解釋為標識符的轉義字符,這就是您收到未知列錯誤的原因。

暫無
暫無

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

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