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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Anonymous
Not applicable

Ayuda necesaria para la medición

Suponiendo los datos de la siguiente manera:

COLA COLB COLC

AA 04/01/2018 1

AA 04/02/2018 0

AA 04/03/2019 1

BB 04/01/2019 1

BB 04/02/2018 1

BB 04/03/2019 1

BB 04/04/2019 0

CC 04/01/2019 1

CC 04/02/2019 0

CC 04/02/2019 1

Necesito una medida que cuente las fechas distintas en COLB dentro de COLA donde COLC 1 y el año(COLB) - AÑO(MAX(COLB)).

Usando los datos anteriores, los resultados deben ser 3.

COLA COLB COLC

AA 04/03/2019 1

BB 04/01/2019 1

CC 04/02/2019 1

Gracias.

1 ACCEPTED SOLUTION

Hola @Richal ,

Sólo tiene que modificar la medida como se muestra a continuación:

Measure = 
CALCULATE(DISTINCTCOUNT('Table'[COLA]),FILTER(ALLEXCEPT('Table','Table'[COLB]),YEAR(SELECTEDVALUE('Table'[COLB]))=MAXX(ALL('Table'),YEAR('Table'[COLB]))&&'Table'[COLC]=1))+0

Y verás:

Annotation 2020-04-22 180339.png

He modificado el archivo pbix, haga clic aquí.


Saludos
Kelly
¿Respondí a tu pregunta? ¡Marca mi puesto como solución!

View solution in original post

7 REPLIES 7
v-kelly-msft
Community Support
Community Support

Hola @Richal ,

Necesita una medida como se indica a continuación:

MesureValue = 
var t = ALLSELECTED('Table')
return
SUMX (
    'Table',
    VAR a = [COLA]
    RETURN
        IF (
            'Table'[COLC] = 1
                && NOT (
                    [COLB]
                        IN CALCULATETABLE (
                            DISTINCT ( 'Table'[COLB] ),
                            FILTER (
                                t,
                                var a2 = 'Table'[COLA]
                                var maxyear = YEAR (
                                            CALCULATE (
                                                MAX ( 'Table'[COLB] ),
                                                FILTER (t, 'Table'[COLA] = a2 )
                                            )
                                        )
                                return
                                'Table'[COLA] < a
                                    && 'Table'[COLC] = 1
                                    && YEAR ( 'Table'[COLB] )
                                        = maxyear
                            )
                        )
                )
                && YEAR ( [COLB] )
                    = YEAR (
                        CALCULATE (
                            MAX ( 'Table'[COLB] ),
                            FILTER ( t, 'Table'[COLA] = a )
                        )
                    ),
            [COLC],
            BLANK ()
        )
)

Y verás:

Annotation 2020-04-17 123756.png

Para el archivo .pbix relacionado, haga clic aquí.

Saludos
Kelly
¿Respondí a tu pregunta? ¡Marca mi puesto como solución!
Anonymous
Not applicable

Kelly

Gracias por su respuesta, estoy de acuerdo en que la solución funcionó con los datos de muestra que proporcioné, sin embargo, cuando sustituí los datos en vivo, la solución no funcionó. Además, tal vez no expliqué mis requisitos correctamente. La tabla de la izquierda son los datos sin procesar. Necesito contar el número total de "días de la gente" para el año más antiguo de la tabla. La tabla contiene un registro para cada tarea completada en un día determinado. La medida solo debe contar a la persona una vez en cualquier día.

Así, por ejemplo, DW completó 3 tareas en 3/2/18, CJ completó 2, y DM completó 2. El recuento total de 3/2/18 debe ser 3 ya que solo la tarea notificada con DW, CJ y DM se completó ese día.

La tabla en el centro es la fecha y la medida que proporcionó y la tarjeta a continuación muestra los resultados de la medida.

En general, el cálculo de la medida está cerca, en arrendamiento sólo contando 2019 días.

PBI Q4.jpg
Intenté ajustar el cálculo, pero me metí en problemas. Si pudiera revisar el cálculo, se lo agradecería.

Gracias

Rick

Anonymous
Not applicable

Lo siento, el total debería ser de 19. 9 cuentan con 3/6/19 y 10 cuentan con 3/7/19.

Anonymous
Not applicable

@v-kelly-msft . Por favor, ignore mi comentario anterior. El caffien no había pateado cuando lo publiqué. Los valores correctos son los indicados anteriormente.

Hola @Richal ,

Vaya al editor de consultas>agregar columna>Columna de índice;

A continuación, cree 3 medidas como se indica a continuación:

Measure = 
CALCULATE(COUNTROWS('Table'),FILTER(ALLEXCEPT('Table','Table'[COLB]),YEAR(SELECTEDVALUE('Table'[COLB]))=MAXX(ALL('Table'),YEAR('Table'[COLB]))&&'Table'[COLC]=1))+0
Measure 2 = 
var c = CALCULATE(COUNTROWS('Table'),FILTER(ALL('Table'),'Table'[COLB]=MAX('Table'[COLB]) && 'Table'[Index]<=MAX('Table'[Index])),VALUES('Table'[COLB]))
Return
IF(c>1,BLANK(),1)
_total = 
SUMX(FILTER('Table','Table'[Measure]>=1&&'Table'[Measure 2]=1),'Table'[Measure])

Finalmente verá:

Annotation 2020-04-21 122233.png

Para el archivo .pbix relacionado, haga clic aquí.

Espero que esto sea lo que necesitas.

Saludos
Kelly
¿Respondí a tu pregunta? ¡Marca mi puesto como solución!
Anonymous
Not applicable

@v-kelly-msft Hola Kelly,

Lo siento, el resultado no es correcto. Creo que el resultado de la "_total" resume colC. El valor que necesito es el número de COLA por COLB distinto donde COLC 1 dentro del año(max(COLB). COLB es la fecha de finalización de la tarea. Un empleado puede tener varias tareas completadas en una fecha determinada.

Por ejemplo, si cj tiene 2 terminaciones (COLC - 1), DM tiene 2 terminaciones, y SS tiene 1 finalización en 3/6/19 el número de "días de personas" en 3/6/19 sería 3. Si CJ tiene 2 terminaciones en 3/7/19 y SS tiene 2 terminaciones el 3/7/19, el número de "días de personas" el 3/7/19 sería 2. En este caso, el número de "días de personas" para 2019 sería de 5.

A continuación, puedo tomar el número total de terminaciones (suma de COLC) y dividir por los "días de la gente" para 2019 y obtener un promedio de (9/5) - 4,5 tareas por día.

Se adjuntan mis datos de prueba.

    
COLA, COLB, COLC, Index
AA, 4/1/2018, 1, 0
AA, 4/2/2018, 0, 1
AA, 4/3/2019, 1, 2
BB, 4/1/2019, 1, 3
BB, 4/2/2018, 1, 4
BB, 4/3/2019, 1, 5
BB, 4/4/2019, 0, 6
CC, 4/1/2019, 1, 7
CC, 4/2/2019, 0, 8
CC, 4/2/2019, 1, 9
DW, 3/2/2018, 1, 10
DW, 3/2/2018, 1, 11
DW, 3/2/2018, 1, 12
CJ, 3/2/2018, 1, 13
CJ, 3/2/2018, 1, 14
DM, 3/2/2018, 1, 15
DM, 3/2/2018, 1, 16
KB, 3/5/2018, 1, 17
DB, 3/5/2018, 1, 18
DW, 3/5/2018, 1, 19
DW, 3/5/2018, 1, 20
DW, 3/5/2018, 1, 21
CJ, 3/5/2018, 1, 22
CJ, 3/5/2018, 1, 23
KB, 3/6/2019, 1, 24
KB, 3/6/2019, 1, 25
DW, 3/6/2019, 1, 26
DW, 3/6/2019, 1, 27
CJ, 3/6/2019, 1, 28
CJ, 3/6/2019, 1, 29
DM, 3/6/2019, 1, 30
DM, 3/6/2019, 1, 31
SS, 3/6/2019, 1, 32
KB, 3/7/2019, 1, 33
KB, 3/7/2019, 1, 34
DB, 3/7/2019, 1, 35
CC, 3/7/2019, 1, 36
DW, 3/7/2019, 1, 37
EH, 3/7/2019, 1, 38
CJ, 3/7/2019, 1, 39
CJ, 3/7/2019, 1, 40
DM, 3/7/2019, 1, 41
DM, 3/7/2019, 1, 42

Aquí están los resultados de las 3 medidas.

PBI Q6.jpg

Perdón por la confusión.

Hola @Richal ,

Sólo tiene que modificar la medida como se muestra a continuación:

Measure = 
CALCULATE(DISTINCTCOUNT('Table'[COLA]),FILTER(ALLEXCEPT('Table','Table'[COLB]),YEAR(SELECTEDVALUE('Table'[COLB]))=MAXX(ALL('Table'),YEAR('Table'[COLB]))&&'Table'[COLC]=1))+0

Y verás:

Annotation 2020-04-22 180339.png

He modificado el archivo pbix, haga clic aquí.


Saludos
Kelly
¿Respondí a tu pregunta? ¡Marca mi puesto como solución!

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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