NOCENTER LS option = MAX PS = MAX OBS = MAX MACROGEN; Libname A ''; OPÇÕES FMTSEARCH = (A); / *附录宏* / % M_APPENDIX_FORMAT MACRO (N1); % IF% INDEX (& LVARNAME, e N1.)% ENTÃO% DO; % DO K = 1% a & LA_LEN .; % DEIXE UM = SCAN% (& LVARNAME, & K..); % LET AC = SCAN% (& LA, & K..); % IF & AN. = & N1. %ENTÃO FAÇA; Formato e N1. $ & AC._FMT .; %FIM; %FIM; %FIM; %% ELSE DO; Formato e N1. $ 3 .; %FIM; %EMENDAR; % LET NL =% SYSFUNC (COUNT sem (& NLIST).); / *变量个数* / % LET LA = A1 A18 A20 A44 A58 A32 A33; / * corresponde variáveis Apêndice * / % LET LA_LEN =% SYSFUNC (. COUNT sem (& LVARNAME)) ; % M_APPENDIX_FORMAT (IDENTITEY_TYPE); o XLS libname o EXCEL * Xls '36 '; % LET OutputData = PCR_BASEINFO; % o MACRO do controlo; / * 1, a estrutura da tabela de verificação - campo reservado: número variável, os nomes das variáveis, rótulos de variáveis, tipo variável, variável. comprimento * / PROC = o conteúdo A. & OutputData de SAÍDA DE DADOS = temp_t1 (a etiqueta a manter o nome TIPO = Varnum o comprimento) a NOPRINT Varnum; EXECUTAR; PROC a classificar os dados = temp_t1; POR Varnum; EXECUTAR; o DADOS XLS.CONTENTS; o temp_t1 SET; EXECUTAR; / * 2, ver registos 100 antes de imprimir * / DATA XLS.TOP100; A. & OutputData SET (da OBS = 100); EXECUTAR; . / * 3, e relações de verificação da exclusividade verificação * / PROC A. & OutputData a classificar os dados = (o MANTENHA = REPORT_NO IDENTITEY_TYPE BUSINESS_ORG_TYPE BUSINESS_ORG BUSINESS_TYPE) SAÍDA = NODUP DUPOUT = XLS.REPORT_NO_DUP NODUPKEY ; o SAIR; LET% NL =% SYSFUNC (COUNT sem (& NLIST).); / * número de variáveis * / REPORT_NO IDENTITEY_TYPE BUSINESS_ORG_TYPE BUSINESS_ORG BUSINESS_TYPE POR; EXECUTAR; o DADOS XLS.DATE_XC; o conjunto A. & OutputData; MON = INTCK ( "MES", open_date, PUTOUT_DATE); o se o MON <^ o MON = 0 a E;. RUN; . / * 4, dados vista distribuição de frequência conjunto * / o PROC o SQL a NOPRINT; o SELECT NOME do INTO: NLIST separados por '' FROM temp_t1; / * lista de variáveis * / a selecionar o tipo do INTO: o TLIST separados por '' FROM temp_t1; / * tipo de variável * / % LET LVARNAME = IDENTITEY_TYPE BUSINESS_ORG_TYPE BUSINESS_TYPE PAYBACK_PERSON_TYPE CLASS5_STATE PAYMENT_STAUTS moeda; / * variáveis Apêndice * / % LET LA = A1 A18 A20 A44 A58 A32 A33; / * corresponde variáveis Apêndice * / % LET LA_LEN =% SYSFUNC (COUNT sem (& LVARNAME).); / * carácter calcule comprimento variável * / o temp_t2 DADOS; SET & A.OutputData (GOTA =); % DO I = 1% a & NL .; LET% N1% = SCAN (& NLIST, & I..); %% SCAN LET T1 = (& TLIST, & I..); SE% & T1 = 2% e depois a% de OD; & N1._len = comprimento (N1 &.); %FIM; %FIM; CORRE; % DO I = 1% a & NL .; % LET nl =% SCAN (& NLIST, & a I.); % LET Tl =% SCAN; (& o TLIST, & a I ..) % da SE & Tl = 1%, em seguida% a dO;. / * numérico - estatística de verificação * / PROC o Sumário do DADOS = A. &OutputData N NMISS MAX MIN; VAR & N1; SAÍDA OUT = XLS. & N1 .; CORRE; %FIM; %% ELSE DO; / *字符型-检查变量值前两位和变量值长度* / PROC FREQUENTE DADOS = temp_t2; TABELAS e N1. / FALTA OUT = XLS. & N1 .; % M_APPENDIX_FORMAT (N1 &.); CORRE; PROC FREQUENTE DADOS = NOPRINT temp_t2; TABELAS & N1._len / FALTA OUT = XLS & N1._len.; CORRE; %FIM; %FIM; %EMENDAR; %VERIFICA;