Удалить знаки доллара из столбца SAS

У меня есть набор данных SAS, в котором есть символы $ с некоторыми столбцами. Таким образом, вместо 67 349 он читает 67 349 долларов. Как удалить все символы $ из всех столбцов и заставить SAS распознавать их как числа?

Есть только несколько столбцов со знаками доллара, поэтому я могу работать с каждым столбцом по одному. Я использую бесплатную университетскую версию SAS.


person user18101    schedule 28.07.2016    source источник
comment
У вас уже есть набор данных SAS? Или вы создаете набор данных SAS из исходного файла?   -  person Tom    schedule 29.07.2016
comment
У меня есть существующий набор данных в этом наборе данных, пара столбцов включает знаки доллара.   -  person user18101    schedule 29.07.2016


Ответы (3)


Если вы просто хотите удалить символ $ и по-прежнему иметь символьную переменную, используйте функцию compress().

data want;
  set have;
  myvar = compress(myvar,'$');
run;

Если вы хотите преобразовать символьную строку в новую числовую переменную, просмотрите этот существующий вопрос. COMMA. informat автоматически игнорирует символы $ и , в строке. Преобразование символьных переменных в числовые в SAS

person Tom    schedule 29.07.2016

Почему бы просто не использовать dollar. информацию?

data want ;
  incol ="$62,123" ;
  outcol = input(incol,dollar10.) ;
run ;
person Chris J    schedule 29.07.2016

Я бы удалил значения $ и, из строковой переменной. Затем используйте функцию ввода для преобразования в число.

data test;
format incol $12.;

incol = "$62,123";
incol = compress(translate(incol,"","$,"));
outcol = input(incol,best.);
output;

incol = "62,123.3";
incol = compress(translate(incol,"","$,"));
outcol = input(incol,best.);
output;
run;

TRANSLATE() заменяет $ и пробелом. COMPRESS() удаляет все пробелы. INPUT() преобразует строку в число.

Конечно, вы можете поместить все это в один звонок, но я выделил его здесь, чтобы было легче следить.

person DomPazz    schedule 29.07.2016
comment
Где я могу использовать название моей колонки? в этом случае HOME_VAL. Могу ли я заменить 62 123 доллара? - person user18101; 29.07.2016
comment
incol и outcol просто заполнители. Замените incol своим столбцом, а outcol тем, что вы хотите назвать новым столбцом. Вы всегда можете отбросить старый столбец и при необходимости переименовать новый обратно в исходное имя. - person DomPazz; 29.07.2016
comment
Это добавляло строки в набор данных - person user18101; 31.07.2016