#excel #sas
#excel #sas
Вопрос:
итак, у меня есть подобный код, когда это выполняется
data t4;
put new_EMPLID $2000.;
do until(last.CRSE_ID);
set t3;
by CRSE_ID notsorted;
new_EMPLID = catx(',',new_EMPLID,compress(EMPLID));
END;
drop EMPLID;
run;
вывод в SAS
ЗАТЕМ «Просмотреть в Excel»
Я хочу показать ВОТ ТАК «2234944,2330002» точно так же, как выводится в SAS
Почему Excel меняется, как показано на рисунке? Кто-нибудь знает, как исправить эту проблему???
Я знаю, это проблема cauing, когда я изменил ‘x’, это сработало в Excel.
Комментарии:
1. 000025 хранится как число, поэтому начальные нули удалены. Я вообще не знаком с SAS, но вам нужно сохранить / импортировать это в виде текста, а не числа.
2. Как вы получаете данные в Excel?
3. Я предлагаю экспортировать ваши данные в строковых форматах, таким образом, вы можете определить желаемую точность. Документацию смотрите: support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default /…
4. Не разрешайте Excel автоматически открывать файл CSV. Всегда используйте утилиту импорта текста, чтобы вы могли контролировать, как она интерпретирует столбцы.
Ответ №1:
Какая операционная система, версии SAS и Excel и разрядность каждой из них?
Какой код вы отправили?
Этот пример кода с Proc EXPORT
не показывает проблем в Windows 10, SAS 9.4M4 и 64-разрядной версии Excel 2016.
Если у courseId
есть только один участник, или если запятые могут быть неверно истолкованы Excel, они будут :). Ваши языковые настройки также могут влиять на отображение в Excel.
data have; input
courseId employeeId; datalines;
1 2234944
1 2330002
1 1975365
1 2244221
2 1122334
2 2233445
2 3344551
run;
data want;
do until (last.courseId);
set have;
by courseId;
length attendeeList $2000;
attendeeList = catx(',',attendeeList,employeeId);
end;
drop employeeId;
run;
proc export data=want dbms=excel replace file='c:tempcourse_attendence.xlsx';
run;