Ejemplo: incorporación de campos numéricos con formato internacional
Este ejemplo describe cómo usar Prism Analytics para incorporar datos externos que incluyen un campo numérico que contiene números con formato internacional.
Su empresa tiene un archivo delimitado con datos numéricos con formato que utiliza puntos para separar los miles y comas para separar los decimales. Quiere incorporar estos datos a Prism Analytics como un campo numérico para poder realizar cálculos en los datos. Sin embargo, Workday solo reconoce los datos de un archivo externo como datos numéricos válidos cuando:
- Utiliza un punto como punto decimal.
- No utiliza ningún carácter para separar miles.
Tiene un archivo delimitado por comas (CSV) con los siguientes datos:
Key,Amount 1,"9.000,1222-" 2,"11.111,2333" 3,"9.999.999,34-" 4,"7.777.777,45" 5,"8.888,56"
En su archivo, ningún valor tiene más de 4 dígitos después de la marca decimal.
Cree una tabla mediante la carga de archivos, utilizando el archivo CSV para definir el esquema de origen. La tabla debe tener los siguientes campos:
- Clavede tipo Numérico
- Importede tipo Texto
Cree un conjunto de datos derivado basado en la tabla y utilice DDS Intl como nombre de conjunto de datos.
Seguridad:
- DominioPrism: Tables Createen el área funcional Prism Analytics.
- DominioPrism: Manage File Containersen el área funcional Prism Analytics.
- DominioPrism Datasets: Createen el área funcional Prism Analytics.
- DominioPrism Datasets: Manageen el área funcional Prism Analytics.
- Acceda a la tareaEdición de transformaciones de conjunto de datospara el conjunto de datos DDS Intl.
- Cree un campo calculado Prism que elimine los separadores de miles sustituyendo cualquier periodo por una cadena vacía.
- SeleccioneAñadir campo.
- Introduzca esta expresión en el editor de expresiones y pulse Intro o Retorno en su teclado:REGEX_REPLACE([Amount],"\.","")
- En el panel de inspección, introduzca este nombre de campo:Importe sin miles
- Cree un campo calculado Prism que sustituya la coma decimal por un punto decimal.
- SeleccioneAñadir campo.
- Introduzca esta expresión en el editor de expresiones y pulse Intro o Retorno en su teclado:REGEX_REPLACE([Amount no thousands],",",".")
- En el panel de inspección, introduzca el siguiente nombre de campo:Periodo decimal de importe
- Cree un campo calculado Prism que añada cualquier signo negativo que exista al final del valor al principio del valor.
- SeleccioneAñadir campo.
- Introduzca esta expresión en el editor de expresiones y pulse Intro o Retorno en su 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
- En el panel de inspección, introduzca el siguiente nombre de campo:Importe signo menos
- Cree un campo calculado Prism que elimine cualquier signo menos al final del valor.
- SeleccioneAñadir campo.
- Introduzca esta expresión en el editor de expresiones y pulse Intro o Retorno en su 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
- En el panel de inspección, introduzca el siguiente nombre de campo:Importe final
- Cree un campo calculado de Prism que convierta el campo de texto [Amount final] en un campo numérico.
- SeleccioneAñadir campo.
- Introduzca esta expresión en el editor de expresiones y pulse Intro o Retorno en su teclado:CAST([Amount final] AS Decimal(20,4))
- En el panel de inspección, introduzca este nombre de campo:Importe Numérico
- SeleccioneAñadir fasey, a continuación,Gestionar campos.
- Oculte estos campos haciendo clic en el icono de ojo:
- Importe
- Importe sin miles
- Periodo decimal de importe
- Signo menos de importe
- Importe final
- SeleccioneTerminar.
- Guardesu conjunto de datos.
El conjunto de datos contiene los siguientes campos:
- Clave como tipo Numérico
- Importe numérico como tipo Numérico, con 20 dígitos antes del decimal y 4 dígitos después.