Décrire les données sources au format CSV
La composante
PrismAnalytics
de Workday Studio nécessite une description des données sources au format CSV. Vous pouvez créer le texte JSON dans l’outil de votre choix et l’utiliser plus tard dans Studio. Exemple : collez-le dans un message texte dans l’onglet Message Builder
d’une étape write
.- Créez un texte JSON contenant deux nœuds principaux :
- parseOptions: renseignements sur le format des données CSV, y compris le jeu de caractères et le caractère délimiteur.
- fields: informations sur chaque champ des données CSV, y compris le type de données et la mise en forme.
- Dans la sectionparseOptionsnœud, vous pouvez définir les champs suivants :Nom du champTypeObligatoireDescriptioncharsetNameObjetOuiL’ensemble de caractères du fichier de données CSV. Exemple :"charset": { "id": "Encoding=UTF-8" }Actuellement, Workday prend en charge uniquement le format d’encodage UTF-8. Au final, Workday stocke les données au format Unicode. Les caractères sans équivalent Unicode sont stockés comme caractère de remplacement Unicode, un point d’interrogation sur un fond en diamant noir.fieldsEnclosedByChaîneNonLe caractère utilisé pour inclure les champs dans les données au format CSV. La valeur par défaut correspond aux guillemets doubles. Si un guillemet anglais est utilisé dans un champ, évitez-le en le précédant d’un autre guillemet anglais. Exemple :"fieldsEnclosedBy": "\""fieldsDelimitedByChaîneOuiCaractère utilisé pour séparer les valeurs de champ dans les données CSV. Exemple :"fieldsDelimitedBy": ","headerLinesToIgnoreNuméroNonNombre de lignes que l'analyseur doit ignorer comme en-tête. Défini à0si les données CSV n’ont pas d’en-tête. Exemple :"headerLinesToIgnore": 1typeObjetOuiLe type de fichier d’entrée. Actuellement, Workday prend uniquement en charge les fichiers délimités. Exemple :"type": { "id": "Schema_File_Type=Delimited" }Cette valeur est sensible à la casse. Notez le D en majuscule dans Délimité.
- Dans la sectionfieldsnœud, vous pouvez définir les champs suivants :Nom du champTypeObligatoireDescriptionordinalNuméroOuiL’ordre du champ dans le jeu de données CSV (index). Les valeurs ordinales :
- Doit commencer par 1.
- Doit être contiguë.
- Impossible d’omettre un numéro.
- Vous en avez un maximum de 1 000.
nameChaîneOuiLe nom du champ de jeu de données CSV. Les noms des champs :- Doivent être uniques dans le jeu de données.
- Peuvent contenir jusqu’à 255 caractères.
- Ne peuvent inclure que des caractères alphanumériques et de soulignement.
- Doivent commencer par une lettre.
- Ne peuvent pas se terminer par un trait de soulignement.
- Ne peut pas commencer par WPA_.
descriptionChaîneNonLa description du champ. Maximum de 1 000 caractères. Exemple :"description": "The worker's full name."typeObjetOuiLe type du champ. Les options sont :- Texte
- Valeur numérique
- Booléen
- Date
"type": { "id":"Schema_Field_Type=Date"}parseFormatChaîneOui (pour les types Date)Le format de la date. Exemple :"parseFormat": "dd-MM-yy HH24:mm:ss"precisionNuméroOui (pour les types numériques)Le nombre maximum de chiffres dans une valeur numérique. Comprend tous les chiffres à gauche et à droite de la virgule, mais pas la virgule elle-même. La valeur maximale est 38. Exemple :"precision": 38scaleNuméroOui (pour les types numériques)Nombre de chiffres à droite de la virgule décimale dans une valeur numérique. Doit être inférieur àprecisionvaleur. Exemple :"scale": 2defaultValueTexteNonLa valeur par défaut d’un champ, si aucun n’est fourni dans le fichier de téléversement.Exprimez une valeur de texte par défaut entre guillemets doubles. Exemple :“N/A”.Les valeurs de date par défaut doivent être au format suivant : yyyy-MM-dd'T'HH:mm:ss'Z'.Les valeurs numériques par défaut doivent correspondre aux valeurs précisées.precisionetscale.requiredBooléenNonIndique si un champ doit contenir une valeur. Défini àTrueSi un champ est obligatoire, sinon, il est défini àFalse. Si un champ est obligatoire, sa valeur ne peut pas être nulle dans les opérations d'insertion, de mise à jour et d'insertion de données.externalIDBooléenOui (pour tirer parti des opérations de mise à jour, de réinsertion et de suppression).Indique si un champ représente un identifiant externe. Défini àTruepour désigner un champ comme identifiant externe, sinon il est défini àFalse.Étant donné que les champs d'identifiant externe ne peuvent pas être nuls, vous devez préciser que tout champ d'identifiant externe est obligatoire. Vous ne pouvez préciser qu’un seul champ comme Identifiant externe.Précisez un identifiant externe dans les nouveaux tableaux si vous souhaitez tirer parti des fonctionnalités de mise à jour, de réinsertion et de suppression.Pour utiliser les fonctionnalités de mise à jour, de réinsertion et de suppression avec un tableau existant, vous devez le modifier afin qu’il comporte un seul champ désigné comme Identifiant externe. L’API publique Prism ne prend pas en charge la modification d’un tableau qui contient des données. Dans ce cas, effectuez la modification dans Workday.
Votre fichier CSV source décrit ce tableau :
Employé | Numéro d’employé | Titre d’emploi | Date d’embauche | Salaire annuel |
|---|---|---|---|---|
Logan McNeil | 21001 | Vice-président, Ressources humaines | 1/1/2010 | 213298.00 |
Olivier Reynolds | 21003 | Dirigeant principal de l’information | 1/1/2010 | 394935.00 |
Maximilian Schneider | 21004 | Directeur de l’exploitation | 1/1/2010 | 255373.00 |
Teresa Serrano | 21005 | Contrôleuse | 1/1/2010 | 291785,00 |
Vous la décrivez en utilisant JSON comme suit :
{ "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" } }