[英]SAS check if year is IN character
我是SAS的新手,並嘗試做下一個:我有兩個通過user_id連接的表(用戶和評論)。
我已經通過user_id合並了兩者。 我要使用兩個變量:
精英有不同的形式(示例):
在撰寫評論時,如何檢查用戶是否為精英?
在此先感謝Peyo
您可以使用YEAR
函數從date
提取年份,然后使用PUT
函數將其轉換為字符,最后使用INDEX
函數搜索elite
列表:
if index(elite,put(year(date),4.)) then ...
當索引函數在elite
變量中找到date
年份時,該條件為true。
這涵蓋了elite
文本中不包含年份但包含在范圍內的情況:
data test_cases;
input date yymmdd10. + 1 elite $32.;
format date yymmdd10.;
infile cards missover;
cards;
2012-01-01 2012,2015,2017
2012-01-01 2012:2017
2013-01-01 2012:2017
2012-01-01
2011-01-01 2012,2015,2017
2011-01-01 2012:2017
;
run;
data example;
set test_cases;
article_year = put(year(date),4.);
if index(elite,':') = 0 then elite_flag = index(elite,article_year);
else elite_flag = substr(elite,1,4) <= article_year <= substr(elite,6,9);
run;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.