SAS XPT 互转 Xlsx

本文详细描述了如何使用SAS脚本将XPT文件转换为XLSX,以及为何需要导出两个不同版本的XLSX文件。重点讲解了label在转换过程中的作用以及如何处理翻译后的文件以确保XPT转换的成功。
摘要由CSDN通过智能技术生成

第一步 xpt转换位xlsx

首先准备xpt文件,放在一个目录下。
企业微信截图_17086828874640.png

将以下内容保存进 exprotXlsx.sas 文件中

/* 将xpt文件导入sas软件中  */
LIBNAME XP XPORT "F:\sasTest\ADPR.xpt";
PROC COPY IN=XP OUT=WORK;
RUN;

/* 将导入的work导出为xlsx文件 */
filename output 'F:\sasTest\ADPR_YS.xlsx' encoding="utf-8";

PROC EXPORT DATA=WORK.Adpr OUTFILE=output
            DBMS=XLSX REPLACE;
     PUTNAMES=YES;
	
RUN;


/* 将导入的work导出为xlsx文件(翻译文件) */
filename output 'F:\sasTest\ADPR.xlsx' encoding="utf-8";

PROC EXPORT DATA=WORK.Adpr OUTFILE=output
            DBMS=XLSX REPLACE label;
     PUTNAMES=YES;
	
RUN;

![H4%A7NYF9$3D$92QQ)8RY9.png

注意点

  1. 为什么要导出两份不同xlsx文件呢?因为sas软件属性中有name和label,如果我们导出有label的xlsx,翻译完成后,xlsx再转换回Xpt时,sas脚本需要原始xpt文件进行比较,这时两者的name比对不上,就导致无法转换,即便我们导入到sas软件中,它依然是有问题。

1~[(Q@]ZOK.png
![HDOSMCKZ0K3A}}@L%9LGEJ.png
G@1TYUN5~{%XR((01MKTI)7.png
X@LR{XKS8N3ZAEMJFKO8LWK.png
label就是我们要进行翻译的标题,所以xlsx转换回xpt,需要使用sas脚本中修改label命令。
J0E3DXYZ)CTS84L3QDA.png
![0$RL]UWRCLW{C_E({1SD)W.png

第二步 xlsx转换xpt

/* 将xpt文件导入sas软件中  */
LIBNAME XP XPORT "F:\sasTest\ADPR.xpt";
PROC COPY IN=XP OUT=WORK;
RUN;

/* 将翻译好的xlsx导入sas软件 */
PROC IMPORT OUT= WORK.ADPR_PR 
            DATAFILE= "F:\sasTest\ADPR_YS.xlsx" 
            DBMS=EXCEL REPLACE;
     RANGE="ADPR_YS"; 
     GETNAMES=YES;
     MIXED=YES;
     SCANTEXT=YES;
     USEDATE=NO;
     SCANTIME=NO;
RUN;

LIBNAME sasfile "F:\sasTest";
LIBNAME xportout xport "F:\sasTest\ts.xpt";

/* 转换work中label */
DATA xportout.ts;
	length STUDYID $11.;
	format STUDYID $11.;
	informat STUDYID $11.;
    set work.ADPR_PR;


    label STUDYID="研究标识符"
        USUBJID="受试者唯一标识符"
        SUBJID="筛选号";
RUN;

/* 将work转换为xpt文件 */
PROC COPY in=sasfile out=xportout memtype=data;
RUN;

4UX)2(L0VD3Z%(DLGQ~2XKG.png
运行后结果
T$~``J1.png
ZVU16KBRCMAC5YR_TDY4~Z6.png

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hikktn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值