[英]How to add Date column in using SAS' proc sql?
我正在嘗試將今天的日期列添加到我現有的數據集中。 我正在使用上一個問題中提供的方法。 我的代碼如下:
proc sql;
alter table data1 add today_date char label= "Today's Date" format = $8.;
update data1 set today_date= today();
quit;
但是,我收到以下錯誤:
327 proc sql;
328 alter table data1 add today_date char label= "Today's Date" format = $8.;
NOTE: Table DATA1 has been modified, with 11 columns.
329 update data1 set today_date= today();
ERROR: today_date, a character column, can only be updated with a character expression.
330 quit;
這樣做的目的是計算數據集中存在的已開立賬戶的天數。 根據我的理解,任期可以使用今天日期和開戶時間之間的差異來計算。
謝謝
我懷疑問題在於您的Today's Date
字段格式錯誤,而不是日期。 試試下面的代碼:
proc sql;
alter table data1
add todays_date date;
update data1
set todays_date = today();
quit;
關於
我正在嘗試將今天的日期列添加到我現有的數據集中。
數據集的每個單元格(行和列的交叉點)都有一個固定值。 今天的日期值明天是昨天的日期值。
具有動態值的數據結構稱為視圖,其中的某些列可能是計算的結果。
您可能要考慮
* Create view once, use tomorrow! ;
proc sql;
create VIEW data1_v as
select
*
, today() as today_date format=date9. label= "Today's Date"
from
data1
;
您可能還想了解有關 SAS 日期值和 SAS 日期格式的性質的更多信息。
您還可以通過簡單地使用today()
function 來引用今天的計算日期,而不依賴於數據源中的預先組合或預先計算的列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.