Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now
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.
Solved! Go to 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:
He modificado el archivo pbix, haga clic aquí.
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:
Para el archivo .pbix relacionado, haga clic aquí.
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.
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á:
Para el archivo .pbix relacionado, haga clic aquí.
Espero que esto sea lo que necesitas.
@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.
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:
He modificado el archivo pbix, haga clic aquí.
Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.