La función ApplyAgg de MicroStrategy es una función dentro del grupo Apply que proporciona acceso a funciones o construcciones sintácticas que no son estándar en MicroStrategy, pero que son proporcionadas por tu base de datos.
ApplyAgg se usa para definir indicadores o hechos . Esta función se utiliza cuando tengas que utilizar funciones de agregación de tu base de datos, se suele utilizar con funciones básicas como sum, avg, count, first, last, etc y admite como valores de entrada hechos, indicadores y atributos.
Sintaxis
Crea un hecho o indicador y escribe la sintaxis según tus necesidades:
ApplyAgg("Sum(#0,#1)"; campo1; campo2) ApplyAgg("function (case when #0 in (condicion) then 0 else #1 end)"; campo1; indicador1)
Ejemplo
Definición
En el siguiente ejemplo utilizamos la función ApplyAgg para realizar una suma, cuando el cliente es 1 se le asigna un 0 y si no el valor del hecho llamado contador.
ApplyAgg("sum (case when #0 in (1) then 0 else #1 end)"; Cliente; Contador)
![](https://www.migueltroyano.com/wp-content/uploads/2021/12/mstr_applyagg.jpg)
En los ejemplos utilizamos como separador de parámetros o campos el punto y coma. En muchos ejemplos de internet o la propia documentación de MicroStrategy puedes ver que se utiliza la coma, pero esto va en función del idioma.
Resultado
Al ejecutar el informe obtendremos el siguiente resultado:
![](https://www.migueltroyano.com/wp-content/uploads/2021/12/mstr_applyagg_datos.jpg)
Y si vemos la consulta que genera comprobamos como ha traducido nuestra función y agrupa por el resto de campos:
![](https://www.migueltroyano.com/wp-content/uploads/2021/12/mstr_applyagg_sql.jpg)