Извлечение данных из набора данных SAS на основе значений различной длины - PullRequest
0 голосов
/ 24 июня 2019

Я хочу автоматизировать процесс, имеющий набор данных о продажах и определенный столбец с именем КОД ПРОДАЖ, который состоит из 5 букв.Исходя из введенных пользователем данных, я хотел бы отфильтровать данные, но проблема в том, что пользователь может дать несколько кодов продаж, а иногда длина кодов может составлять 5,4,3,2 или 1 в зависимости от условия.Как я отфильтрую требуемые строки на основе вышеуказанного условия?

SALESCODE area value units rep
A10AA            KR     100 10     Jay
B10AQ            TN     120 12     Jrn 
C10AH            KR     200 10     Jay
T11TA             TR     180 10     Jay

Скажите, если я введу ввод как A10AA, B10A, T11, я должен иметь возможность

Получить данные о продажах с кодамиA10AA, B10AQ, T11TA. любезно помогите.

1 Ответ

1 голос
/ 24 июня 2019

Используйте оператор IN.Поскольку вы хотите сопоставить значения, начинающиеся с указанного значения, используйте модификатор :.Поскольку ваши значения являются символьными значениями, обязательно включайте кавычки.

proc print data=sales_data ;
  where salescode in: ("A10AA" "B10A" "T11");
run;

Если хотите, вы можете использовать запятые между значениями в списке, но вместо этого проще вводить пробелы.

...