Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Anonymous
Not applicable

Calcular promedio por grupo ignorando cierto filtro

Hola

mis datos se ven como los siguientes

Fecha Duración de la tarea del grupo Emloyee

2020-01-01 A 1 aa 2

2020-01-01 A 1 aa 4

2020-01-01 A 1 bb 8

2020-01-01 B 1 aa 4

2020-01-01 B 1 bb 3

2020-01-01 B 1 bb 11

2020-01-01 C 2 cc 3

2020-01-01 C 2 cc 3

2020-01-01 D 2 cc 4

2020-01-01 D 2 cc 4

2020-01-02 A 1 aa 2

2020-01-02 A 1 aa 2

2020-01-02 A 1 bb 3

2020-01-02 B 1 aa 5

2020-01-02 B 1 bb 2

2020-01-02 B 1 bb 4

2020-01-02 C 2 cc 6

2020-01-02 C 2 cc 4

2020-01-02 D 2 cc 2

2020-01-02 D 2 cc 6

. . . . .

. . . . .

. . . . .

Mi objetivo es calcular la duración promedio para cada empleado y cada tarea y compararlos en todo su grupo.

Por ejemplo, el empleado A completó la tarea aa en 2,5 minutos ((2+4+2+2+2)/4 a 2,5) en promedio, mientras que el tiempo medio para todo el grupo para esta tarea era de 3,2 minutos ((2+4+4+2+2+5+5)/6 a 3.166). Quiero hacer esto para todas las tareas y todos los grupos.

Quiero mostrar solo un empleado (que se puede seleccionar a través del panel de filtro) y la duación promedio para cada tarea que hizo en un período determinado y el promedio de grupo para cada tarea. Así que mostraría 2 minutos para la tarea aa para el empleado A y 3,2 minutos para su grupo. La medida debe ignorar el filtro de empleado según el nivel de página, pero no otros como Fecha (quiero comparar resultados a lo largo de meses) o grupo.

Gracias.

4 REPLIES 4
v-alq-msft
Community Support
Community Support

Hola, @Bernhard

Basándome en mi investigación, puede crear dos medidas como se muestra a continuación.

EmpAvg = 
var _emp = SELECTEDVALUE('Table'[Employee])
var _task = SELECTEDVALUE('Table'[Task])
return
CALCULATE(
    AVERAGE('Table'[Duration]),
    ALLEXCEPT('Table','Table'[Employee],'Table'[Task],'Table'[Date])
)

GroupAvg = 
var _emp = SELECTEDVALUE('Table'[Employee])
var _task = SELECTEDVALUE('Table'[Task])
return
CALCULATE(
    AVERAGE('Table'[Duration]),
    FILTER(
        ALLEXCEPT('Table','Table'[Task],'Table'[Date]),
        'Table'[Group] in 
        CALCULATETABLE(
            DISTINCT('Table'[Group]),
            FILTER(
                ALL('Table'),
                'Table'[Employee] =_emp
            )
        )
        
    )
)

Resultado:

e1.png

Saludos

Allan

Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Anonymous
Not applicable

Hola @v-alq-msft

gracias por su respuesta!

Lo probé, sin embargo, olvidé mencionar que mis datos están en tres tablas diferentes - una tabla de hechos con las tareas y sus duraciones y dos tablas de dimensiones (una para los empleados y otra para las fechas). Debido a esto su mesaure GroupAvg no funciona. ¿Cómo puedo usar su medida con varias tablas? ¡Gracias!

amitchandak
Super User
Super User

@Bernhard ,

Refiérase a que esto pueda ayudar. Usted tiene que utilizar todos excepto y filtros

https://community.powerbi.com/t5/Desktop/SUM-of-AVERAGE/td-p/197013

Mariusz
Community Champion
Community Champion

Hola @Bernhard

probar esta medida

Measure = 
CALCULATE(
    AVERAGE( 'Table'[Duration] ),
    ALLEXCEPT( 'Table', 'Table'[Task], 'Table'[Emloyee] ),
    ALLSELECTED( 'Table'[Emloyee] )
)

Saludos
Mariusz

Si este post ayuda,entonces por favor considere aceptarlo como la solución.

Por favor, siéntase libre de conectarse conmigo.
Linkedin

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors