Descripción de los datos CSV de origen
El componente
PrismAnalytics
de Workday Studio requiere una descripción de los datos CSV de origen. Puede crear el texto en formato JSON en la herramienta de su elección y usarlo en Studio más tarde. Ejemplo: puede pegarlo en un mensaje de texto en la ficha Message Builder
de un paso write
.- Cree texto JSON que contenga dos nodos principales:
- parseOptions: información sobre el formato de los datos CSV, incluido el juego de caracteres y el carácter delimitador.
- fields: información sobre cada campo de los datos CSV, incluidos el tipo de datos y el formato.
- En elparseOptionsnodo, puede definir los siguientes campos:Nombre de campoTipoObligatorioDescripcióncharsetNameObjetoSíEl conjunto de caracteres del archivo de datos CSV. Ejemplo:"charset": { "id": "Encoding=UTF-8" }Actualmente, Workday solo admite el formato de codificación UTF-8. En última instancia, Workday almacena los datos en formato Unicode. Los caracteres sin equivalente Unicode se almacenan como el carácter de sustitución Unicode, un signo de interrogación sobre un fondo de rombo negro.fieldsEnclosedByCadenaNoEl carácter utilizado para delimitar campos en los datos CSV. El valor por defecto son las comillas dobles. Si se utilizan comillas dobles en un campo, escríbalas precediéndolas de otras comillas dobles. Ejemplo:"fieldsEnclosedBy": "\""fieldsDelimitedByCadenaSíEl carácter utilizado para separar los valores de campo en los datos CSV. Ejemplo:"fieldsDelimitedBy": ","headerLinesToIgnoreNúmeroNoEl número de líneas que el analizador ignorará como cabecera. Definir en0si los datos CSV no tienen cabecera. Ejemplo:"headerLinesToIgnore": 1typeObjetoSíEl tipo de archivo de entrada. Actualmente, Workday solo admite archivos delimitados. Ejemplo:"type": { "id": "Schema_File_Type=Delimited" }Este valor distingue entre mayúsculas y minúsculas. Tenga en cuenta la D mayúscula en Delimitado.
- En elfieldsnodo, puede definir los siguientes campos:Nombre de campoTipoObligatorioDescripciónordinalNúmeroSíEl orden del campo en el conjunto de datos CSV (índice). Los valores ordinales:
- Deben comenzar con 1.
- Deben ser contiguos.
- No pueden omitir ningún número.
- Tener un máximo de 1000.
nameCadenaSíEl nombre del campo de conjunto de datos CSV. Los nombres de campo:- Deben ser exclusivos en el conjunto de datos.
- Pueden contener hasta 255 caracteres.
- Solo pueden contener caracteres alfanuméricos y de subrayado.
- Deben comenzar con una letra.
- No pueden terminar con un carácter de guion bajo.
- No puede comenzar con WPA_.
descriptionCadenaNoLa descripción del campo. Máximo de 1000 caracteres. Ejemplo:"description": "The worker's full name."typeObjetoSíEl tipo de campo. Las opciones son:- Texto
- Numérico
- Booleano
- Fecha
"type": { "id":"Schema_Field_Type=Date"}parseFormatCadenaSí (para tipos de fecha)El formato de la fecha. Ejemplo:"parseFormat": "dd-MM-yy HH24:mm:ss"precisionNúmeroSí (para tipos numéricos)El número máximo de dígitos en un valor numérico. Incluye todos los números a la izquierda y a la derecha de una coma decimal, pero no la coma decimal en sí. El valor máximo es 38. Ejemplo:"precision": 38scaleNúmeroSí (para tipos numéricos)El número de dígitos a la derecha de la coma decimal en un valor numérico. Debe ser inferior alprecisionvalor Ejemplo:"scale": 2defaultValueTextoNoEl valor por defecto de un campo si no se proporciona ninguno en el archivo de carga.Expresar un valor de texto por defecto entre comillas dobles. Ejemplo:“N/A”.Los valores de fecha por defecto deben tener este formato: aaaa-MM-dd'T'HH:mm:ss'Z'.Los valores numéricos por defecto deben coincidir con los valores especificados.precisionyscale.requiredBooleanoNoEspecifica si un campo debe contener un valor. Definir enTruesi un campo es obligatorio; de lo contrario, defínalo comoFalse. Si un campo es obligatorio, su valor no puede ser nulo en ninguna operación de inserción, actualización y modificación de datos.externalIDBooleanoSí (para aprovechar las operaciones de actualización, upsert y eliminación).Especifica si un campo representa un ID externo. Definir enTruepara designar un campo como ID externo; de lo contrario, defínalo comoFalse.Dado que los campos de ID externo no pueden ser nulos, debe especificar que cualquier campo de ID externo es obligatorio. Solo puede especificar un campo como ID externo.Especifique un ID externo en las tablas nuevas si quiere aprovechar la funcionalidad de actualización, upsert y eliminación.A fin de utilizar la funcionalidad de actualización, upsert y eliminación con una tabla existente, debe modificarla para que tenga un solo campo designado como ID externo. La API pública Prism no admite la modificación de una tabla que contiene datos. En tales casos, realice la modificación en Workday.
Su archivo CSV de origen describe esta tabla:
Empleado | ID de empleado | Título de puesto | Fecha de contratación | Salario anual |
|---|---|---|---|---|
Logan McNeil | 21001 | Vicepresidente de RR. HH. | 1/1/2010 | 213 298,00 |
Oliver Reynolds | 21003 | Director de sistemas de información | 1/1/2010 | 394 935,00 |
Maximilian Schneider | 21004 | Director de operaciones | 1/1/2010 | 255 373,00 |
Teresa Serrano | 21005 | Controladora | 1/1/2010 | 291785,00 |
Se describe mediante JSON de la siguiente manera:
{ "parseOptions": { "fieldsDelimitedBy": ",", "fieldsEnclosedBy": "\"", "headerLinesToIgnore": 1, "charset": { "id": "Encoding=UTF-8" }, "type": { "id": "Schema_File_Type=Delimited" } }, "fields": [ { "ordinal": 1, "name": "Employee", "description": "Employee", "precision": 255, "scale": 0, "parseFormat": null, "type": { "id": "Schema_Field_Type=Text" } }, { "ordinal": 2, "name": "Employee_ID", "description": "Employee ID", "precision": 38, "scale": 0, "parseFormat": null, "type": { "id": "Schema_Field_Type=Numeric" } }, { "ordinal": 3, "name": "Job_Title", "description": "Job Title", "precision": 255, "scale": 0, "parseFormat": null, "type": { "id": "Schema_Field_Type=Text" } }, { "ordinal": 4, "name": "Hire_Date", "description": "Hire Date", "precision": 0, "scale": 0, "parseFormat": "MM/dd/yy", "type": { "id": "Schema_Field_Type=Date" } }, { "ordinal": 5, "name": "Annual_Salary", "description": "Annual Salary", "precision": 38, "scale": 2, "type": { "id": "Schema_Field_Type=Numeric" } } ], "schemaVersion": { "id": "Schema_Version=1.0" } }