-1
我正在使用adventureworks數據集。SAS試圖獲得從訂單到發貨日期的差異
尋找方法來計算平均需要多長時間ADW才能在訂單日期和裝運日期之間交付產品。
format sas date9。
例如爲:
orderdate shipdate
01JUL2005:00:00:00 08JUL2005:00:00:00
我正在使用adventureworks數據集。SAS試圖獲得從訂單到發貨日期的差異
尋找方法來計算平均需要多長時間ADW才能在訂單日期和裝運日期之間交付產品。
format sas date9。
例如爲:
orderdate shipdate
01JUL2005:00:00:00 08JUL2005:00:00:00
這裏有一個方法可能會有所幫助。 SAS功能intck()
非常有用!
/* Generate a dataset as described. */
data have;
do id=1 to 10000;
orderdate = today()-(ceil(ranuni(id)*1000));
shipdate = orderdate + ceil(ranuni(id)*10);
output;
end;
format orderdate shipdate date9.;
run;
/* Use intck() to count the number of days or weekdays between order and delivery dates */
data want;
set have;
weekdays_passed = intck('weekday7w',orderdate,shipdate);
abs_days_passed = intck('day',orderdate,shipdate);
run;
/* Two ways to obtain average delivery time in days. */
/*1*/
proc univariate data=want;
var weekdays_passed
abs_days_passed;
run;
/*2*/
proc sql;
select avg(weekdays_passed) as avg_weekdays_passed,
avg(abs_days_passed) as avg_abs_days_passed
from want;
quit;
請顯示您嘗試過的代碼,並描述您收到的任何錯誤消息或描述您爲什麼不滿意結果。它也可能有助於顯示一些樣本記錄。 – Quentin
data productdate; set productdate; format = orderdate shipdate date9。 productdelivery = orderdate-shipdate; 跑;錯誤388-185:期待算術運算符。 錯誤76-322:語法錯誤,語句將被忽略。 72 productdelivery = orderdate-shipdate; 73跑; –