SAS: интересное несоответствие при импорте в Excel

Я импортирую файл из Excel, который выглядит так:

Row Col Bucket
1   2   01
2   2   00

%Macro ImportExcel(DF = , OF = , Type = , SheetName = );

proc import datafile = &DF 
out = &OF dbms = &Type replace;
sheet = "&Sheetname";
run;

%Mend;
%ImportExcel(DF = "C:\Users\89974114\Documents\Book1.xlsx" , OF = Book1 ,     TYPE = xlsx , SheetName = Sheet1);

когда я импортирую файл, набор данных выглядит так

Row Col Bucket
1   2   1
2   2   0

По сути, я теряю свой собственный формат из Excel, и он возвращается к формату без значения по умолчанию, без начального нуля - есть ли способ обойти это?

Пакеты Java
Пакеты Java
Пакет java - это группа классов, интерфейсов и подпакетов схожего типа. Думайте об этом как о папке в каталоге файлов. Мы используем пакеты, чтобы...
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
0
0
50
1

Ответы 1

Я не знаю, как применить информацию при использовании proc import - это своего рода тупой инструмент. Вы можете просто добавить небольшой шаг данных в свой макрос, например:

[proc import block]

data &OF ;
  set &OF ;
format Bucket z2.;
run;

%Mend;

Или, если вы хотите преобразовать его в строку символов, измените строку формата на BucketC = put(Bucket,z2.);

Обновлено: Конечно, лучший способ - использовать PROC DATASETS для изменения формата, но это было слишком очевидно для моего тупого мозга.

Другие вопросы по теме