Fecha de la última modificación: 20 Jul 2023
Entorno
Tableau DesktopRespuesta
En general, la fórmula para contar los miembros de una dimensión que cumplen una condición es:IF <Condición>
THEN 1
ELSE 0
END
) }
Existen distintos casos de uso en los que se puede usar esta fórmula general. A continuación, se muestran algunos ejemplos en los que se usa el conjunto de datos de ejemplo Superstore.
Ejemplo 1: usar un intervalo de valores con parámetros
- Seleccione Análisis > Crear campo calculado.
- En el cuadro de diálogo Campo calculado que se abre, siga estos pasos y haga clic en Aceptar:
- Asigne un nombre al campo calculado. En este ejemplo, el campo calculado se denomina “Número de clientes con ventas selectas”.
- En el campo de fórmula, cree un cálculo similar al siguiente:
IF { INCLUDE [Nombre de cliente]: SUM([Ventas])} >= [Límite inferior de ventas]
AND { INCLUDE [Nombre de cliente]: SUM([Ventas])} <= [Límite superior de ventas]
THEN 1
ELSE 0
END
- Arrastre [Número de clientes con ventas selectas] a Texto en la tarjeta Marcas.
Ejemplo 2: usar un valor de texto
- Cree un campo calculado con un nombre similar a “Número de pedidos con un cargador de grapas” con un cálculo similar al siguiente:
{ FIXED [ID de pedido]: MAX(
IF [Nombre de producto] = "Cargador de grapas"
THEN 1
ELSE 0
END)} - Arrastre [Número de pedidos con un cargador de grapas] a Texto, en la tarjeta Marcas.
Ejemplo 3: crear categorías
En este ejemplo, se añadió [Estado] a Texto con el fin de clasificar por categorías los estados según el número de ciudades con beneficios negativos.
- Cree un campo calculado con un nombre como “Número de ciudades no rentables” con un cálculo similar al siguiente:
{ FIXED [Estado] : SUM(
IF { INCLUDE [Ciudad]: SUM([Beneficios]) } < 0
THEN 1
ELSE 0
END
) } - Cree un campo calculado con un nombre como “Categorías basadas en los beneficios de una ciudad” con un cálculo similar al siguiente:
IF [Número de ciudades no rentables] = 0
THEN "Todas las ciudades tienen beneficios positivos"
ELSEIF [Número de ciudades no rentables] = 1
THEN "Una ciudad tiene beneficios negativos"
ELSE "Varias ciudades tienen beneficios negativos"
END - Arrastre [Categorías basadas en los beneficios de la ciudad] al estante Columnas.
Ejemplo 4: usar funciones de tabla
- Cree un campo calculado con un nombre como “3+ 10 principales clientes con beneficios negativos” con un cálculo similar al siguiente:
IF
WINDOW_SUM(
IF SUM([Beneficios]) < 0
AND [Clasificación de ventas] <= 10
THEN 1
ELSE 0
END ) > 2
THEN "Tres o más clientes con beneficios negativos"
ELSE "Estado de solvencia"
END - Arrastre [3+ 10 principales clientes con beneficios negativos] a Color en la tarjeta Marcas.
- Haga clic con el botón derecho en [3+ 10 principales clientes con beneficios negativos] en Color y seleccione Calcular usando > Nombre de cliente.
Información adicional
Notas sobre el ejemplo 1:
- La expresión INCLUDE es necesaria porque [Nombre de cliente] no está en la vista.
- SUM([Ventas]) se agrega hasta el nivel de detalle en la vista, que son [Categoría] y [Segmento] en este ejemplo, además de [Nombre de cliente], ya que la expresión INCLUDE muestra una lista de [Nombres de cliente].
- El cálculo [Número de clientes con ventas selectas] evaluará si las ventas por cliente son inferiores al [Límite superior de ventas] y superiores al [Límite superior de ventas]. Si las ventas por cliente se encuentran en el rango especificado, este cálculo indicará 1 y, cuando se sume, actuará como un conteo de clientes.
- Este cálculo también se puede escribir con COUNTD().
Notas sobre el ejemplo 2:
- La instrucción IF lee cada registro del conjunto de datos subyacentes para comprobar si [Nombre de producto] es “Cargador de grapas”. De ser así, el cálculo indica 1 para ese registro. Después, la expresión FIXED indicará el máximo de unos y ceros por cada registro con el mismo valor de [ID de pedido].
- En Superstore, solo hay 1 registro por cada combinación única de [Nombre de producto] e [ID de pedido], lo que significa que MAX() podría reemplazarse por SUM() e indicar el mismo resultado, ya que sumar 1 valor es lo mismo que tomar el máximo de 1 valor.
Notas sobre el ejemplo 3:
- La expresión INCLUDE indicará la suma de beneficios por ciudad y estado, ya que [Estado] se encuentra en la expresión FIXED. A continuación, el cálculo indicará un 1 por cada ciudad no rentable, lo que se considera una forma de contar las ciudades.
Notas sobre el ejemplo 4:
- Este ejemplo debe usar cálculos de tabla en lugar de expresiones de nivel de detalle (LOD), ya que los filtros de cálculo de tabla no filtran los datos subyacentes y, por lo tanto, es necesario añadir una condición dentro del cálculo para la clasificación. Sin embargo, RANK() es una función de tabla y no se puede usar dentro de un cálculo LOD.
- Los cálculos de tabla se ven afectados por todas las dimensiones no agregadas de la vista. Si el cálculo de tabla no devuelve los resultados correctos, la causa podría ser la forma en que se realiza el cálculo de tabla mediante las dimensiones de la vista. Para solucionar este problema, cambie el cálculo que use la opción. Para obtener más información, consulte Transformar valores con cálculos de tabla.