Descrivere i dati CSV di origine
Il componente
PrismAnalytics
di Workday Studio richiede una descrizione dei dati CSV di origine. È possibile creare il testo JSON nello strumento di propria scelta e utilizzarlo in Studio in un secondo momento. Esempio: incollarlo in un messaggio di testo nella scheda Message Builder
di uno step write
.- Creare un testo JSON contenente due nodi principali:
- parseOptions: informazioni sul formato dei dati CSV, inclusi il set di caratteri e il carattere delimitatore.
- fields: informazioni su ogni campo nei dati CSV, inclusi il tipo di dati e la formattazione.
- NelparseOptionsnodo, è possibile definire i seguenti campi:Nome campoTipoObbligatorioDescrizionecharsetNameOggettoSìIl set di caratteri del file di dati CSV. Esempio:"charset": { "id": "Encoding=UTF-8" }Al momento, il sistema supporta solo il formato di codifica UTF-8. Il sistema memorizza i dati in formato Unicode. I caratteri senza equivalente Unicode vengono archiviati come carattere sostitutivo Unicode, un punto interrogativo su sfondo a rombo nero.fieldsEnclosedByStringNoIl carattere utilizzato per racchiudere i campi nei dati CSV. L'impostazione predefinita è quella delle doppie virgolette. Se all'interno di un campo viene utilizzato un segno di virgoletta doppia, eseguire l'escape facendolo precedere da un altro segno di virgoletta doppia. Esempio:"fieldsEnclosedBy": "\""fieldsDelimitedByStringSìIl carattere utilizzato per separare i valori dei campi nei dati CSV. Esempio:"fieldsDelimitedBy": ","headerLinesToIgnoreNumeroNoIl numero di righe che il parser deve ignorare come intestazione. Impostare su0se i dati CSV non hanno un'intestazione. Esempio:"headerLinesToIgnore": 1typeOggettoSìIl tipo di file di input. Al momento, il sistema supporta solo i file delimitati. Esempio:"type": { "id": "Schema_File_Type=Delimited" }Questo valore fa distinzione tra maiuscole e minuscole. Prendere nota della D maiuscola in Delimitato.
- Nelfieldsnodo, è possibile definire i seguenti campi:Nome campoTipoObbligatorioDescrizioneordinalNumeroSìL'ordine del campo nel set di dati CSV (indice). I valori ordinali:
- Devono iniziare con 1.
- Devono essere contigui.
- Non possono saltare alcun numero.
- Avere un massimo di 1000.
nameStringSìIl nome del campo del set di dati CSV. I nomi del campo:- Devono essere univoci nel set di dati.
- Possono contenere fino a 255 caratteri.
- Possono includere solo caratteri alfanumerici e di sottolineatura.
- Devono iniziare con una lettera.
- Non possono terminare con un carattere di sottolineatura.
- Impossibile iniziare con WPA_.
descriptionStringNoLa descrizione del campo. Massimo 1000 caratteri. Esempio:"description": "The worker's full name."typeOggettoSìIl tipo di campo. Le opzioni sono:- Testo
- Numerico
- Booleano
- Data
"type": { "id":"Schema_Field_Type=Date"}parseFormatStringSì (per i tipi di data)Il formato della data. Esempio:"parseFormat": "dd-MM-yy HH24:mm:ss"precisionNumeroSì (per tipi numerici)Il numero massimo di cifre in un valore numerico. Include tutti i numeri a sinistra e a destra di una virgola decimale, ma non la virgola decimale stessa. Il valore massimo è 38. Esempio:"precision": 38scaleNumeroSì (per tipi numerici)Il numero di cifre a destra della virgola decimale in un valore numerico. Deve essere inferiore aprecisionvalore Esempio:"scale": 2defaultValueTestoNoIl valore predefinito di un campo, se nel file caricato non ne viene specificato alcuno.Esprimere un valore di testo predefinito tra virgolette doppie. Esempio:“N/A”.I valori di data predefiniti devono avere il seguente formato: aaaa-MM-gg'T'HH:mm:ss'Z'.I valori numerici predefiniti devono corrispondere a quelli specificatiprecisionescale.requiredBooleanoNoSpecifica se un campo deve contenere un valore. Impostare suTruese un campo è obbligatorio, altrimenti impostare suFalse. Se un campo è obbligatorio, il suo valore non può essere null in qualsiasi operazione di inserimento, aggiornamento e inserimento dati.externalIDBooleanoSì (per trarre vantaggio dalle operazioni di aggiornamento, inserimento ed eliminazione)Specifica se un campo rappresenta un ID esterno. Impostare suTrueper designare un campo come ID esterno, altrimenti impostare suFalse.Poiché i campi ID esterno non possono essere null, è necessario specificare che qualsiasi campo ID esterno è obbligatorio. È possibile specificare un solo campo come ID esterno.Specificare un ID esterno nelle nuove tabelle se si desidera sfruttare le funzionalità di aggiornamento, inserimento ed eliminazione.Per utilizzare la funzionalità di aggiornamento, inserimento ed eliminazione con una tabella esistente, è necessario modificarla in modo che abbia un unico campo designato come ID esterno. L'API pubblica di Prism non supporta la modifica di una tabella che contiene dati. In questi casi, apportare la modifica in all'interno del sistema.
Il file CSV di origine descrive la seguente tabella:
Dipendente | ID dipendente | Titolo impiego | Data assunzione | Stipendio annuo |
|---|---|---|---|---|
Logan McNeil | 21001 | Vicepresidente, Risorse umane | 1/1/2010 | 213298.00 |
Oliver Reynolds | 21003 | Responsabile delle informazioni | 1/1/2010 | 394935.00 |
Maximilian Schneider | 21004 | Direttore operativo | 1/1/2010 | 255373.00 |
Teresa Serrano | 21005 | Responsabile del controllo di gestione | 1/1/2010 | 291785,00 |
Lo descrivi utilizzando JSON in questo modo:
{ "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" } }