在SAS中导入SPSS文件-语言差异



我在将SPSS文件导入SAS时遇到问题。我使用的代码是:

proc import datafile = "C:SASGermany.sav"
     out=test
     dbms = sav
     replace;
 run;

所有数据都被导入,但问题是变量的某些值的名称略有不同。因此,例如在SPSS文件中,变量"A"的值为"KÖL",但当导入SAS时,它变为"Kâ-L"。

我的想法是,这个问题可能是基于这样一个事实,即.sav文件中有一些SAS无法理解的德语单词。

是否有一个命令加载SAS中的库或其他东西,以便它能够理解特定于语言的值?

附言:我在这里也发现了一个类似的帖子:在SAS中导入波兰字符文件但答案并不十分明确。

SAS默认情况下通常使用标准的windows-latin-1代码页安装,通常称为"ASCII"(不正确)。SAS本身可以处理任何编码,但如果默认情况下使用Windows-Latin-1,它将无法处理某些Unicode翻译。

如果您使用的是SAS 9.3或9.4,可能还有v9的早期版本,则可能安装了SAS的Unicode版本。在中查找

SasFoundation9.xnls

在那里你可能会发现"en"(如果你用英语的话),它通常使用默认的Windows-latin-1代码页。您还可以找到(如果安装了它的话)Unicode兼容的版本。这实际上只是一个配置设置,但重要的是要让他们正确地提供一个预先烘焙的配置文件。

在我的案例中,我在nls下有一个"u8"文件夹,然后我可以使用它在数据集上以及读取数据时启用Unicode字符编码。

需要注意的是:我不确定SPSS导入引擎处理Unidoe/MBCS字符的效果如何。这是一个单独的问题;如果你运行的是unicode版本的SAS,但它仍然存在问题,那可能就是问题所在,你可能需要以不同的方式导出你的SPSS文件,或者与SAS技术支持人员联系。

最新更新