Descrever os dados CSV de origem
O componente
PrismAnalytics
do Workday Studio requer uma descrição dos dados CSV de origem. Você pode criar o texto JSON na ferramenta da sua preferência e usá-lo depois no Studio. Exemplo: cole-o em uma mensagem de texto na guia Message Builder
de uma etapa write
.- Crie um texto JSON contendo dois nós principais:
- parseOptions: informações sobre o formato dos dados CSV, incluindo o conjunto de caracteres e o caractere delimitador.
- fields: informações sobre cada campo nos dados CSV, incluindo tipo de dados e formatação.
- Na categoriaparseOptionsVocê pode definir estes campos:Nome do campoTipoObrigatórioDescriçãocharsetNameObjetoSimO conjunto de caracteres do arquivo de dados CSV. Exemplo:"charset": { "id": "Encoding=UTF-8" }Atualmente, o Workday oferece suporte apenas ao formato de codificação UTF-8. Em última instância, o Workday armazena os dados no formato Unicode. Caracteres sem equivalente em Unicode são armazenados como o caractere de substituição Unicode, um ponto de interrogação em um fundo de losango preto.fieldsEnclosedByCadeia de caracteresNãoO caractere usado para delimitar campos nos dados CSV. O valor por padrão são aspas duplas. Se uma aspa dupla é usada em um campo, use como escape uma aspa dupla precedendo-a com outra aspa dupla. Exemplo:"fieldsEnclosedBy": "\""fieldsDelimitedByCadeia de caracteresSimO caractere usado para separar valores de campo nos dados CSV. Exemplo:"fieldsDelimitedBy": ","headerLinesToIgnoreNúmeroNãoO número de linhas que o analisador deve ignorar como um cabeçalho. Definir como0se os dados CSV não têm um cabeçalho. Exemplo:"headerLinesToIgnore": 1typeObjetoSimO tipo do arquivo de entrada. Atualmente, o Workday oferece suporte apenas a arquivos delimitados. Exemplo:"type": { "id": "Schema_File_Type=Delimited" }Esse valor diferencia maiúsculas de minúsculas. Observe o D maiúsculo em Delimitado.
- Na categoriafieldsVocê pode definir estes campos:Nome do campoTipoObrigatórioDescriçãoordinalNúmeroSimA ordem do campo no conjunto de dados CSV (índice). Os valores ordinais:
- Devem começar com 1.
- Devem ser contíguos.
- Não podem ignorar nenhum número.
- Ter no máximo 1.000.
nameCadeia de caracteresSimO nome do campo do conjunto de dados CSV. Os nomes de campos:- Devem ser exclusivos no conjunto de dados.
- Podem conter até 255 caracteres.
- Podem incluir somente caracteres alfanuméricos e de sublinhado.
- Devem começar com uma letra.
- Não podem terminar com um caractere de sublinhado.
- Não é possível começar com WPA_.
descriptionCadeia de caracteresNãoA descrição do campo. Máximo de 1.000 caracteres. Exemplo:"description": "The worker's full name."typeObjetoSimO tipo do campo. As opções são:- Texto
- Numérico
- Booliano
- Data
"type": { "id":"Schema_Field_Type=Date"}parseFormatCadeia de caracteresSim (para tipos de data)O formato da data. Exemplo:"parseFormat": "dd-MM-yy HH24:mm:ss"precisionNúmeroSim (para tipos numéricos)O número máximo de dígitos em um valor numérico. Inclui todos os números à esquerda e à direita do divisor decimal, mas não o próprio divisor. O valor máximo é 38. Exemplo:"precision": 38scaleNúmeroSim (para tipos numéricos)O número de dígitos à direita do ponto decimal em um valor numérico. Deve ser menor queprecisionValor Exemplo:"scale": 2defaultValueTextoNãoO valor por padrão de um campo, caso nenhum seja fornecido no arquivo carregado.Expresse um valor de texto por padrão entre aspas duplas. Exemplo:“N/A”.Os valores de data por padrão devem estar neste formato: yyyy-MM-dd'T'HH:mm:ss'Z'.Os valores numéricos por padrão devem corresponder aos valores especificadosprecisionescale.requiredBoolianoNãoEspecifica se um campo deve conter um valor. Definir comoTruese um campo for obrigatório, caso contrário, defina comoFalse. Se um campo é obrigatório, seu valor não pode ser nulo em nenhuma operação de inserção, atualização e upsert de dados.externalIDBoolianoSim (para aproveitar as operações de atualização, atualização/inserção e exclusão).Especifica se um campo representa uma ID externa. Definir comoTruepara designar um campo como uma ID externa, caso contrário, defina comoFalse.Como os campos de ID externa não podem ser nulos, você deve especificar que qualquer campo ID externa é obrigatório. Você pode especificar somente um campo como ID externa.Especifique uma ID externa em novas tabelas se quiser aproveitar as funcionalidades de atualização, atualização/inserção e exclusão.Para usar as funcionalidades de atualização, atualização/inserção e exclusão com uma tabela existente, você deve modificá-la para que tenha um único campo designado como ID externa. A API pública do Prism não oferece suporte à modificação de uma tabela que contém dados. Nesses casos, faça a modificação no Workday.
Seu arquivo CSV de origem descreve esta tabela:
Colaborador | ID de colaborador | Título de cargo | Data de admissão | Salário anual |
|---|---|---|---|---|
Logan McNeil | 21001 | Vice-presidente de Recursos Humanos | 1/1/2010 | 213298.00 |
Oliver Reynolds | 21003 | Diretor de informações | 1/1/2010 | 394935.00 |
Maximilian Schneider | 21004 | Diretor de operações | 1/1/2010 | 255373.00 |
Teresa Serrano | 21005 | Controladora | 1/1/2010 | 291.785,00 |
Você o descreve usando JSON desta forma:
{ "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" } }