Exemplo: trazer campos numéricos com formato internacional
Este exemplo descreve como usar o Prism Analytics para trazer dados externos que incluam um campo numérico contendo números com formato internacional.
Sua empresa tem um arquivo delimitado com dados numéricos formatados com pontos para separar milhares e vírgulas para separar decimais. Você quer trazer esses dados para o Prism Analytics como um campo numérico para poder executar cálculos com base nos dados. No entanto, o Workday só reconhece os dados em um arquivo externo como dados numéricos válidos quando:
- Usa um ponto como marca decimal.
- Não usa caractere para separar milhares.
Você tem um arquivo delimitado por vírgula (CSV) com estes dados:
Key,Amount 1,"9.000,1222-" 2,"11.111,2333" 3,"9.999.999,34-" 4,"7.777.777,45" 5,"8.888,56"
Em seu arquivo, nenhum valor tem mais de quatro dígitos após a marca decimal.
Criar uma tabela por carregamento de arquivo e usar o arquivo CSV para definir o esquema de origem. A tabela deve ter estes campos:
- Chavedo tipo Numérico
- Valordo tipo Texto
Crie um conjunto de dados derivado com base na tabela e use DDS Intl como o nome do conjunto de dados.
Segurança:
- DomínioPrism: Tables Createna área funcional Prism Analytics.
- DomínioPrism: Manage File Containersna área funcional Prism Analytics.
- DomínioPrism Datasets: Createna área funcional Prism Analytics.
- DomínioPrism Datasets: Managena área funcional Prism Analytics.
- Acesse a tarefaEdit Dataset Transformationspara o conjunto de dados DDS Intl.
- Crie um campo calculado Prism que remova os separadores de milhar substituindo qualquer ponto por uma cadeia de caracteres vazia.
- SelecioneAdicionar campo.
- Insira esta expressão no editor de expressões e pressione Enter ou Return no teclado:REGEX_REPLACE([Amount],"\.","")
- No painel do Inspetor, insira este valor como o nome do campo:Valor até milhares
- Crie um campo calculado do Prism que substitua a vírgula por um ponto decimal.
- SelecioneAdicionar campo.
- Insira esta expressão no editor de expressões e pressione Enter ou Return no teclado:REGEX_REPLACE([Amount no thousands],",",".")
- No painel do Inspetor, informe como nome do campoValor decimal
- Crie um campo calculado Prism que adicione à frente do valor o sinal negativo existente no fim do valor.
- SelecioneAdicionar campo.
- Insira esta expressão no editor de expressões e pressione Enter ou Return no teclado:CASE WHEN SUBSTRING([Amount decimal period], LENGTH([Amount decimal period])-1, LENGTH([Amount decimal period])) = "-" THEN CONCAT("-",REGEX_REPLACE([Amount decimal period],",","")) ELSE [Amount decimal period] END
- No painel do Inspetor, insira o seguinte como o nome do campo:Sinal de menos valor
- Crie um campo calculado Prism que remova qualquer sinal de menos no final do valor.
- SelecioneAdicionar campo.
- Insira esta expressão no editor de expressões e pressione Enter ou Return no teclado:CASE WHEN SUBSTRING([Amount minus sign], LENGTH([Amount minus sign])-1, LENGTH([Amount minus sign])) = "-" THEN SUBSTRING([Amount minus sign], 0, LENGTH([Amount minus sign])-1) ELSE [Amount minus sign] END
- No painel do Inspetor, insira este valor como o nome do campo:Valor final
- Crie um campo calculado Prism que converta o campo de texto [Amount final] em um campo numérico.
- SelecioneAdicionar campo.
- Insira esta expressão no editor de expressões e pressione Enter ou Return no teclado:CAST([Amount final] AS Decimal(20,4))
- No painel do Inspetor, insira este valor como o nome do campo:Valor numérico
- SelecioneAdicionar faseeGerenciar campos.
- Oculte esses campos clicando no ícone de olho:
- Valor
- Valor sem milhares
- Valor - Ponto decimal
- Sinal de menos valor
- Valor final
- SelecioneConcluído.
- Salveseu conjunto de dados.
O conjunto de dados contém estes campos:
- Chave como tipo Numérico
- Valor numérico como do tipo Numérico, com 20 dígitos antes da casa decimal e 4 dígitos após a casa decimal.