dados SAS define teste automático

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;

  

Acho que você gosta

Origin www.cnblogs.com/wdkshy/p/12455635.html
Recomendado
Clasificación