En esta ruta de aprendizaje conectada, crearemos una cadena que ilustra cómo convertir un archivo XML a CSV. Además, exploraremos cómo comparar conjuntos de datos para aislar diferencias.
Objetivo de aprendizaje principal | El conector XML |
Objetivos de aprendizaje secundarios | Filtros inteligentes de transformación tabular, cambio de delimitador y comandos de consulta avanzados |
Requisitos previos | Configurar la conexión del conector XML |
Plantilla de apoyo | CLP | Acceso a datos XML |
Paso 1: Crear una cadena
- Agregar una nueva Cadena
- Nombrar la cadena CLP | Acceso a datos XML
- Crea dos variables de cadena:
- En Variables de cadena, haga clic en el signo más dos veces
- Variable XML
- Nombre: cv-XML-Empleado
- Valor: https://cs-sftp-training-bucket.s3.amazonaws.com/cs-training/transformation-qs/employees.xml
- Variable CSV
- Nombre: cv-CSV-Empleado
- Valor: https://cs-sftp-training-bucket.s3.amazonaws.com/cs-training/transformation-qs/employee_detail.csv
- Salva la cadena
Paso 2: Recuperar datos en formato CSV
Utilice el conector HTTP para recuperar datos relacionados con el recuento de personal en formato CSV. En pasos posteriores, recuperaremos información de recuento de personal similar en formato XML y luego compararemos los conjuntos de datos para identificar diferencias.
- Agregue un comando GET desde el Conector HTTP al nodo Inicio.
- Configure el comando con lo siguiente:
Nombre | GET - Recuento de personal en formato CSV |
Nombre de usuario | <dejar en blanco> |
Contraseña | <dejar en blanco> |
Certificado CA | <dejar en blanco> |
Certificado | <dejar en blanco> |
Clave privada del certificado | <dejar en blanco> |
Mostrar respuesta | Comprobado |
dirección URL|URL | cv-CSV-Empleado Variable de cadena |
Cadena de consulta | <dejar en blanco> |
Tipo de contenido | texto/csv |
Respuesta | <dejar en blanco> |
- Guardar el comando
Paso 3: Recuperar datos en formato XML
Utilice el conector HTTP para recuperar datos relacionados con el recuento de personal en formato XML. Como se señaló en el paso 2, en un paso posterior compararemos el conjunto de datos XML con el conjunto de datos CSV para identificar diferencias.
- Agregue un comando GET desde el Conector HTTP a la cadena.
- Conecte el nodo de inicio (GET - Headcount en formato CSV) al comando GET .
- Configure el comando con lo siguiente:
Nombre GET - Recuento de personal en formato XML Nombre de usuario <dejar en blanco> Contraseña <dejar en blanco> Certificado CA <dejar en blanco> Certificado <dejar en blanco> Clave privada del certificado <dejar en blanco> Mostrar respuesta Comprobado dirección URL|URL cv-XML-Empleado Variable de cadena Cadena de consulta <dejar en blanco> Tipo de contenido aplicación/xml Respuesta <dejar en blanco> - Guardar el comando
Paso 4: Convertir el archivo XML a delimitado
Utilice el conector XML para convertir los datos XML a un formato CSV, lo que nos permitirá aprovechar los comandos posteriores en la cadena que esperan datos en un formato delimitado.
- Agregue una lista de elementos al comando CSV desde el conector XML a la cadena.
- Conecte el comando GET - Headcount en formato XML al comando Lista de elementos a CSV .
- En el parámetro Archivo de entrada , seleccione la Salida de respuesta del comando GET - Recuento de personal en formato XML .
- Deje el parámetro Entrada Texto en blanco.
- En el parámetro Ruta a la raíz , ingrese la siguiente información del sobre:
/datos_del_empleado/empleado
- Verifique el parámetro Resultado de vista previa .
- En la sección Columnas , haga clic en el botón Agregar 12 veces.
- Para cada una de las columnas agregadas, ingrese el nombre del campo del registro de datos obtenido previamente en el paso anterior, tanto en los campos Nombre de columna como XPath .
- Ejemplo: emp_id
- ⚠️ El campo XPath distingue entre mayúsculas y minúsculas y debe coincidir con el formato del sobre.
- En el parámetro Delimitador de múltiples valores, ingrese un carácter vertical (|).
- Guardar el comando
- Para cada una de las columnas agregadas, ingrese el nombre del campo del registro de datos obtenido previamente en el paso anterior, tanto en los campos Nombre de columna como XPath .
- Publicar, ejecutar y ejecutar la cadena.
- Revise la pestaña Registro del nodo de comando Lista de elementos a CSV - Todos los empleados y confirme que se muestra una lista de empleados.
⚠️ No omita la ejecución y la revisión de los resultados de este paso, ya que se creará una copia de este comando en la cadena y cualquier error deberá corregirse posteriormente en varias instancias del comando.
Paso 5: Cambie el XML convertido de delimitado por tabulaciones a delimitado por comas
Utilice el Conector de Transformación Tabular para convertir la salida generada a partir de la conversión XML de un formato delimitado por tabulaciones a un formato delimitado por comas.
- Agregue un comando Cambiar delimitador desde el conector Transformación tabular a la cadena.
- Conecte el comando Lista de elementos a CSV - Todos los empleados al comando Cambiar delimitador .
- Configure el comando con lo siguiente:
Nombre | Cambiar delimitador - Todos los empleados |
Archivo de entrada | Archivo convertido Salida de la lista de elementos a CSV - Comando Todos los empleados |
Delimitador de entrada | \t |
Delimitador de salida | , |
- Guardar el comando.
Paso 6: Compare los conjuntos de datos CSV y XML para identificar diferencias
Utilice la consulta avanzada para identificar sistemáticamente las diferencias entre los conjuntos de datos XML y CSV nativos. En este ejemplo, identifique cualquier registro en el conjunto de datos XML que sea diferente o que falte en el conjunto de datos CSV. Este ejercicio no identificará ningún registro adicional encontrado en el conjunto de datos CSV que no esté en el conjunto de datos XML.
- Agregue un comando Consulta avanzada desde el conector Transformación tabular a la cadena.
- Conecte el comando Cambiar delimitador - Todos los empleados al comando Consulta avanzada .
- Nombre del comando: Consulta avanzada - Todos los empleados
- En la sección Tablas , haga clic en el botón Agregar para agregar una segunda pestaña.
- Para la primera tabla, especifique el Resultado CSV Salida del comando Cambiar delimitador - Todos los empleados .
- Especifique XML como Nombre de tabla.
- Para la segunda tabla, especifique la Salida de respuesta del comando GET - Headcount en formato CSV .
- Especifique CSV como Nombre de tabla.
- En el parámetro Consulta, ingrese lo siguiente:
- Para la primera tabla, especifique el Resultado CSV Salida del comando Cambiar delimitador - Todos los empleados .
Seleccionar * de XML EXCEPTO Seleccionar * de CSV
-
- En los campos Delimitador de entrada y Delimitador de salida , especifique Coma.
- Marque la opción Vista previa de resultados .
- Comando Guardar
- Publicar, ejecutar y ejecutar la cadena.
- Revise la pestaña Registro del nodo Comando Consulta avanzada - Todos los empleados y confirme que los ID de los empleados coincidan con los siguientes para los registros devueltos por la consulta.
Identificación del empleado
01-6875791
10-4199621
38-3932553
63-0417180
78-3600453
85-6818050
97-2828467
Paso 7: Agregar un grupo de comandos
Agregue un grupo de comandos a la cadena para organizar mejor los comandos. Si bien este paso es necesario en términos de este ejercicio, no es un requisito técnico para la Cadena. Este paso es simplemente para ilustrar la capacidad de organizar los nodos de una cadena.
- Añade un Grupo de Comandos a la Cadena.
- Conecte el comando GET - Headcount en formato XML a la sección In del grupo de comandos.
- Haga clic en el Grupo de comandos y luego seleccione el ícono del cuentagotas para cambiar el color del comando a rojo.
- Nombre del grupo: Empleados activos
Paso 8: Filtrar datos CSV solo para empleados activos
Utilice un filtro inteligente para mantener solo los registros de los empleados en los que el empleado está activo. Al definir el filtro, asumimos que el campo terminado (termed) que está en blanco indica que un empleado está activo.
- Agregue un comando Filas de filtro inteligente desde el Conector de transformación tabular a la cadena.
- Conecte el Grupo de inicio del Grupo de comando al Comando Filtro inteligente .
- Editar el comando:
- Nombre el comando: Filas de filtro inteligente - Datos CSV - Empleados activos.
- En el parámetro Archivo de entrada, seleccione Respuesta Salida del comando GET - Headcount en formato CSV.
- Deje el parámetro de archivo Salida en blanco.
- Especifique Coma como el Delimitador.
- En la sección Filtros ,
- Haga clic en el botón Agregar en los filtros Texto .
- En el parámetro Nombre de columna , ingrese denominado.
- Marque la opción Sin distinción entre mayúsculas y minúsculas .
- En el menú desplegable Condición , seleccione Es igual a.
- En el parámetro Comparar texto , ingrese verdadero.
- Marque la opción No .
- Deje la casilla de verificación Recortar sin marcar. Este filtro identificará cualquier registro donde el campo denominado no contenga un valor de verdadero (es decir, falso o en blanco).
- Deje la opción Vista previa del resultado marcada.
- La opción Invertir permite que el Filtro inteligente mantenga (marcado) o elimine (desmarcado) todas las filas que coincidan con los criterios del filtro. En este ejercicio, queremos conservar todas las filas donde el campo denominado tenga un valor verdadero o en blanco. Para lograr esto, marcamos la opción Invertir .
- Guardar el comando.
Paso 9: Filtrar datos XML al convertirlos a delimitados
En este paso, filtramos los datos XML mientras los convertimos a un formato delimitado para identificar solo a los empleados activos. Este conjunto de datos se comparará posteriormente con el conjunto de datos CSV filtrado para identificar diferencias.
- Copiar la lista de elementos a CSV - Comando Todos los empleados .
- Conecte el Grupo de inicio del Grupo de comando a la Lista de elementos a CSV - Todos los empleados (Copiar) Comando .
- Editar el comando.
- Nombre el comando: Lista de elementos a CSV - Empleados activos.
- En el parámetro Ruta a la raíz, ingrese lo siguiente. El formato a continuación filtra en función del campo denominado que tenga un valor distinto de verdadero.
/datos_del_empleado/empleado[termed!='true']
- Guardar el comando.
Paso 10: Cambie los datos XML filtrados a delimitados por comas
Al igual que con la lista completa de empleados, la lista de empleados activos filtrada que se ha convertido de XML a delimitada por tabulaciones debe convertirse a delimitada por comas.
- Copie el comando Cambiar delimitador - Todos los empleados .
- Conecte el comando Lista de elementos a CSV - Empleados activos al comando Delimitador de cambio de elemento - Todos los empleados (Copiar) .
- Editar el comando.
- Nombra el comando: Cambiar delimitador - Empleados activos.
- Modifique el parámetro Archivo de entrada para utilizar el comando Archivo convertido Salida de la Lista de elementos a CSV - Empleados activos .
- Guardar el comando.
Paso 11: Verificar las diferencias con los empleados activos
Al igual que con la lista completa de empleados, la lista de empleados activos filtrada que se ha convertido de XML a delimitada por tabulaciones debe convertirse a delimitada por comas.
- Copie el comando Consulta avanzada - Todos los empleados .
- Conecte el Salida del Grupo de Comandos al Consulta Avanzada - Todos los Empleados (Copiar) Comando . Al conectar el comando Consulta avanzada - Todos los empleados al grupo de salida se garantiza que todo lo conectado al grupo de inicio finalice antes de que la cadena avance hacia los comandos en el grupo de salida.
- Editar el comando
- Nombre el comando: Consulta avanzada - Empleados activos.
- En la sección Tablas , modifique el parámetro Archivo para ambas tablas:
Tabla | Archivo |
XML|XML | Salida de resultados CSV del comando Delimitador de cambios - Empleados activos |
archivo .csv | Salida de fila de filtro inteligente de las filas de filtro inteligente: solo activas, comando de datos CSV |
- Guardar el comando.
Paso 12: Pruebe el ejercicio
Ahora que la cadena está completa, prueba el resultado.
- Publicar la cadena.
- Haga clic en Ejecutar y luego seleccione Ejecutar cadena.
- Una vez completada la cadena, haga clic en el nodo Consulta avanzada - Empleados activos.
- En la pestaña Salidas, confirme que se hayan generado 4 registros.
- Haga clic en la pestaña Registros y confirme que los ID de los empleados coincidan con los que aparecen a continuación para los registros devueltos por la consulta.
Identificación del empleado
01-6875791
63-0417180
78-3600453
85-6818050
Para obtener más información sobre la transformación de datos mediante cadenas, consulte Rutas de aprendizaje conectadas: Introducción a la transformación!