Ir al contenido

Se usa para convertir tablas de datos cortas y anchas en tablas de datos largas y estrechas. Las columnas seleccionadas se transponen y los nombres de columna se convierten en valores en varias filas.

Quizá el ejemplo más fácil de entender sea pensar en una tabla de datos con los meses como encabezados de columna:

Al despivotar esta tabla de datos, todas las columnas de meses se convertirían en filas.

ancha (antes)ProductJanFebWidget1020Gadget58despivotarlarga (después)ProductMonthValueWidgetJan10WidgetFeb20GadgetJan5GadgetFeb8
Melt (despivotar) convierte lo ancho en largo: las columnas Jan/Feb se contraen en filas Month + Value, identificadas por las columnas que usted deja sin cambios.

Al especificar qué columnas transponer y cuáles dejar sin cambios, se convierte en una herramienta potente. Realizar esta conversión en otras herramientas ETL podría requerir una docena de pasos más.

Origen y destino de Table Melt

Para establecer el origen y el destino, seleccione primero la tabla de datos de la que se extraerá en el menú desplegable Tabla de origen.

Tabla de destino

Tabla de destino

Para establecer la tabla de destino, seleccione una tabla existente con el menú desplegable Tabla de destino o haga clic en el signo “+” verde para crear una nueva tabla de destino.

Creación de tablas

Al crear una nueva tabla, podrá crearla como Vista o como Tabla.

Vistas:

Las vistas son útiles porque el tiempo que tarda en ejecutarse un paso es considerablemente menor que cuando se usa una tabla. La desventaja de las vistas es que no son útiles para explorar datos en el modo Detalles de la tabla.

Tablas:

Cuando se usa una tabla como destino, un paso tarda más en ejecutarse, pero la exploración de datos en el modo Detalles es mucho más rápida que con una vista.

Selección de datos de tabla previa a despivotar

Sección titulada «Selección de datos de tabla previa a despivotar»

Table Pre-Melt

Esta sección es un poco distinta de la selección de datos de tabla estándar. Básicamente sirve para especificar qué columnas se usarán en la operación de despivotado. Esto incluye las columnas de ID y las columnas de variable y valor.

Si se guarda con una tabla de origen elegida pero sin columnas de origen o sin columnas de destino, el lado vacío se rellena desde el origen, igual que lo haría Rellenar ambas tablas de asignación.

Para ofrecer la máxima flexibilidad, hay filtros de datos disponibles tanto para los datos de origen como para los de destino. En conjuntos de datos más grandes, puede resultar especialmente útil filtrar filas en el origen para que las operaciones restantes se realicen sobre un conjunto de datos más pequeño.

Cualquier expresión de Python válida sirve para obtener un subconjunto de los datos. Consulte Expresiones

para obtener más detalles y ejemplos.

Aplicar filtro secundario a los datos de resultado

Sección titulada «Aplicar filtro secundario a los datos de resultado»

Cualquier expresión de Python válida sirve para obtener un subconjunto de los datos. Consulte Expresiones para obtener más detalles y ejemplos

Segmentación final de la tabla de datos (límite)

Sección titulada «Segmentación final de la tabla de datos (límite)»

Para limitar los datos, simplemente marque la casilla Aplicar segmentador de filas y especifique lo siguiente:

  • Filas iniciales que omitir: filas de datos que se omiten (la fila de encabezado de columna no se incluye en el recuento)
  • Terminar en la fila: última fila de datos que se incluirá. Esto es distinto de contar filas al final para descartarlas

Diseño de Table Melt

Hay un botón Guess Layout para que Analyze haga un primer intento de especificar las columnas de ID. De forma predeterminada, todas las columnas de texto (tipo de datos Cadena) se colocan en la sección Keys. Las columnas numéricas no se colocan en Keys de forma predeterminada, pero se permite que estén ahí según las necesidades del modelo.

Las columnas de ID son las columnas que permanecen intactas. Estas columnas se repiten de forma efectiva para cada instancia de una combinación de variable y valor. En una tabla mensual, esto daría lugar a 12 repeticiones de las columnas de ID.

Las columnas de ID se pueden agregar de forma automática o manual. Para agregarlas automáticamente, use el botón Guess Layout mencionado anteriormente. Para agregar columnas adicionales manualmente, haga clic con el botón derecho en cualquier punto de la sección y seleccione Insertar fila o Anexar fila, para agregar una fila antes de la fila seleccionada o al final, respectivamente. Después, escriba el nombre de la columna que se usará como ID.

Para quitar un campo de IDs, simplemente haga clic con el botón derecho y seleccione Eliminar.

Nomenclatura de las columnas del resultado del despivotado

Sección titulada «Nomenclatura de las columnas del resultado del despivotado»

Hay 2 valores que especificar. Ambos se convertirán en nombres de columna de la tabla de datos de destino.

  • Nombre de la columna de variable: como se indica en la transformación, los nombres de variable se derivan de los nombres actuales de las columnas de origen. Básicamente, especifique un nombre de columna que represente los datos que originalmente representaban las columnas de la tabla de datos de origen.
  • Nombre de la columna de valor: especifique un nombre de columna para representar los datos que contiene la tabla de datos de origen. Normalmente será una unidad numérica: dólares, libras, grados, porcentaje, etc.

Más opciones de despivotado tiene estos campos:

  • Despivotar también todas las demás columnas que tenga la tabla al ejecutarse el paso (melt_all_columns): despivota también todas las columnas que tenga la tabla de origen cuando se ejecuta el paso, que el paso no enumere y que no sean columnas de ID, en el orden en que las tiene la tabla.
  • Nombre de la columna de posición (position_name): escribe además una columna con este nombre que contiene la posición, basada en 0, de la columna de valor de cada fila entre las columnas de valor.
  • Nombre de la columna de tipo (type_name): escribe además una columna con este nombre que contiene el tipo de datos de la columna de valor de cada fila, como integer, numeric, text, boolean, date o timestamp.

En la documentación anterior.