BASE DE CONOCIMIENTO

Crear vistas cuando los datos tienen formato de listas de texto


Publicado: 23 May 2018
Fecha de la última modificación: 11 Oct 2023

Pregunta

Cómo crear una vista con datos estructurados como listas de texto (o cadenas) en lugar de una fila para cada valor posible

Este artículo contiene dos ejemplos: crear una nube de palabras con nombres de mascotas, pero en cada fila de los datos subyacentes se enumeran todas las mascotas de un hogar como una lista separada por comas. O encontrar el promedio de edades de las mascotas por hogar, donde cada fila contiene una lista de edades separadas por comas.

Similar a la tabla siguiente:
                                         
ID de hogarNombres de mascotasEdad de mascota
1Rocky, Doug, Spot1, 6, 10
2Spot, Whiskers4, 5
3Rocky, Spot, Mittens2, 4, 6
4Minnie, Mickey1, 1
5Spot12
6Bella, Rosa7, 9
7Whiskers, Mittens, Snowball3, 2, 1
8Snowball, Cloudy, Spot7, 8, 2
9Spot9
10Spot, Rocky2, 1
11Spot7
12Spot, Rocky2, 5

 

Entorno

  • Tableau Desktop
  • Tableau Prep (opcional)

Respuesta

Opción 1: Usar Tableau Prep y Tableau Desktop
Los archivos "split then pivot prep flow.tfl" y "view from list of values.twbx" adjuntos demuestran las siguientes instrucciones:
Paso 1: Limpiar los datos en Tableau Prep
  1. Abra Tableau Prep y conéctese a la fuente de datos original.
  2. Sitúe el cursor sobre Datos originales, haga clic en el símbolo (+) y seleccione Agregar paso.
  3. En Limpieza 1, haga clic con el botón derecho en el campo que contiene la lista de valores, este ejemplo usa [Nombre de mascota], y seleccione Valores divididos > División personalizada…
  4. En el cuadro de diálogo División personalizada, haga lo siguiente y haga clic en Dividir.
    • Introduzca el separador, que es ,
    • Para División desactivada, seleccione Todo.
  5. Sitúe el cursor sobre Limpieza 1, haga clic en el símbolo (+) y seleccione Añadir tabla dinámica.
  6. Arrastre [Nombre de mascota: división 1], [Nombre de mascota: división 2] y [Nombre de mascota: división 3] a la columna Valores de tabla dinámica 1.
  7. Sitúe el cursor sobre Tabla dinámica 1, haga clic en el símbolo (+) y seleccione Añadir salida.
  8. En Salida, ejecute el flujo.
Paso 2: Crear la vista como normal en Tableau Desktop
Para obtener instrucciones sobre cómo crear una nube de palabras, consulte Crear una nube de palabras. Para obtener instrucciones sobre cómo crear un promedio, consulte Agregación de datos en Tableau.

Opción 2: Crear una nube de palabras solo con Tableau Desktop
Use la función de división personalizada integrada de Tableau Desktop para dividir la lista de nombres de mascotas, y cree un duplicado de la fuente de datos para cada campo de división. Luego cree una lista maestra de nombres de mascotas y únala a cada fuente de datos duplicada en un campo de división diferente. En el libro de trabajo adjunto, se usan datos de ejemplo para demostrar estas instrucciones.
Paso 1: Dividir las cadenas
  1. Conéctese a la hoja "Datos originales" del archivo de Excel adjunto.
  2. En la pestaña Origen de datos, haga clic con el botón derecho en [Nombres de mascotas] y seleccione División personalizada...
  3. En el cuadro de diálogo División personalizada, haga lo siguiente y haga clic en Aceptar:
    1. Para Usar el separador, introduzca "," sin comillas.
    2. Para División desactivada, seleccione Todo.
Paso 2: Crear un duplicado de la fuente de datos para cada campo de división
  1. Vaya a una hoja de trabajo.
  2. Navegue a Datos > Datos originales (cadena que se dividirá) > Duplicar.
  3. Repita el paso 5.
Paso 3: Unirse a la lista de mascotas maestra
  1. Conéctese a la hoja "Lista maestra" del archivo de Excel adjunto.
  2. Vaya a Datos > Editar relaciones...
  3. En el cuadro de diálogo Relaciones, haga lo siguiente:
    1. Para Fuente de datos principal, seleccione Lista maestra (cadena que se dividirá).
    2. Para Fuente de datos secundaria, seleccione Datos originales (cadena que se dividirá).
    3. Seleccione el botón de selección Personalizado.
    4. Haga clic en Añadir...
    5. En el cuadro de diálogo Añadir/Editar mapeo de campos, seleccione Nombres de mascotas (maestra) y Nombres de mascotas - División 1, y haga clic en Aceptar.
    6. Para Fuente de datos secundaria, seleccione Datos originales (cadena que se dividirá) (copia).
    7. Seleccione el botón de selección Personalizado.
    8. Haga clic en Añadir...
    9. En el cuadro de diálogo Añadir/Editar mapeo de campos, seleccione Nombres de mascotas (maestra) y Nombres de mascotas - División 2, y haga clic en Aceptar.
    10. Para Fuente de datos secundaria, seleccione Datos originales (cadena que se dividirá) (copia 2).
    11. Seleccione el botón de selección Personalizado.
    12. Haga clic en Añadir...
    13. En el cuadro de diálogo Añadir/Editar mapeo de campos, seleccione Nombres de mascotas (maestra) y Nombres de mascotas - División 3, y haga clic en Aceptar.
Paso 4: Crear un cálculo y la vista
  1. Cree un campo calculado con un nombre como "Tamaño de palabra" con un cálculo similar al siguiente:
    	ZN(SUM([Datos originales (cadena que se dividirá)].[Número de registros]) )
    	ZN(SUM([Datos originales (cadena que se dividirá) (copia 2)].[Número de registros]))
    	ZN(SUM([Datos originales (cadena que se dividirá) (copia)].[Número de registros]))
  2. Arrastre [Nombres de mascotas (maestra)] a Texto en la tarjeta Marcas.
  3. Arrastre [Tamaño de palabra] a Tamaño en la tarjeta Marcas.
  4. En el menú desplegable de la tarjeta Marcas, seleccione Texto.
 
Opción 3: Crear un promedio solo con Tableau Desktop
Paso 1: Dividir las cadenas
  1. Conéctese a la hoja "Datos originales" del archivo de Excel adjunto.
  2. En la pestaña Origen de datos, haga clic con el botón derecho en [Edad de mascota] y seleccione División personalizada...
  3. En el cuadro de diálogo División personalizada, haga lo siguiente y haga clic en Aceptar:
    1. Para Usar el separador, introduzca "," sin comillas.
    2. Para División desactivada, seleccione Todo.
Paso 2: Crear un cálculo y la vista
  1. Haga clic con el botón derecho [Edad de mascota - División 1] en el panel de datos y seleccione Cambiar tipo de datos > Número (entero).
  2. Haga clic con el botón derecho en [Edad de mascota - División 1] en el panel de datos y seleccione Convertir a medida.
  3. Repita los pasos 1 y 2 para todos los campos de división.
  4. Cree un campo calculado con un nombre como "Edad de mascota promedio por hogar" con un cálculo similar al siguiente:
    SUM( ZN([Edad de mascota - División 1])
    + ZN([Edad de mascota - División 2])
    + ZN([Edad de mascota - División 3]) )
    /
    ( COUNT([Edad de mascota - División 1])
    + COUNT([Edad de mascota - División 2])
    + COUNT([Edad de mascota - División 3]) )
  5. Arrastre [Edad de mascota promedio por hogar] a Texto en la tarjeta Marcas.
  6. Arrastre [ID de hogar] al estante Filas.

Información adicional

La opción 2 puede ocasionar problemas de rendimiento debido a la necesidad de duplicar la fuente de datos original. Para reducir el impacto, considere crear una fuente de datos exclusivamente para la vista de nube de palabras antes de duplicar la fuente de datos, y asegúrese de que esta nueva fuente de datos sea lo más pequeña posible.

Para reducir el tamaño de una fuente de datos, puede eliminar cualquier tabla cuyos campos no se utilicen y agregar filtros a la fuente de datos. Si usa una extracción, haga clic en el botón Ocultar campos no utilizados en el cuadro de diálogo Extracción de datos.
¿Fue de ayuda este artículo para resolver el problema?