La característica de relaciones de Tableau 2020.2 introdujo nuevas capacidades de modelado de datos

Lo que facilita la combinación de varias tablas para el análisis.  Cubrimos dos tipos de nueva semántica (reglas que sigue Tableau) para combinar datos de varias tablas relacionadas:

  1. Agregación inteligente: las medidas se agregan automáticamente al nivel de detalle de su tabla de origen (pre-unión). Esto difiere de las uniones, donde las medidas olvidan su fuente y adoptan el nivel de detalle de la tabla posterior a la unión.
  2. Combinaciones contextuales: los valores no coincidentes se controlan individualmente por visualización, por lo que una sola relación admite simultáneamente todos los tipos de combinación. La promesa de relaciones (y lo que permite generar cualquier tipo de combinación) es que siempre se conservan todos los registros de las tablas de medida.

Este post cubre consejos y trucos para trabajar con relaciones. Cubriremos dos temas:

  1. Filtros
    • Ocultar valores null sin igual
    • Optimización del rendimiento
  2. Cálculos a nivel de fila
    • Comprender las constantes en un mundo de varias tablas
    • Contar una fila en un cálculo entre tablas

Una nota rápida antes de profundizar:Los ejemplos siguientes se basan en un conjunto de datos de librería. Si desea seguir el seguimiento en Tableau Desktop, puede descargar el libro de trabajo aquí.

Filtros

Consejo: Los valores null no coincidentes en una visualización aparecen en los filtros

image10 0

Todos los libros tienen autores, mientras que sólo se publican algunos libros. Aparece un valor null no coincidente en el filtro del editor para libros no publicados.

gif 1 1

Truco: Ocultar «Null» en un filtro interactivo

Es posible que desee mantener el filtro ordenado excluyendo «Null» como una opción en la lista, mientras sigue incluyendo los valores NULL en el análisis cuando se selecciona «Todos» en el filtro. Puesto que un filtro hereda su dominio de la visualización correspondiente, puede lograr esto mostrando el filtro de una hoja que no tiene ningún valor NULL no coincidente.

gif 2 1

Consejo: Solo las medidas introducen valores NULL sin igual en los filtros

Una promesa de relaciones es que los valores de medida no coincidentes nunca se quitarán al combinar varias tablas. Por lo tanto, agregar una medida de otra tabla a una visualización puede introducir valores NULL no coincidentes y, por lo tanto, hacer que «Null» aparezca en los filtros.

gif 3 1

Agregar dimensiones de otras tablas no expandirá el dominio de un filtro a menos que muestre filas o columnas vacías.

Truco: Mejorar el rendimiento de las consultas de los filtros de panel

Puede optimizar el rendimiento de las consultas agregando filtros a un panel desde hojas que no tienen valores NULL no coincidentes. Una forma sencilla de garantizar esto es mostrar filtros de vizzes que no combinan ninguna tabla. Esto garantiza que la consulta que rellena la lista de valores del filtro no tiene combinaciones.

Por ejemplo, si mostramos el filtro del publicador desde una visualización que solo tiene una medida de la tabla Publisher, no hay combinaciones en la consulta de dominio de filtro.

En cambio, si mostramos el filtro del publicador de una visualización que tiene una medida de la tabla Editions, el filtro obtiene sus valores de una consulta que une Editores y Ediciones. Aquí, la ausencia de «Null» significa que todas las ediciones se publican, no que la unión fue eliminada. Por lo tanto, la mejora del rendimiento de las consultas del filtro se logra mediante la creación del filtro a partir de una hoja sin una combinación.

gif 4 1

Otras formas de optimizar las consultas de filtro incluyen mostrar filtros de panel de vizzes donde se cumple una de las siguientes opciones:

  • Todas las medidas son de la misma tabla que el campo de filtrado, OR
  • Todas las medidas proceden de tablas cuyos registros existen en la tabla con el campo de filtrado. (Es decir, «Todos los registros coinciden» en la configuración de integridad referencial de las tablas con las medidas de la tabla con el campo de filtrado.)

Dado que el número de hojas de trabajo también afecta al rendimiento, este matiz podría ser importante para paneles muy complejos.

Cálculos a nivel de fila

Consejo: Las constantes adoptan el nivel de detalle de su cálculo

Antes de las relaciones, un origen de datos tenía un único nivel de detalle. Todos los cálculos constantes tenían ese nivel de detalle. Por ejemplo, devolvió el número total de registros de la tabla.SUM(1)

En un origen de datos de varias tablas con relaciones, hay muchos niveles de detalle. Un cálculo constante como tiene su propio nivel de detalle, esencialmente una sola fila, y devuelve «1».SUM(1)

gif 5 0

Si se utiliza una constante en un cálculo que contiene un campo, la constante adopta el nivel de detalle de la tabla de ese campo.

Por ejemplo, el cálculo siguiente, si se suma en la vista, cuenta el número de libros de ficción (porque el campo de género es de la tabla Libro).

image11

Dado que el nivel de detalle de este cálculo es Book, se coloca en consecuencia en el panel Datos.

gif 6 0

Truco: Cambiar el nivel de detalle de una constante con una condición verdadera no nula de una tabla más granular

Además de la cantidad de Libros de Ficción,supongamos que queríamos calcular el número de Libros de Ficción Vendidos. Mientras que Harry Potter y la piedra filosofal es un solo libro, ha vendido 120 copias. La cardinalidad de esta relación son muchas las ventas para un libro.

Podemos calcular el número de libros de ficción vendidos añadiendo la condición al cálculo anterior.ISBN (Sales) = ISBN (Sales)

image13 0

Aunque esta condición no cambia el valor de la columna, ya que siempre es verdadera, cambia el nivel de detalle del cálculo.

Debido a la relación de uno a varios entre Libros y Ventas, el nivel de detalle de la tabla unida es Ventas. Dado que la constante adopta el nivel de detalle de la tabla unida, el significado de «1» cambia de un libro un libro vendido.

gif 7 0

Tenga en cuenta que los cálculos de nivel de fila entre tablas no se agrupan con ninguna tabla en el panel Datos.

Un cálculo de nivel de fila entre tablas genera una combinación de nivel de fila, lo que puede afectar al rendimiento. Asegúrese de que la cardinalidad correcta está establecida en las Opciones de rendimiento de la relación.

Truco: Simplifique la fórmula contando un campo no nulo

Un cálculo equivalente y más sencillo para el número de libros de ficción vendidos es contar un campo no nulo en la tabla Ventas para todas las ventas de ficción.

pasted image 0 18

Puesto que ISBN es un campo de cadena grande, puede ser más eficaz contar un campo numérico no nulo en su lugar.

pasted image 0 1 3
gif 8 0

Consejo: Cuente una fila en una tabla de granularidad más alta con una clave principal

Además de la número de libros de ficción vendidos, supongamos que desea calcular el número de autores de ficción.

Hay muchos libros para un autor, por lo que un cálculo a nivel de fila en Libro y Autor está en el nivel de detalle de Libro.

En el ejemplo anterior se utiliza una agregación de recuento de cualquier campo no nulo para contar una fila en la tabla «muchos» de una relación de uno a varios. El recuento de una fila en la tabla «uno» requiere una agregación de recuento distinto en un identificador único distinto (conocido como clave principal).

Esto puede sonar aterrador, pero no se preocupe, es idéntico al cálculo que escribiría si las tablas estuvieran unidas.

unnamed 3

Este campo debe usar una agregación ya que hay varios libros por autor. contaría cada instancia del ID de autor, que es el número de libros de ficción. COUNTDCOUNT

Consejo: Los cálculos a nivel de fila en tablas utilizan combinaciones internas

Supongamos que desea calcular el número de libros no publicados. Puede intentar calcular esto siguiendo la misma plantilla que el cálculo anterior, pero con una condición de comprobación nula en Ediciones. (Si el BookID de la Edition tabla es null, ISNULL identificará eso y los valores NULL se reemplazarán por el id de libro de la Book tabla.)

pasted image 0 2 1

Esto devuelve 0 porque los cálculos entre tablas usan combinaciones internas—cuyo resultado es que los libros sin ediciones se quitan por la combinación interna) y, por lo tanto, no están presentes para que se cuenten con este cálculo de nivel de fila.

gif 9

Truco: utilice una expresión LoD para mantener valores NULL no coincidentes en los cálculos entre tablas

Aunque un cálculo de nivel de fila entre tablas no pertenece a ninguna tabla, puede incorporar un cálculo en una tabla específica con una expresión de nivel de detalle. Esto garantiza que el cálculo tiene el mismo conjunto de registros que su tabla, lo que le permite conservar valores NULL no coincidentes que se quitan en los cálculos de nivel de fila.

Piense en la siguiente expresión de LoD como la tabla Book que llega a la tabla Edition para obtener el número de ediciones de cada libro. Si no hay ediciones para el libro, sabemos que es un libro inédito. Dado que la expresión LoD está en el nivel de detalle Libro, «1» cuenta un libro no publicado.

pasted image 0 3 0

Observe que este cálculo se agrupa con Book en el panel Datos.

gif 10

Resumen

Las relaciones permiten un análisis más sencillo en todas las tablas con agregaciones inteligentes y análisis más flexibles con combinaciones contextuales. Internalizar un par de aspectos clave de las relaciones te ayudará a entender los consejos y trucos que se muestran aquí para que no tengas que memorizarlos.

  1. Siempre se conservan todos los registros de las tablas de medida. Esto puede ayudarle a optimizar la visualización y el rendimiento de los filtros.
  2. Una fila puede representar muchas cosas diferentes,ahora que los orígenes de datos admiten varias tablas en diferentes niveles de detalle. Esto significa que las constantes y los cálculos de nivel de fila pueden tener varios niveles de detalle.

Tomado de Blog Tableau y producido por :

Gobierno de Datos : DAMA, El DMBok 2 y el Big Data