Décrire les données CSV source
Le composant
PrismAnalytics
de Workday Studio nécessite une description des données CSV source. Vous pouvez créer le texte JSON dans l'outil de votre choix et l'utiliser ultérieurement dans Workday 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: informations relatives au format des données CSV, notamment le jeu de caractères et le caractère délimiteur.
- fields: informations sur chaque champ des données CSV, notamment le type de données et le format.
- Dans leparseOptionsLe nœud hiérarchique, vous pouvez définir les champs suivants :Nom du champTypeObligatoireDescriptioncharsetNameObjetOuiJeu de caractères du fichier de données CSV. Exemple :"charset": { "id": "Encoding=UTF-8" }Actuellement, Workday prend uniquement en charge le format de codage UTF-8. En définitive, Workday stocke les données au format Unicode. Les caractères sans équivalent Unicode sont stockés en tant que caractère de remplacement Unicode, un point d'interrogation sur un losange noir.fieldsEnclosedByChaîneNonCaractères entre lesquels sont placés les champs dans les données CSV. Les guillemets sont utilisés par défaut. Si un guillemet est utilisé dans un champ, il faut le faire précéder d'un autre guillemet. 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 en tant qu'en-tête. Défini sur0Si les données CSV n'ont pas d'en-tête. Exemple :"headerLinesToIgnore": 1typeObjetOuiType du 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 majuscule de Delimited.
- Dans lefieldsLe nœud hiérarchique, vous pouvez définir les champs suivants :Nom du champTypeObligatoireDescriptionordinalNuméroOuiOrdre du champ dans le jeu de données CSV (index). Les valeurs ordinales :
- Doivent commencer par 1.
- Doivent être contiguës.
- Ne peuvent ignorer aucun nombre.
- Ont un maximum de 1 000.
nameChaîneOuiNom du champ du jeu de données CSV. Les noms de champ :- 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 des tirets bas.
- Doivent commencer par une lettre.
- Ne peuvent pas se terminer par un underscore.
- Ne peuvent pas commencer par WPA_.
descriptionChaîneNonDescription du champ. 1 000 caractères maximum. Exemple :"description": "The worker's full name."typeObjetOuiType du champ. Les options sont les suivantes :- Texte
- Numérique
- Booléen
- Date
"type": { "id":"Schema_Field_Type=Date"}parseFormatChaîneOui (pour les types Date)Format de la date. Exemple :"parseFormat": "dd-MM-yy HH24:mm:ss"precisionNuméroOui (pour les types Numérique)Nombre maximum de chiffres dans une valeur numérique. Inclut tous les nombres à gauche et à droite d'un séparateur décimal, mais pas le séparateur décimal lui-même. La valeur maximum est 38. Exemple :"precision": 38scaleNuméroOui (pour les types Numérique)Nombre de chiffres à droite du séparateur décimal dans une valeur numérique. Doit être inférieur à laprecisionvaleur. Exemple :"scale": 2defaultValueTexteNonValeur par défaut d'un champ, si aucune n'est indiquée dans le fichier de téléchargement.Exprime une valeur de texte par défaut entre guillemets. Exemple :“N/A”.Les valeurs de date par défaut doivent respecter le format suivant : aaaa-MM-jj'T'HH:mm:ss'Z'.Les valeurs numériques par défaut doivent correspondre aux valeurs indiquéesprecisionetscale.requiredBooléenNonIndique si un champ doit contenir une valeur. Défini surTrueSi un champ est obligatoire, sinon défini surFalse. 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 profiter des opérations de mise à jour, d'insertion et de suppression).Indique si un champ représente un code externe. Défini surTruepour désigner un champ comme code externe, sinon défini surFalse.Dans la mesure où les champs Code externe ne peuvent pas être nuls, vous devez préciser qu'ils sont tous obligatoires. Vous ne pouvez indiquer qu'un seul champ comme code externe.Indiquez un code externe dans les nouvelles tables si vous souhaitez bénéficier des fonctionnalités de mise à jour, d'insertion et de suppression.Pour utiliser les fonctionnalités de mise à jour, d'insertion et de suppression avec une table existante, vous devez la modifier afin qu'elle comporte un seul champ désigné comme code externe. L'API publique Prism ne prend pas en charge la modification d'une table contenant des données. Dans ce cas, effectuez la modification dans Workday.
Votre fichier CSV source décrit la table suivante :
Salarié | Matricule du salarié | Désignation de l'emploi | Date d'embauche | Salaire annuel |
|---|---|---|---|---|
Logan McNeil | 21001 | Vice-président, Ressources humaines | 01/01/2010 | 213 298 |
Oliver Reynolds | 21003 | Directeur des systèmes d'information | 01/01/2010 | 394 935 |
Maximilian Schneider | 21004 | Directeur des opérations | 01/01/2010 | 255 373 |
Teresa Serrano | 21005 | Contrôleur | 01/01/2010 | 291 785 |
Vous le 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" } }