使用数据步骤将文件导入SAS

使用数据步骤将文件导入SAS,sas,Sas,我正在尝试使用数据步骤将sas数据集导入sas。它是以制表符分隔的。这是到目前为止我的代码。当我去运行数据时,它会运行,但是输出数据看起来全错了。有更好的方法吗 data medicare; infile '/folders/myfolders/sasuser.v94/medicare.sas' dlm='09'X; input NPI NPPES_CREDENTIALS $ NPPES_PROVIDER_GENDER $ NPPES_ENTITY_CODE $ NPPES_PR

我正在尝试使用数据步骤将sas数据集导入sas。它是以制表符分隔的。这是到目前为止我的代码。当我去运行数据时,它会运行,但是输出数据看起来全错了。有更好的方法吗

data medicare;
    infile '/folders/myfolders/sasuser.v94/medicare.sas' dlm='09'X;
    input NPI NPPES_CREDENTIALS $ NPPES_PROVIDER_GENDER $ NPPES_ENTITY_CODE $ NPPES_PROVIDER_ZIP $ NPPES_PROVIDER_STATE $ PROVIDER_TYPE $ MEDICARE_PARTICIPATION_INDICATOR $ PLACE_OF_SERVICE $ HCPCS_CODE $ HCPCS_DRUG_INDICATOR $ LINE_SRVC_CNT BENE_UNIQUE_CNT BENE_DAY_SRVC_CNT AVERAGE_MEDICARE_ALLOWED_AMT STDEV_MEDICARE_ALLOWED_AMT AVERAGE_SUBMITTED_CHRG_AMT STDEV_SUBMITTED_CHRG_AMT AVERAGE_MEDICARE_PAYMENT_AMT sSTDEV_MEDICARE_PAYMENT_AMT;
run;

如果您正在寻找一种对初学者友好的方法,可以先运行proc import。SAS将猜测正确的数据类型、长度等。以下是一个示例:

filename imp "C:\Users\&sysuserid.\Documents\xxx.txt" encoding="cp1252" TERMSTR=CRLF;

proc import datafile=imp
out=imported_table
dbms=dlm 
replace;
delimiter='09'x;
getnames=yes;
guessingrows = 1000000;
run;

然后,将SAS打印的数据步骤代码复制到日志中并进行更新(如果需要)。

A.SAS文件是一个程序,它是一个文本文件,但仅保存数据是非常罕见的。该扩展通常用于SAS程序。SAS数据集具有sas7bdat扩展。请发布您尝试导入的数据示例。请随意使用伪值替换任何敏感信息。您必须使用
length
语句初始化变量。如果不这样做,并且制表符分隔文件中的某些字段长度超过8个字符,它们将被截断。此外,您可能需要在
infle
语句中使用
dsd
和/或
misshover
选项,具体取决于您的文件内容。“Looks all error”对故障排除不是很有帮助。请解释您的数据集有什么问题。