在proc导入期间使用SAS截断的标头

在proc导入期间使用SAS截断的标头,sas,Sas,我为我的列设置了大标题,如下所示。这只是一个示例,因为我有2000个列,标题也一样多 每列用分号分隔 BAL_RT,ET-CAP,EXT_EA16,SEXL-SA,UK;BAL_RT,ET-CAP,EXT_EA16,IBON-SA,TA;BAL_RT,ET-CAP,EXT_EA16,TARO-SA,XR 1;7.2;3 35;8;0.99 我正在SAS中使用以下命令行执行导入 options macrogen symbolgen ; PROC IMPORT OUT= Work.fic38_

我为我的列设置了大标题,如下所示。这只是一个示例,因为我有2000个列,标题也一样多

每列用分号分隔

BAL_RT,ET-CAP,EXT_EA16,SEXL-SA,UK;BAL_RT,ET-CAP,EXT_EA16,IBON-SA,TA;BAL_RT,ET-CAP,EXT_EA16,TARO-SA,XR
1;7.2;3
35;8;0.99
我正在SAS中使用以下命令行执行导入

options macrogen symbolgen ;


PROC IMPORT OUT= Work.fic38_fic1 
        DATAFILE= "C:\cygwin\home\appEuro\pot\fic38.csv" 
        DBMS=DLM REPLACE;
 DELIMITER='3B'x;
 GETNAMES=YES;
 DATAROW=2;
 GUESSINGROWS=32767; 
RUN;

proc sort data=Work.fic38_fic1 ; by date ; run ;
但是,由于一些未知的原因,标头被截断

BAL_RT,ET-CAP,EXT_EA16,SEXL-SA;BAL_RT,ET-CAP,EXT_EA16,IBON-SA;BAL_RT,ET-CAP,EXT_EA16,TARO-SA
我在网上看到他们在谈论LRCL的选择

这对任何人都有意义吗

任何帮助都将不胜感激


干杯。

听起来问题实际上是您有34-50个字符宽的变量名。SAS变量名最多有32个字符,因此无法在变量名中使用整个长度。您可能可以将其用作变量标签,但如果PROC IMPORT不打算为您这样做,您可能需要自己编写代码。您可以将代码从日志中删除,并使用该代码,如果您愿意,还可以手动添加其他文本。

嗨,Joe,谢谢您的反馈。这是一个奇怪的部分,因为标题只有34到50个字符长。我不知道为什么SAS公司不愿意使用他们,因为他们是…你说你有2000个,虽然。PROC导入的默认值是32767的lrecl,因此2000*50=100000,远远超过这个值。我说我有2000列,每个标题大约有34到50个字符长。。。我读得好吗?天哪,不……你们把专栏和行搞混了吗?我并没有搞混,只是哭了我暂时的绝望和沮丧。请在下面找到我的示例*50倍长;b*50倍长;c*50倍长1;2.3 4;5.6.