Pivotar datos de columnas a filas

En ocasiones, el análisis de datos almacenados en formato de tabulación cruzada puede resultar complejo en Tableau. A la hora de trabajar con Microsoft Excel, archivos de texto, Hojas de cálculo de Google y fuentes de datos en formato PDF, puede convertir el formato de tabulación cruzada de los datos en un formato en columnas. Si trabaja con otras fuentes de datos, puede crear una Pivotar mediante SQL personalizado (Tableau Desktop).

Supongamos, por ejemplo, que tiene especificado el número de dispositivos vendidos por trimestre a tres proveedores distintos en tres campos diferentes. Puede pivotar los datos para que el proveedor se especifique en un campo y el número de dispositivos vendidos en otro.

Pivotar los datos

Una vez que haya configurado la fuente de datos, seleccione dos o más columnas en la cuadrícula. Haga clic en la flecha desplegable que se muestra junto al nombre de la columna y seleccione Pivotar. Se crearán dos nuevas columnas, "Nombres de campos de tabla dinámica" y "Valores de campos de tabla dinámica", que se agregarán a la fuente de datos. Las columnas nuevas sustituyen a las columnas originales que se hayan seleccionado para crear la tabla dinámica.

Añadir datos a la tabla dinámica

Para añadir más datos a la tabla dinámica seleccione otra columna, haga clic en la flecha desplegable que hay junto al nombre de la columna y seleccione Agregar datos a tabla dinámica. Antes de comenzar el análisis, compruebe que las columnas y los valores de la tabla dinámica tienen el aspecto deseado.

 

Para quitar una tabla dinámica, haga clic en la flecha desplegable que se muestra junto al nombre de la columna de tabla dinámica y seleccione Quitar tabla dinámica.

Solución de problemas con pivotes

  • Los campos en rojo de la vista y los campos con signos de exclamación en el panel Datos: como los campos originales se reemplazan con los nuevos campos pivote, ya no funcionarán las referencias a los campos originales en la vista. Como consecuencia, los campos se mostrarán en rojo en la vista, o bien aparecerá un signo de exclamación rojo junto al campo en el panel Datos.

  • Valores nulos en la cuadrícula: si se quitan todos los campos originales que se usaron en el pivote (por ejemplo, en una actualización de extractos), se mostrarán valores nulos en los campos dinámicos.

  • Sin opción de tabla dinámica: la tabla dinámica aparece al seleccionar dos o más columnas en una única fuente de datos de Microsoft Excel, archivo de texto, Hojas de cálculo de Google y .pdf. Si usa otra fuente de datos en Tableau Desktop, puede usar SQL personalizado para una tabla dinámica.

Pivotar mediante SQL personalizado (Tableau Desktop)

También puede usar SQL personalizado para crear una tabla dinámica de sus datos, incluso si no trabaja con fuentes de datos de Excel, archivos de texto, Hojas de cálculo de Google y .pdf. Si utiliza el operador UNION ALL en una consulta personalizada de SQL, puede tomar valores de distintas columnas y colocarlas en una columna nueva.

Por ejemplo, supongamos que tiene la tabla Contest.

Contest

RunnerStart TimeEnd Time
Amanda03/09/2016 15:0403/09/2016 15:25
Oscar03/09/2016 15:0403/09/2016 15:21
William03/09/2016 15:0403/09/2016 15:16

Para optimizar el análisis de estos datos en Tableau, puede utilizar la siguiente consulta personalizada de SQL para pivotar las columnas "Start Time" y "End Time" para que los valores estén en una sola columna.

Select [Runner]
, 'Start' as [Action]
, [Start Time] as [Time]
From [Contest]
Union ALL
Select [Runner]
, 'End' as [Action]
, [End Time] as [Time]
From [Contest]

La consulta personalizada de SQL anterior hace lo siguiente:

  • Pivota el encabezado de columna Start Time en el valor de cadena Start y añade el valor a una columna nueva, denominada Action.
  • Pivota el encabezado de columna End Time en el valor de cadena End y añade el valor a una columna nueva, denominada Action.
  • Pivota las columnas Start Time y End Time para que los valores estén en una columna nueva, denominada Time.

En la siguiente tabla se muestran los resultados de esta consulta de SQL personalizada.

RunnerActionTime
Amanda

Inicio

03/09/2016 15:04
OscarInicio03/09/2016 15:04
WilliamInicio03/09/2016 15:04
AmandaEnd03/09/2016 15:25
OscarEnd03/09/2016 15:21
WilliamEnd03/09/2016 15:16

 

Para pivotar datos mediante el SQL personalizado

  1. Conéctese a los datos.

  2. Haga doble clic en la opción Nueva personalización de SQL en el panel izquierdo. Para obtener más información, consulte Conectarse a una consulta de SQL personalizada.

  3. En el cuadro de diálogo Editar SQL personalizado, copie y pegue la siguiente consulta personalizada de SQL y reemplace el contenido por información de su tabla:

    Select [Static Column]
    , 'New Value (from Column Header 1)' as [New Column Header]
    , [Pivot Column Values 1] as [New Values]
    From [Table]
    Union ALL
    Select [Static Column]
    , 'New Value (from Column Header 2' as [New Column Header]
    , [Pivot Column Values 2] as [New Values]
    From [Table]
    Union ALL
    Select [Static Column]
    , 'New Value (from Column Header 3' as [New Column Header]
    , [Pivot Column Values 3] as [New Values]
    From [Table]

    Donde se aplica lo siguiente:

    • Columna estática: una lista de valores delimitados por coma con las columnas de Tabla, dimensiones y medidas, que no se deben incluir en el pivote.

    • Nuevo valor (de los encabezados de columna 1-3): nombres nuevos que se asignan a los encabezados de columna originales, que se utilizan como valores de fila en el pivote.

    • Valores de columna pivote 1-3: columnas cuyos valores deben pivotarse en una sola columna.

    • Nuevo encabezado de columna: el nombre de la nueva columna que contiene los nuevos valores de fila de Nuevo valor (de los encabezados de columna 1-3).

    • Nuevos valores: el nombre de la nueva columna que contiene los valores originales de Valores de columna pivote 1-3.

    • Tabla: la tabla a la que se ha conectado.

  4. Haga clic en Aceptar.

¡Gracias por sus comentarios!Sus comentarios se han enviado correctamente. ¡Gracias!