BASE DE CONOCIMIENTO

Los totales generales y subtotales no muestran las cifras esperadas con los cálculos de tabla


Publicado: 03 Jul 2013
Fecha de la última modificación: 15 Dec 2023

Problema

Al usar cálculos de tabla, es posible que los totales generales y los subtotales no muestren los resultados esperados. La opción de cambiar el tipo de agregación del total general a una opción distinta de Automático está en gris.

Por ejemplo, la vista muestra la diferencia en el promedio de las ventas regionales entre trimestres. El total general automático es incorrecto: muestra la diferencia entre el promedio de ventas de los trimestres completos, no la suma de las diferencias entre el promedio de las ventas regionales.

Entorno

  • Tableau Desktop
  • Cálculos de tablas

Solución

Opción 1: reescribir el cálculo con funciones LOD

En algunos casos, quizá se pueda reescribir el cálculo con funciones de nivel de detalle (LOD) en lugar de con funciones de tablas. Consulte Crear expresiones de nivel de detalle en Tableau para obtener más información.

Una vez reescrito el cálculo, el total general puede cambiarse mediante la configuración Total con. Consulte las instrucciones en Configurar la agregación de totales.
 

Opción 2: añadir más detalle a la vista y ajustar los cálculos de tabla

Los totales son filas especiales que ignoran el detalle del estante Filas. Por lo tanto, para forzar que el cálculo de tabla se realice en el nivel de detalle correcto en el total general, es preciso añadir dimensiones adicionales a la vista. Después, todas las medidas de la vista se tendrán que modificar para dar cabida a las dimensiones adicionales.

Las instrucciones siguientes empiezan en la hoja de trabajo "Ejemplo 1: vista original" en el libro de trabajo que hay en la sección Archivos adjuntos, a la derecha de este artículo. Las instrucciones sobre cómo crear la vista original se han insertado en el libro de trabajo.
  1. Por cada dimensión que haya en el estante Filas, haga clic con el botón derecho en la dimensión en el panel Datos y seleccione Duplicar. En este ejemplo, la única [Región] está en el estante Filas.
  2. Arrastre [Región (copia)] a Detalle, en la tarjeta Marcas.
  3. Cree un campo calculado:
    1. Seleccione Análisis > Crear campo calculado.
    2. En el cuadro de diálogo Crear campo calculado, lleve a cabo lo siguiente y haga clic en Aceptar:
    3. Asigne un nombre al campo. En el ejemplo, este campo se llama "Nueva diferencia entre ventas promedio".
    4. Introduzca la fórmula siguiente:
      IF FIRST() = 0  
      THEN WINDOW_SUM([Difference Between Average Sales])  
      END
  4. Sustituya [Diferencia entre ventas promedio] por [Nueva diferencia entre ventas promedio] en Texto, en la tarjeta Marcas.
  5. Haga clic con el botón derecho en [Nueva diferencia entre ventas promedio] en la vista y seleccione Editar cálculo de tabla...
  6. En el cuadro de diálogo Cálculo de tabla, siga este procedimiento y cierre el cuadro de diálogo:
    1. En el menú desplegable situado debajo de Cálculos anidados, seleccione Diferencia entre ventas promedio.
    2. Seleccione Tabla (a lo largo). Nota: esta es la configuración Calcular usando para Diferencia entre ventas promedio de la vista original.
    3. En el menú desplegable situado debajo de Cálculos anidados, seleccione Nueva diferencia entre ventas promedio.
    4. Seleccione Dimensiones específicas.
    5. Marque solo los campos duplicados. En este ejemplo, es Región (copia).
  7. Vaya a Análisis > Apilar marcas > Desactivado.

Causa

Los totales establecidos en Total con > Automático calculan la medida en todo el conjunto de datos (como si la tabla de la vista no existiera). Los totales generales automáticos suelen ser correctos si el cálculo de tabla solo utiliza agregaciones aditivas (p. ej., SUM(), etc.). Por ejemplo, la suma de cada venta será igual a la totalización de las sumas de ventas por cada cliente.

Si el cálculo de tabla hace referencia a campos que usen una agregación no aditiva (ej., división, multiplicación, MIN(), AVG(), etc.), el total no será igual a la suma de los números de la vista. Por ejemplo, calcular el promedio de cada venta (es decir, promedio global) es diferente de totalizar el promedio de ventas de cada cliente.

Actualmente, solo los totales automáticos están disponibles para los cálculos de tablas. Para darnos su apoyo para incluir esta mejora en una próxima versión del producto, añada su voto a la siguiente idea de la comunidad: Totals and subtotals over displayed marks instead of separate calc (aka make subtotals work like Excel) (en inglés)

Información adicional

Si el problema se da en un campo que no usa una función de tabla, es posible cambiar la configuración Total con. Consulte las instrucciones en Configurar la agregación de totales.


Notas sobre la opción 2

  • El libro de trabajo adjunto contiene otros ejemplos que presentan más casos de uso.
  • La función WINDOW_SUM() imita Total con > Suma. Para otras agregaciones de totales generales, use la función de tabla correspondiente (WINDOW_AVG() para promedios de totales, WINDOW_MIN() para mínimos de totales, TOTAL() para totales automáticos, etc.).
  • En este ejemplo se usan Totales generales de columna, que aparecen como fila en la vista. Para las vistas que contengan Totales generales de fila, siga las mismas instrucciones sustituyendo "fila" por "columna".
  • Si la vista original contiene varias medidas, todas ellas se deberán convertir a un cálculo como el del paso 3, aunque no sean cálculos de tabla. En el ejemplo 2 del libro de trabajo adjunto encontrará más detalles.
  • En este ejemplo, el cálculo de tabla original se dividió entre todas las dimensiones del estante Filas (es decir, que [Región] no estaba marcado en el cuadro de diálogo Cálculo de tabla). Si el cálculo de tabla original contiene una dimensión duplicada, en el paso 6-2 habrá que comprobar también el campo duplicado. En el ejemplo 4 del libro de trabajo adjunto encontrará más detalles.
  • El paso 6 se refiere a la opción de configuración Calcular usando para la función de tabla de [Diferencia entre ventas promedio], que es LOOKUP(), y las funciones de tabla de [Nueva diferencia entre ventas promedio], que son FIRST() y WINDOW_SUM(). Para obtener más información sobre cómo establecer la configuración de Calcular usando, consulte Personalizar cálculos de tablas.
¿Fue de ayuda este artículo para resolver el problema?