En esta Ruta de aprendizaje conectada, tomaremos un extracto de datos de un sistema y realizaremos una serie de transformaciones para preparar el archivo de datos para cargarlo en otro sistema.
Objetivo principal de aprendizaje | Para destacar algunos de los sencillos pero potentes comandos del conector Tabular Transformation Connector que pueden utilizarse para abordar necesidades de transformación comunes |
Requisitos previos | Configure HTTP, File Utilities, y Tabular Transformation Connector Connections |
Plantilla de la cadena de apoyo | CLP | Transformaciones tabulares |
Paso 1: Crear una cadena
- Añadir una nueva cadena
- Nombre de la cadena: CLP | Transformaciones tabulares
- Crear una variable de cadena
- Nombre: cv-TT-SampleData
- Valor: https://cs-sftp-training-bucket.s3.amazonaws.com/cs-training/transformation-qs/sample.txt
- Salvar la cadena
Paso 2: Recuperar datos de un sistema fuente
Utilice el conector HTTP para ilustrar cómo recuperar datos de una fuente de datos para la que no existe un conector Workiva.
- Añade un comando GET desde el conector HTTP al nodo Inicio
- Configure el Comando con lo siguiente:
Paso 3: Actualizar las cabeceras del fichero de datos
Actualice las cabeceras del fichero para que coincidan con los nombres de campo del sistema al que se cargará el fichero de datos una vez finalizadas las transformaciones. El comando Map Headers nos permite actualizar el nombre del campo basado en el índice permitiendo que el comando sea más flexible en el caso de que el nombre de un campo cambie en el futuro.
- Añada un comando Map Headers del conector de transformación tabular a la cadena
- Conecte el nodo de inicio (HTTP - Get Source System Data) al comando Map Headers
- Edita el comando:
- Nombre del comando: Mapear cabeceras
- Haga clic en el parámetro Archivo de entrada . El panel de selección de variables se abre a la izquierda. En la sección Comando , expanda el comando Obtener - Datos del sistema de origen y seleccione la salida Respuesta
- Deje en blanco el parámetro Archivo de salida
- Marque la casilla Vista previa de los resultados
- Deje el Delimitador como Coma ya que el archivo de datos del sistema fuente está delimitado por comas
- En el parámetro Input Headers , introduzca números del cero (0) al siete (7), ya que el archivo tiene ocho campos y las listas se basan en ceros. Asegúrate de pulsar la tecla Intro después de escribir cada número
- Marque la casilla Usar índices. Esto indica al comando que las cabeceras de entrada se basan en la posición en el archivo y no en el nombre real de la columna.
- En las cabeceras de salida, especifique el nombre de los nuevos campos que se van a crear. El orden es importante, ya que la primera entrada de la lista sustituirá al nombre de cabecera del primer campo del archivo del sistema fuente y así sucesivamente para cada una de las entradas restantes. Escriba las siguientes cabeceras y pulse la tecla Intro después de cada una:
- Producto
- Mercado
- Mes
- Escenario
- Ventas
- COGS
- Gastos
- Ingresos de explotación
- Guardar el comando
Paso 4: Mover columnas de datos a filas
A continuación, actualice el archivo de datos para transponer las múltiples columnas de datos en filas y crear una única columna de datos. Esta operación se denomina "despivotar". La operación unpivot alinea los datos en el formato esperado, una sola columna que contiene todos los datos, del sistema posterior.
- Añadir un comando Unpivot del conector de transformación tabular a la cadena
- Conecte el comando Map Headers al comando Unpivot
- Editar el comando
- Nombre el comando: Unpivot - Mover Medidas a Filas
- Seleccione el parámetro Map Headers Output para el Input file
- La salida de las cabeceras del mapa sigue estando delimitada por comas, por lo que dejamos el delimitador como Comma
- En el parámetro Agregación , seleccione Suma. Al elegir Suma, las filas resultantes creadas por la desagrupación que sean iguales en todas las columnas agregarán los valores de los datos a un único punto de datos.
- En el parámetro Nueva etiqueta de columna , introduzca Medidas. Esta es la cabecera de la nueva columna que se creará y se rellenará con los valores de cabecera de las columnas que se están despivotando.
- En el parámetro Etiqueta de columna de datos , introduzca Importe
- Los campos Cabeceras de Datos, Nombre de Columna Pivote Inicial, Nombre de Columna Pivote Final, Índice de Columna Pivote Inicial, y Índice de Columna Pivote Final se utilizan para realizar la operación de pivote. No es necesario especificar todos estos parámetros.
- Si se utiliza el parámetro Data Headers , los demás parámetros deben dejarse en blanco. El parámetro Cabeceras de datos permite especificar el nombre de las columnas. Este parámetro es útil para campos que no son concurrentes/laterales.
- Los parámetros Starting/Ending Column Name permiten especificar el nombre de la primera y última columna (para un rango concurrente). Si se utilizan estos parámetros, el parámetro Cabeceras de datos así como el Índice de columna inicial/final deben dejarse en blanco. Si Ending Column Name se deja en blanco, la desagrupación se realizará para todos los campos después de (e incluyendo) Starting Column Name.
- Los parámetros Starting/Ending Column Index permiten especificar la posición de la primera y la última columna (para un rango concurrente). Si utiliza estos parámetros, el parámetro Cabeceras de datos así como Nombre de columna inicial/fin deben dejarse en blanco. Si el índice de columna final se deja en blanco, la desagrupación se realizará para todos los campos posteriores (e incluidos) al índice de columna inicial . En este ejercicio utilizamos estos parámetros.
- En Starting Pivot Column Index, introduzca 4. Esto indica al comando que debe pivotar a partir de la quinta columna, ya que el índice está basado en cero.
- Deje en blanco el índice de la columna pivotante final de .
- Marque la opción Vista previa de los resultados
- Guardar el comando
Paso 5: Actualizar escenario
A continuación, cambia el nombre del escenario. Esto ilustra una transformación sencilla y puntual que se presta bien a Integration Studio. Data Prep agiliza considerablemente las transformaciones de nombres más extensas o complejas.
- Añada un comando Buscar y reemplazar desde el conector de transformación tabular a la cadena
- Conecte el comando Unpivot al comando Buscar y reemplazar
- Edita el comando:
- Nombra el comando: Buscar y reemplazar - Presupuesto por Plan
- En el parámetro Archivo de entrada , seleccione el Resultado pivotado Salida del comando Unpivot
- Deje en blanco el parámetro Fichero de salida
- Marque la casilla Vista previa de los resultados
- El archivo sin dividir sigue estando delimitado por comas, así que especifique el delimitador como Comma
- Vamos a buscar el texto Presupuesto y a sustituirlo por el texto Plan. En el parámetro Buscar patrón , introduzca Presupuesto.
- En el parámetro Match Pattern Value , seleccione Exact
- Exacto significa que buscamos todo el texto especificado en los parámetros del patrón Buscar. Para buscar subcadenas o comodines, tendríamos que utilizar el tipo de patrón Expresión regular (regex).
- En el parámetro Valor de sustitución , introduzca Plan. Cualquier instancia del texto Presupuesto se sustituirá por el texto Plan.
- El parámetro Replace matches only no es aplicable a las coincidencias exactas y puede dejarse sin marcar, ya que es el valor predeterminado.
- Deje sin marcar la opción Case Insensitive . Esto hace que la operación Buscar y reemplazar distinga entre mayúsculas y minúsculas, de modo que Presupuesto será reemplazado por Plan pero presupuesto no.
- La columna Escenario donde se encuentra el Patrón de búsqueda (Presupuesto) en la cuarta columna. En el parámetro Columnas , introduzca un número tres (3), ya que el parámetro está basado en cero.
- Guardar el comando
Paso 6: Conserve sólo los datos del Plan de Nueva York
A continuación, mantenga sólo el Plan de Nueva York utilizando el comando Filtro inteligente. Este Filtro Inteligente nos permite especificar condiciones basadas en los datos que se utilizarán para mantener o eliminar determinadas filas del conjunto de datos.
- Añada un comando Filtro inteligente de filas del conector de transformación tabular a la cadena
- Conecte el comando Filtro inteligente de filas al comando Buscar y reemplazar
- Edita el comando:
- Nombre del comando: Filtro Inteligente Filas - Sólo Plan Nueva York
- En el parámetro Archivo de entrada, seleccione la salida Buscar y reemplazar del comando Buscar y reemplazar
- Deje en blanco el parámetro Fichero de salida
- Especifique Coma como Delimitador
- En la sección Filtros , se pueden utilizar los filtros Texto, Númeroy Fecha . Se pueden especificar múltiples condiciones de filtrado. Si se aplican filtros a diferentes tipos (Texto, Número, Fecha), el Operador de la parte superior izquierda debe especificarse en consecuencia. Si se aplican varias condiciones dentro de un tipo determinado (por ejemplo, Texto), es necesario especificar el Operador para ese tipo de filtro.
- En este ejercicio, aplicaremos filtros basados en texto para que el Operador global pueda ser Y o O.
- Si es necesario, ajuste el Operador General a AND
- Haga clic en el botón Añadir de los filtros Text
- En el parámetro Nombre de columna , introduzca Escenario
- No marque la casilla Distinto de mayúsculas y minúsculas
- En el menú desplegable Condición , seleccione Igual a
- En el parámetro Compare Text , introduzca Actual
- Deje sin marcar las casillas No y Recortar
- Este filtro se utilizará para eliminar cualquier registro en el que el campo Escenario contenga el valor Actual
- Vuelva a pulsar el botón Añadir en la sección Filtros de texto
- Establezca el Operador de filtros de texto en OR
- Seleccione la combinación OR para filtrar tanto Actual como Nueva York
- En la segunda condición, especifique Market como nombre de columna
- Establezca la condición a Equals
- Especifique el texto de comparación como Nueva York
- Por último, y marque la opción No
- Establezca el Operador de filtros de texto en OR
- Deje marcada la opción Vista previa del resultado
- Si es necesario, ajuste el Operador General a AND
- En este ejercicio, aplicaremos filtros basados en texto para que el Operador global pueda ser Y o O.
- La opción Invertir permite que el filtro inteligente mantenga (marcada) o elimine (desmarcada) todas las filas que coincidan con los criterios del filtro. En este ejercicio, queremos eliminar todas las filas donde el Escenario es igual a Actual o el Mercado no es igual a Nueva York. Para ello, desmarcamos la opción Inversa .
- Guardar el comando
Paso 7: Añadir una columna de año
Por último, añada una columna adicional al conjunto de datos para indicar el Año de los datos.
- Añadir un comando de inserción de columna del conector de transformación tabular a la cadena
- Conectar el comando Insertar columna al comando Filtro inteligente de filas
- Edite el Comando y configure con lo siguiente:
Nombre | Insertar columna - Año del plan |
Fichero de entrada | Filtro inteligente Fila Salida |
Archivo de salida | <dejar en blanco> |
Vista previa de los resultados | Comprobado |
Deliimiter | Coma |
Texto de cabecera | Año |
Valor de los datos | 2022 |
Insertar índice | 3 |
- Guardar el comando
Paso 8: Probar el ejercicio
Ahora que la cadena está completa, prueba el resultado.
- Publicar la cadena
- Haga clic en Ejecutar y, a continuación, seleccione Ejecutar cadena
- Una vez completada la Cadena, haga clic en el nodo Insertar Columna - Año Plan
- En la pestaña Salidas, confirme que se han emitido 385 registros
- Haga clic en la pestaña Registros y confirme los datos según la imagen siguiente
Ficha Salida
Ficha Registros
Para obtener más información sobre la transformación de datos mediante cadenas, consulta Connected Learning Paths - Transformation Introduction