Loading

La instrucción IF con campos agregados indica nada o todo.

Fecha de publicación: Oct 18, 2022
Descripción
Cuando se utilizan un cálculo con una declaración IF que contiene campos agregados y un campo agregado en el cálculo que no está presente en la vista, el cálculo devuelve resultados inesperados: NULL o todo.

 

Cause

MIN( [Region] ) se calcula para cada partición (p. ej., barra, círculo, celda, etc.) de la vista. Cuando [Region] no se encuentra en la vista, cada partición puede tener varios valores de [Region], pero MIN( [Region] ) solo mostrará el mínimo de todos los valores de [Region] en esa partición.

Por ejemplo, si un cliente determinado hace negocios en varias regiones, pero la primera de la lista es "Central", entonces MIN( [Region] ) = "Central" será verdadero para todas las transacciones de ese cliente, y se mostrarán como resultado todas las ventas.


Notas

Solución

Opción 1

Desplace la declaración IF dentro de la agregación. Por ejemplo: 
  • El siguiente cálculo: IF MIN( [Region] ) = "Central" THEN SUM( [Sales] ) END
  • Se transforma en SUM( IF [Region] = "Central" THEN [Sales] END )

Opción 2

Agregue la dimensión de la condición a la vista. Por ejemplo:
  • En el siguiente cálculo: IF MIN( [Region] ) = "Central" THEN SUM( [Sales] ) END
  • La única declaración condicional (la que devuelve valores true o false) es MIN( [Region] ) = "Central". Por lo tanto, debe agregar [Region] a la vista.
Número del artículo de conocimiento

001498391

Archivos adjuntos

aggregated condition_v2018.1.twbx

2367 KB

 
Cargando
Salesforce Help | Article