#sas
#САС
Вопрос:
Я пытаюсь очистить свои данные для языка, но когда я печатаю, они не очищаются. Я поместил это в свое заявление о наборе
вот мой код:
if lang in ("spanish, Engglishish, ssanklish, England) then lang="English"; run;
Комментарии:
1. Пожалуйста, проясните вашу конкретную проблему или предоставьте дополнительные сведения, чтобы выделить именно то, что вам нужно. Поскольку это написано в настоящее время, трудно точно сказать, о чем вы просите.
Ответ №1:
Если вы хотите сопоставить только одну строку, вы можете использовать оператор равенства вместо оператора IN.
if lang = "Engglish, Engglishish, Engl, England, English, Englishh, Englisj, Englsh, En, Inglish, Old, NewEnglish, Oldenglish, Onglish, english" then lang="English" ;
Если вы хотите сопоставить любую из подстрок в своем списке, сделайте каждую из них своим собственным строковым литералом. Обратите внимание, что оператор IN в SAS так же доволен пробелами, как и запятыми между элементами.
if lang in ("Engglish" "Engglishish" "Engl" "England" "Englishh" "Englisj" "Englsh" "En" "Inglish" "Old" "NewEnglish" "Oldenglish" "Onglish" "english") then lang="English" ;
Убедитесь, что это используется на действительном этапе обработки данных.
data want; set have; if lang in ("Engglish" "Engglishish" "Engl" "England" "Englishh" "Englisj" "Englsh" "En" "Inglish" "Old" "NewEnglish" "Oldenglish" "Onglish" "english") then lang="English" ; run;
Вы действительно хотите поменять Старый на английский?