La acción addFormat en SAS Viya se utiliza para añadir un nuevo formato a una biblioteca de formatos existente dentro de una sesión de CAS. Esto permite a los usuarios definir sus propios formatos personalizados para la visualización de datos, que pueden ser numéricos o de caracteres. Estos formatos se pueden aplicar a las columnas de las tablas en memoria para mejorar la legibilidad y la presentación de los resultados del análisis.
| Parámetro | Descripción |
|---|---|
| dataType | Indica si el valor es DATE, TIME o DATETIME. |
| defaultL | Especifica la longitud predeterminada del formato. |
| fill | Indica el carácter de relleno para el formato PICTURE. |
| fmtLibName | Especifica un nombre para la biblioteca de formatos. |
| fmtName | Especifica un nombre para el formato. |
| fmtType | Indica el tipo de formato: PICTURE, INVALUE o VALUE. |
| fuzz | Especifica un factor de aproximación para hacer coincidir valores con un rango. |
| locale | Especifica la configuración regional a utilizar en el prefijo de configuración regional del nombre del formato. |
| maxL | Especifica una longitud máxima para el formato, en bytes. |
| minL | Especifica una longitud mínima para el formato, en bytes. |
| mult | Indica el multiplicador para el formato PICTURE en lugar de calcularlo basándose en los puntos decimales. |
| multiLabel | Cuando se establece en True, se pueden especificar múltiples etiquetas para el valor interno. |
| noedit | Indica una etiqueta que no es de tipo PICTURE para el formato PICTURE. |
| notSorted | Cuando se establece en True, los valores o rangos se almacenan en el orden en que se definen. |
| prefix | Indica los caracteres de prefijo para el formato PICTURE. |
| ranges | Especifica una lista de pares valor=etiqueta o rango=etiqueta. Los rangos se especifican como min-max=etiqueta. |
| replace | Cuando se establece en True, un formato existente con el mismo nombre se reemplaza por este formato. |
Este bloque de código crea una tabla en memoria en CAS llamada 'ventas_productos'. La tabla contiene dos columnas: 'id_producto' y 'cantidad_vendida'. Estos datos servirán de base para aplicar los formatos personalizados definidos en los ejemplos.
| 1 | DATA casuser.ventas_productos; |
| 2 | INFILE DATALINES; |
| 3 | INPUT id_producto cantidad_vendida; |
| 4 | DATALINES; |
| 5 | 1 10 |
| 6 | 2 25 |
| 7 | 3 55 |
| 8 | 4 120 |
| 9 | ; |
| 10 | RUN; |
Este ejemplo primero crea una biblioteca de formatos llamada 'mi_biblioteca_formatos'. Luego, añade un formato numérico llamado 'cantidadfmt' a esta biblioteca. El formato clasifica las cantidades vendidas en tres categorías: 'Bajo', 'Medio' y 'Alto'.
| 1 | PROC CAS; |
| 2 | sessionProp.addFmtLib fmtLibName='mi_biblioteca_formatos'; |
| 3 | sessionProp.addFormat fmtLibName='mi_biblioteca_formatos' fmtName='cantidadfmt' ranges={'1-50=Bajo', '51-100=Medio', '101-high=Alto'}; |
| 4 | RUN; |
Este ejemplo crea una biblioteca de formatos y luego añade un formato de caracteres '$productofmt' para asignar nombres de productos a sus ID. La opción 'replace=true' asegura que si el formato ya existe, será sobrescrito. Finalmente, utiliza la acción 'alterTable' del conjunto de acciones 'table' para aplicar el nuevo formato a la columna 'id_producto' de la tabla 'ventas_productos' y muestra los resultados formateados usando 'fetch'.
| 1 | PROC CAS; |
| 2 | sessionProp.addFmtLib fmtLibName='mi_biblioteca_formatos_char'; |
| 3 | sessionProp.addFormat fmtLibName='mi_biblioteca_formatos_char' fmtName='$productofmt' replace=true ranges={'1=Laptop', '2=Smartphone', '3=Tableta', '4=Monitor'}; |
| 4 | TABLE.alterTable TABLE={caslib='casuser', name='ventas_productos'} columns={{name='id_producto', FORMAT='$productofmt'}}; |
| 5 | TABLE.fetch TABLE={caslib='casuser', name='ventas_productos'}; |
| 6 | RUN; |
Un departamento de marketing desea categorizar a sus clientes según su gasto total y región geográfica para lanzar campañas dirigidas. Necesitan crear formatos personalizados pa...
Un equipo de calidad de datos analiza datos de sensores de maquinaria industrial. Los datos contienen códigos de estado, incluyendo errores específicos, valores normales y datos...
Una institución financiera internacional necesita clasificar transacciones. Algunas transacciones pueden tener múltiples atributos (ej. 'Alto Valor' y 'Transfronteriza'). Tambié...