sessionProp combineFmtLibs

Extracción Selectiva en Ensayos Clínicos (Manejo de Errores)

Scénario de test & Cas d'usage

Contexto empresarial

Una farmacéutica está migrando datos de ensayos clínicos antiguos. Necesitan crear una biblioteca de estándares ('STD_CLINICAL') extrayendo solo formatos específicos ($gender, $race) de bibliotecas de estudios antiguos. Sin embargo, algunos estudios antiguos pueden no tener el formato '$race' definido. El proceso no debe detenerse por este motivo.
Sobre el conjunto : sessionProp

Configuración de las propiedades de la sesión.

Descubrir todas las acciones de sessionProp
Preparación de datos

Creación de una biblioteca 'Study2010' que tiene Género pero NO tiene Raza, para provocar la ausencia del formato solicitado.

¡Copiado!
1PROC FORMAT;
2 value $gender 'M'='Male' 'F'='Female';
3 /* Nota: No definimos $race aqui deliberadamente */
4RUN;
5 
6PROC FORMAT lib=work cntlout=cntl_s2010; select $gender; RUN;
7DATA casuser.cntl_s2010; SET cntl_s2010; RUN;
8 
9PROC CAS;
10 sessionprop.addFmtLib / fmtLibName='study_2010' TABLE={caslib='casuser', name='cntl_s2010'} replace=true;
11RUN;
12QUIT;

Étapes de réalisation

1
Intento de combinar formatos específicos, solicitando uno que no existe ($race) con la bandera de ignorar error activada.
¡Copiado!
1PROC CAS;
2 sessionProp.combineFmtLibs /
3 fmtLibsIn={'study_2010'}
4 fmtLibOut='std_clinical'
5 formatNames={'$gender', '$race'}
6 ignoreNameNotFound=true;
7RUN;
8QUIT;
2
Verificación de que la biblioteca se creó solo con los formatos encontrados.
¡Copiado!
1PROC CAS;
2 sessionProp.listFmtLibs / fmtLibNames={'std_clinical'} showFmtNames=true;
3RUN;
4QUIT;

Resultado esperado


La acción debe completarse con éxito (RC=0) a pesar de que '$race' no existe en 'study_2010'. La biblioteca 'std_clinical' debe crearse conteniendo únicamente '$gender'. Si 'ignoreNameNotFound' fuera false, la acción fallaría.