Loading

Agregar mensajes de error en un editor de cálculo

Fecha de publicación: Sep 11, 2025
Descripción
Al crear un cálculo, pueden producirse uno de los siguientes errores:
 
  • "Cannot mix aggregate and non-aggregate arguments with this function". (Pueden usarse las opciones 1, 2, 3 o 4). (No es posible mezclar argumentos de agregación y no agregación con esta función)
  • "All fields must be aggregate or constant when using table calculation functions or fields from multiple data sources." ("Todos los campos deben ser una agregación o constante cuando se usen Cálculos de tabla o campos de varias fuentes de datos") (se pueden usar las opciones 1 o 3).
  • "Argument to sum (an aggregate function) is already an aggregation, and cannot be further aggregated." (Pueden usarse las opciones 2, 3 o 4). (Argumento para suma (función de agregación) ya es una agregación y no puede agregarse más veces)

Cause

"No es posible mezclar argumentos de agregación y no agregación con esta función".
- Todos los campos tienen que tener el mismo nivel de agregación (agregados o no agregados). Las agregaciones se calculan en el nivel de detalle de la vista, que indicará un valor para varios registros. Los campos no agregados se calculan para cada registro de los datos subyacentes, que indicarán un valor por registro.

"Todos los campos deben ser una agregación o constante cuando se usen Cálculos de tabla o campos de varias fuentes de datos"
-  Al combinar o usar cálculos de tablas, deben agregarse todos los campos.

"Argumento para suma (función de agregación) ya es una agregación y no puede agregarse más veces".
- Un campo agregado no se puede agregar de nuevo.
Solución
Cada opción puede generar diferentes valores (consulte el libro de trabajo adjunto en el panel derecho y la sección de información adicional para ver ejemplos específicos).
 

Opción 1 ( Agregue todos los campos)

Ajuste todos los campos de una agregación.

Ejemplo (sin LOD):
[Ganancias]/SUM([Ventas]) -> SUM([Ganancias])/SUM([Ventas])

Ejemplo (con LOD):
RANK( {fixed: SUM([Sales])} ) --> RANK( SUM( {fixed: SUM([Sales])} ))
 

Opción 2 ( Desagregue todos los campos)

Elimine las agregaciones de todos los campos.

Ejemplo (sin LOD):
[Ganancias]/SUM([Ventas]) ->[Ganancias]/[Ventas]

Ejemplo (con LOD):
[Profit] / SUM ([Sales]) ->[Profit] / { fixed: SUM ([Sales]) }
 

Opción 3 ( Desagregue todos los campos y después agregue el cálculo.)

Mueva la agregación para que se agregue el cálculo.

Por ejemplo, el cálculo:
IF [ID de fila] = 1
THEN SUM( [Ventas] )
END 

podría convertirse en:
SUM(
IF [ID de fila] = 1
THEN [Ventas]
FIN )

Opción 4 (Utilice el nivel de detalle para desagregar un campo) 

Use una expresión de nivel de detalle (LOD) para hacer una agregación no agregada.Todas las expresiones LOD indican valores no agregados.

[Ventas]/SUM([Ventas]) -> [Ventas]/{FIXED: SUM([Ventas])}
Recursos adicionales

Cómo saber si un campo es agregado.

Los campos importados de los datos subyacientes y las expresiones de nivel de detalle (LOD) siempre son no agregadas hasta que se incluyan en una agregación, como SUM(), MIN(), ATTR(). Para ver una lista completa de las funciones agregadas, eche un vistazo al artículo sobre las "Funciones agregadas" en la sección de enlaces relacionados.

Los campos calculados pueden ser tanto agregados como no agregados según cómo se usen las agregaciones.Si no se usan las agregaciones o si la expresión más exterior es una expresión LOD, el cálculo dará resultados no agregados.

Un truco para saber si se ha agregado un campo es añadir dicho campo a la vista.Si en el campo aparece AGG("Nombre del campo), entonces el campo ya se ha agregado


Ejemplos:

A continuación se explica cómo funciona cada opción usando el conjunto de datos de prueba que aparecen como referencia.

Conjunto de datos de ejemplo
ID de filaGananciasVentas
110030
25060
3710



Opción 1 


Fórmula:
SUM ([Profit]) / SUM ([Sales])

Resultado:
(100 + 50 + 7)/(30 + 60 + 10) =  157/100  = 1,57 
 

Opción 2

[Ganancias]/[Ventas]

Resultado (suponiendo que la agregación de la vista sea SUM):

100/30 + 50/60 + 7/10 = 3,333 + 0,833 + 0,7 = 4,867
 

Opción 3

Resultado:
30 + 0 + 0 = 30
 

Opción 4


Consulte los Cálculos del nivel de detalles

Las expresiones de nivel de detalle siempre indican resultados de no agregación. Se pueden usar para especificar el nivel en el que se produce la agregación.

[Ventas]/{FIXED: SUM([Ventas])}

Resultado (suponiendo que la agregación sea SUM):

30/100 + 60/100 + 10/100 = 3+60+10 = 0,3 + 0,6 + 0,1 = 1
 

Número del artículo de conocimiento

001473080

Archivos adjuntos

Aggregate Sample Workbook.twbx

19 KB

 
Cargando
Salesforce Help | Article