我在将 SPSS 文件导入 SAS 时遇到问题。我使用的代码是:
proc import datafile = "C:\SAS\Germany.sav"
out=test
dbms = sav
replace;
run;
所有数据均已导入,但问题是某些变量的值名称略有不同。因此,例如在 SPSS 文件中,变量“A”的值是“KÖL”,但是当导入到 SAS 中时,它会变成“K×L”。
我的想法是,问题可能是由于 .sav 文件包含一些 SAS 无法理解的德语单词。
是否有一个命令可以加载 SAS 中的库或其他内容,以便它可以理解特定于语言的值?
附注我还在这里找到了类似的帖子:Importing Polish character file in SAS 但答案并不明确。
最佳答案
默认情况下,SAS 通常使用标准 windows-latin-1 代码页安装,通常称为“ASCII”(不正确)。 SAS 本身可以处理任何编码,但如果它默认使用 Windows-Latin-1,则它不会处理某些 Unicode 转换。
如果您使用 SAS 9.3 或 9.4,并且可能使用 v9 的早期版本,则您可能安装了 SAS 的 Unicode 版本。查看
\SasFoundation\9.x\nls\
在那里您可能会找到“en”(无论如何,如果您使用英语),它通常使用默认的 Windows-latin-1 代码页。您还将找到(可能,如果已安装的话)Unicode 兼容版本。这实际上只是一个配置设置,但对于正确配置它们来说足够重要,因为它们提供了预烘焙的配置文件。
就我而言,nls 下有一个“u8”文件夹,然后我可以在数据集上以及读取数据时使用该文件夹启用 Unicode 字符编码。
需要注意的是:我不确定 SPSS 导入引擎处理 Unicdoe/MBCS 字符的效果如何。这是一个单独的问题;如果您运行 SAS 的 unicode 版本并且仍然存在问题,则可能是问题所在,您可能需要以不同方式导出 SPSS 文件或联系 SAS 技术支持。
关于unicode - 在 SAS 中导入 SPSS 文件 - 语言差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29103319/