我是SAS新手,嘗試做下一個: 我有兩個表(用戶&評論)通過user_id連接。SAS檢查是否爲IN字符
我已經通過user_id合併了兩者。 有兩個變量,我想用:
- 「日期」(審查的另存爲格式MMDDYY10。)
- 「精英」(一年一用戶是精英,保存爲字符)
精英具有不同的形式(示例):
- 空單元
- 2012,2015,2017
- 2012:2017年
如何檢查,如果用戶是精英,當他寫的評論?
由於提前, 貝約
我是SAS新手,嘗試做下一個: 我有兩個表(用戶&評論)通過user_id連接。SAS檢查是否爲IN字符
我已經通過user_id合併了兩者。 有兩個變量,我想用:
精英具有不同的形式(示例):
如何檢查,如果用戶是精英,當他寫的評論?
由於提前, 貝約
這個佔地的情況下在一年中不存在的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;
謝謝!現在我懂了! – Pello
可以使用YEAR
函數從date
提取年份,然後用PUT
函數將其轉換爲字符,最後INDEX
功能來搜索elite
列表:
if index(elite,put(year(date),4.)) then ...
當索引函數在elite
變量中找到date
的年份時,條件將成立。
是否'2012:2017'意味着用戶是精英從2012年的所有年份2017包含? – user667489