如何在255处停止截断字符串

时间:2015-07-02 11:21:12

标签: sas spss

我在将长字符串变量从SAS导出到SPSS时遇到问题。

DATA testString;
INPUT testString $ 300.;
testLength=LENGTH(testString);
DATALINES;
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
;
RUN;

PROC EXPORT
DATA=WORK.teststring
FILE="H:/TestSPSStrucation.sav"
DBMS=SAV
REPLACE;

当我打开导出的SPSS文件时,该字符串被截断为255个字符。我尝试过不同的方法,例如将dbms更改为SPSS或混合格式。没有多少结果。

生成的SPSS文件,testString变量是String类型,宽度为765.向变量添加字符以获得比255个字符更宽的字符串没有问题。

3 个答案:

答案 0 :(得分:2)

从SAS 9.4开始,根据documentation,SAS在导出到SPSS时支持最多256个字节(字符)的字符变量。我的猜测是,当SAS开发SPSS导出引擎时,这是当前较旧的SPSS版本的限制。

SPSS能够直接从SAS数据集(.sas7bdat)导入,这可能是解决此问题的更好方法。

答案 1 :(得分:0)

我认为你可以通过扩展字符变量填充(CVP)引擎来解决这个问题。尝试使用您需要的选项CVPBYTES = #bytes的libname语句?

答案 2 :(得分:0)

SPSS已经支持长达32K的字符串变量了很长一段时间。您可以尝试使用SPSS过程来读取SAS文件目录。文件>打开或在语法中使用GET TRANSLATE。