cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Richal
Helper II
Helper II

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.

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!

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

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

@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!

@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
PBI User Groups

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group

March Update

Check it Out!

Click here to read more about the March 2021 Updates!

secondImage

The largest Power BI virtual conference

100+ sessions, 100+ speakers, Product managers, MVPs, and experts. All about Power BI. Attend online or watch the recordings.

secondImage

Experience what’s next for Power BI

See the latest Power BI innovations, updates, and demos from the Microsoft Business Applications Launch Event.