我不太清楚如何更改数据文件中列的格式。我导入了数据集proc,它猜测特定列的格式为数字,我希望基于字符。
这是我目前所在的位置,它不会更改NUMBER列的格式:
proc import
datafile = 'datapath'
out = dataname
dbms = CSV
replace
;
format NUMBER $8.
;
guessingrows = 20000
;
run;
答案 0 :(得分:1)
您可以导入数据,然后使用后进行格式化-我相信下面的方法会起作用。
proc sql;
create table want as
select *,
put(Number, 4.) as CharacterVersion
from data;
退出;
答案 1 :(得分:0)
您不能通过PROC IMPORT更改类型/格式。但是,您可以编写一个数据步骤以读取文件,然后自定义所有内容。如果不确定如何开始,请在运行PROC IMPORT后检查日志,日志中将带有“ skeleton”代码。您可以复制该代码,对其进行编辑,然后运行以获取所需的代码。从头开始编写也可以使用INFILE和INPUT语句。
答案 2 :(得分:0)
从帮助文件中(搜索“在SAS中处理分隔文件”)
如果在过程运行后需要修改代码,请在生成的DATA步骤中发出RECALL命令(或按F4键)。此时,您可以在INFILE语句中添加或删除选项,并自定义数据的INFORMAT,FORMAT和INPUT语句。
当然,本节中的语法太可怕了!这个想法是IMPORT
过程生成可重新调用和修改以供后续提交的源代码。