Нежелательные вырезанные слова в выводе - PullRequest
0 голосов
/ 07 мая 2020

Я попытался отправить приведенный ниже код, но SAS не показывает полные значения на выходе. Он вырезал бы слово после пробела в значениях переменной "СЛОЖНОСТЬ". Может кто поправить?

data complication;
length SUBJECT 8 COMPLICATION $ 15.5;
  input SUBJECT COMPLICATION $ ;
  datalines;
2076  Pneumonia
3585  DVT(Lower)
3630  DVT(Lower)
4585  Compartment
4599  Aspiration
4760  Acute Resp
4775  Pneumonia
2076  Heart Attack
3585  Pneumonia
3660  Heart Attack
4585  Pneumonia
4599  Pneumonia
4760  Pneumonia
4775  DVT(Lower)
2076  Renal Fail
3585  Renal Fail
3630  Pancreatit
4585  Skin Break
4599  Renal Fail
4760  Renal Fail
4775  Pneumonia
3630  Pneumonia
4775  Renal Fail
;
run;

1 Ответ

0 голосов
/ 07 мая 2020

Разделителем значений (или полей) по умолчанию является пробел, поэтому вводимые символы «обрезаются» по первому пробелу. Используйте модификатор LIST INPUT & после имени переменной, чтобы INPUT использовал два пробела в качестве разделителя и, таким образом, разрешал встроенные одиночные пробелы в значение поля.

В операторе LENGTH не должно быть $15.5 измените его на $15. Оператор INPUT уже знает о переменной COMPLICATION, потому что она была установлена ​​с помощью LENGTH в предыдущем операторе. Так что измените COMPLICATION $ на COMPLICATION &

Итак, вы хотите

data complication;
  length SUBJECT 8 COMPLICATION $ 15;
   input SUBJECT   COMPLICATION & ;
...
...