У меня есть пример набора данных, как показано ниже.
data d01;
infile datalines dlm='#';
input Name & $15. IdNumber & $4. Salary & $5. Site & $3.;
datalines;
アイ# 2355# 21163# BR1
アイウエオ# 5889# 20976# BR1
カキクケ# 3878# 19571# BR2
;
data _null_ ;
set d01 ;
file "/folders/myfolders/test.csv" lrecl=1000 ;
length filler $3;
filler = ' ';
w_out = ksubstr(Name, 1, 5) || IdNumber || Salary || Site || filler;
put w_out;
run ;
Я хочу экспортировать этот набор данных в csv (формат с фиксированной шириной), и каждая строка будет иметь длину 20 байт (20 1-байтовых символов).
Но SAS автоматически удаляет мои конечные пробелы. Таким образом, результат будет 17 байт для каждой строки. (наполнитель обрезан)
Я знаю, что могу вставить наполнитель вот так.
put w_out filler $3.;
Но это не сработает, если столбец «сайт» пуст, SAS обрежет его столбец, и результат также не будет равен 20 байтам для каждой строки.