Skip to main content
Announcements
SYSTEM MAINTENANCE: Thurs., Sept. 19, 1 AM ET, Platform will be unavailable for approx. 60 minutes.
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Grouped values calculated for filters

I'm working on a board that shows the status of projects.

The problem that I find is that I have to offer the end user a graphic selection list or any object that allows filtering projects for the "Compliance project" which is a calculated thing, I do not have any table.

The states need to manage project are:

Efficient: 81-100

Controlled: 61-80

Problem: 0-60

This is a table showing the ID, Name, Status data that have a table "Projects" and Compliance and Graph I get him analys set:

=(Num(Avg(Compliance_Project),'###')&' %')

ppp.JPG

What we now need is to create an object that shows the three status of the project (Efficient, controlled and In Problems) with defined ranges, and to click to show me the projects that are in that status.

I appreciate your help.

Greetings.

1 Solution

Accepted Solutions
maxgro
MVP
MVP

try a listbox with this expression

=

if(aggr(Avg(Compliance_Project), ID)>=0.81, 'Efficient',

if(aggr(Avg(Compliance_Project), ID)>=0.61, 'Controlled',     'Problem'))

View solution in original post

6 Replies
ecolomer
Master II
Master II

No se si en tu caso es posible, pero una solución sería que en el script de carga calcules el valor del campo y le asignes ya uno de los tres estados como un campo adicional, lo que te permitiría de forma directa la selección por ese campo.

Si esto no fuera posible, puedes crear una tabla INLINE con el valor de cada estado y sus limites maximo y minimo y que sirva de selector y en las dimensiones incluir una condición que filtre el resultado según el valor del estado.

maxgro
MVP
MVP

try a listbox with this expression

=

if(aggr(Avg(Compliance_Project), ID)>=0.81, 'Efficient',

if(aggr(Avg(Compliance_Project), ID)>=0.61, 'Controlled',     'Problem'))

Not applicable
Author

Gracias Enrique, ya intente hacerlo desde el script pero no me funciono, o lo intente de manera errónea, para mas detalles te cuento:

Tengo 2 Tablas:

  • Tabla Proyectos
    • ID_Proyecto
    • Nombre_Proyecto
  • Tabla Entregables
    • ID_Proyecto
    • ID_Entregable
    • Nombre_Entregable
    • Cumplimiento_Entregable

Para calcular el cumplimiento de un proyecto, yo tomo el campo Cumplimiento_Entregable y le aplico una función AVG() lo que me arroja el campo calculado  Cumplimiento de Proyecto.


Lo que sinceramente ahora no se como hacer es que con los datos que tengo, crear un objeto que permita al usuario filtrar por el campo calculado Cumplimiento de Proyecto.


El objetivo final seria tener algo asi:

eee.JPG

El script que intente utilizar fue:

LOAD ID_Proyecto,

     Nombre_Proyecto

FROM

[.......Fuente de datos.........);

LEFT JOIN

LOAD ID_Entregable,

     ID_Proyecto,

     Nombre_Entregable,

     Cumplimiento_Entregable

FROM

[.......Fuente de datos.........);

Proyectos_Final:

LOAD  *,  (avg( Cumplimiento_Entregable)) as Cumplimiento_Proyecto

Resident Proyectos;

DROP TABLE Proyectos;

Cuando la ejecuto marca error en las lineas subrayadas.

Agradezco mucho su apoyo.

Saludos.

Jorge.

ecolomer
Master II
Master II

El error puede estar producido porque para aplicar una función de agregación debería hacer simultáneamente un Grouped by ...

tendrías que hacerlo en dos pasos,

primero calcular por cada proyecto el avg y luego se lo asignas a cada proyecto con un join

pruebalo a ver si no te da error.

Not applicable
Author

Gracias Enrique, tendrás un ejemplo o referencia de cómo hacer esto?

Gracias de antemano.

Jorge.

Not applicable
Author

Thank you Massimo, your solution is practical and effective, solved my problema, only I made some adjustments and it worked.

The function was as follows:

if(aggr(Avg(Compliance_Project), ID_Project)>=81, 'Efficient',

if(aggr(Avg(Compliance_Project), ID_Project)>=61, 'Controlled',     'Problem'))

Thanks for everything.

Greetings.

Jorge