sessionProp

addFmtLib

L'essentiel
En resumen
Para enriquecer la presentación de los resultados y mantener la consistencia en los informes de SAS Viya, la operación addFmtLib es indispensable. Su función principal es declarar y disponibilizar bibliotecas de formatos personalizadas en la memoria del servidor, permitiendo que las variables de sus tablas CAS se visualicen con las etiquetas de negocio correctas en lugar de códigos crudos. Ya sea que necesite migrar catálogos desde entornos tradicionales o crear nuevas definiciones, en esta página encontrará un catálogo de preguntas y respuestas técnicas para resolver dudas sobre la persistencia, el alcance y la gestión de estos metadatos en su sesión actual.

Descripción

La acción `addFmtLib` se utiliza para añadir una biblioteca de formatos a la sesión actual de CAS. Esto permite que los formatos definidos por el usuario estén disponibles para ser utilizados en análisis y visualizaciones de datos dentro de esa sesión. Las bibliotecas de formatos pueden ser creadas desde cero, cargadas desde tablas de control en una caslib, o importadas desde un archivo SASHDAT en el servidor.

sessionProp.addFmtLib <result=results> <status=rc> / caslib="string", fmtLibName="string", fmtSearch="APPEND" | "INSERT" | "NONE" | "REPLACE", name="table-name", path="string", promote=TRUE | FALSE, replace=TRUE | FALSE;
Parámetros
ParámetroDescripción
caslib Especifica la caslib donde reside la biblioteca de formatos.
fmtLibName Especifica el nombre de la biblioteca de formatos. No puede exceder los 63 caracteres.
fmtSearch Especifica cómo se añade la nueva biblioteca al orden de búsqueda de formatos de la sesión (APPEND, INSERT, NONE, REPLACE).
name Especifica el nombre de la tabla de control de formatos o del archivo SASHDAT dentro de la caslib especificada.
path Especifica la ruta del servidor a un archivo de biblioteca de formatos (SASHDAT). La ruta debe ser accesible desde el nodo de control del servidor.
promote Cuando se establece en True, la biblioteca de formatos se promueve a un alcance global, haciéndola disponible para todas las sesiones de CAS. Requiere privilegios de administrador.
replace Cuando se establece en True, una biblioteca de formatos existente con el mismo nombre es reemplazada.
Creación de una Tabla de Control de Formatos

Para poder añadir una biblioteca de formatos desde una tabla, primero necesitamos crear esa tabla de control. Este ejemplo crea una tabla SAS local `myformats_table` que define un formato simple llamado `$myfmt`. Esta tabla luego se carga en CAS para poder ser utilizada por la acción `addFmtLib`.

¡Copiado!
1DATA myformats_table;
2 LENGTH fmtname $32 start $50 END $50 label $500;
3 fmtname='$myfmt'; start='A'; label='Grupo A'; OUTPUT;
4 fmtname='$myfmt'; start='B'; label='Grupo B'; OUTPUT;
5RUN;
6 
7PROC CAS;
8 TABLE.loadTable /
9 caslib='CASUSER'
10 path='%sysfunc(pathname(work))/myformats_table.sashdat'
11 casout={name='myformats_table', caslib='CASUSER', replace=true};
12QUIT;

Ejemplos

Este es el uso más simple de la acción. Crea una nueva biblioteca de formatos vacía llamada `newFmtLib` en la sesión actual. Esta biblioteca puede luego ser poblada con formatos usando la acción `addFormat`.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1 
2PROC CAS;
3sessionprop.addFmtLib / fmtLibName='newFmtLib';
4 
5QUIT;
6 
Resultado :
Se crea una nueva biblioteca de formatos vacía llamada `newFmtLib` en la sesión actual. No se produce ninguna salida visible, pero la biblioteca está lista para ser utilizada.

Este ejemplo muestra cómo añadir una biblioteca de formatos utilizando una tabla de control que ya ha sido cargada en CAS (ver la sección de creación de datos). La acción lee la tabla `myformats_table` de la caslib `CASUSER` y crea una biblioteca de formatos llamada `myFmtLibFromTable`.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1 
2PROC CAS;
3sessionprop.addFmtLib / fmtLibName='myFmtLibFromTable' name='myformats_table' caslib='CASUSER' replace=true;
4 
5QUIT;
6 
Resultado :
La acción crea la biblioteca de formatos `myFmtLibFromTable` que contiene el formato `$myfmt` definido en la tabla de control. La opción `replace=true` asegura que si la biblioteca ya existe, será reemplazada. Ahora, el formato `$myfmt` puede ser aplicado a las columnas de las tablas de CAS.

Este ejemplo añade la biblioteca de formatos `myFmtLibFromTable` y la promueve a un alcance global usando la opción `promote=true`. Esto hace que los formatos estén disponibles para todas las sesiones de CAS en el servidor, no solo la actual. Esta operación generalmente requiere privilegios de administrador.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1 
2PROC CAS;
3sessionprop.addFmtLib / fmtLibName='myFmtLibFromTable' name='myformats_table' caslib='CASUSER' replace=true promote=true;
4 
5QUIT;
6 
Resultado :
La biblioteca de formatos `myFmtLibFromTable` se crea y se hace disponible globalmente para todas las sesiones de CAS. Las sesiones futuras podrán usar `$myfmt` sin necesidad de añadir la biblioteca de formatos de nuevo.

FAQ

¿Cuál es el propósito de la acción `addFmtLib`?
¿Cómo puedo especificar la biblioteca de formatos que quiero agregar?
¿Para qué sirve el parámetro `fmtLibName`?
¿Cómo puedo gestionar el orden de búsqueda de formatos con el parámetro `fmtSearch`?
¿Qué significa 'promocionar' una biblioteca de formatos con el parámetro `promote`?
¿Qué ocurre si ya existe una biblioteca de formatos con el mismo nombre?

Escenarios asociados

Caso de uso
Análisis de Campaña de Marketing con Formatos Personalizados

Un equipo de marketing necesita analizar la efectividad de una campaña por segmentos de clientes. Para ello, requieren formatos personalizados que agrupen códigos de países en '...

Caso de uso
Gestión de Formatos Globales para Clasificación de Riesgo Financiero

Una entidad financiera global necesita que un conjunto estándar y extenso de formatos para la clasificación de riesgo esté disponible para todos los analistas en el servidor CAS...

Caso de uso
Manejo de Conflictos y Orden de Búsqueda de Formatos

En un entorno de desarrollo colaborativo, varios equipos pueden crear versiones diferentes de bibliotecas de formatos. Este escenario prueba la robustez de `addFmtLib` al maneja...