Forum Discussion
Contar con condiciones
Hola
Necesidad de contar las entradas de columna 'carerid' con algunas condiciones aplicadas en función de la columna 'startdate'.
Condiciones
- Cada carerid se cuenta al menos una vez.
- Sólo cuente carerid más de una vez si hay más de 1 día entre el próximo 'startdate' para ese 'carerid'.
He probado esta medida, pero no devuelve ningún resultado y entiendo por qué, ya que está comparando los mismos valores.
Prueba = CALCULATE(COUNT('powerbi114 holidays'[carerId]),DATEDIFF('powerbi114 holidays'[startDate],'powerbi114 holidays'[startDate],DAY) > 1)
actualizado el DAX,
por favor, compruebe si es correcto ahora
Column = VAR _minindex=minx(FILTER('powerbi114 holidays','powerbi114 holidays'[carerid]=EARLIER('powerbi114 holidays'[carerId])),'powerbi114 holidays'[Index]) return if('powerbi114 holidays'[Index]=_minindex,1,if('powerbi114 holidays'[startdate]-MAXX(FILTER('powerbi114 holidays','powerbi114 holidays'[Index]=EARLIER('powerbi114 holidays'[Index])-1),'powerbi114 holidays'[startdate])>1,1,0))
7 Replies
- Syndicate_AdminAdministrator
@Qotsa, trate de
Prueba = CALCULATE(COUNTX(filter(values('powerbi114 holidays'[carerId]),DATEDIFF(min('powerbi114 holidays'[startDate]),max('powerbi114 holidays'[startDate]),DAY) > 1),[carerId]))
O
Prueba = CALCULATE(COUNTX(filter(values('powerbi114 holidays'[carerId]),DATEDIFF(min('powerbi114 holidays'[startDate]),max('powerbi114 holidays'[startDate]),DAY) > 1),[carerId]), allexcept('powerbi114 holidays'[carerId]))
- Syndicate_AdminAdministrator
es su tipo de fecha dd / mm / aaaa? ¿por qué el resultado para careid 17 es 1?
- Syndicate_AdminAdministrator
Sí, la fecha es dd/mm/aaaa.
carerid = 1 porque no hay mayor de 1 día entre cada entrada.
Si las fechas fueran05/03/21
06/03/21
08/03/21
05 y 06 se cuenta como 1
08 se cuenta como 1 como mayor que 1 día entre 06 y 08.
el resultado deseado es = 2
- Syndicate_AdminAdministrator
aquí hay una palabra alternativa para usted.
1. cree una columna de índice en PQ
2. utilice DAX para crear una columna
Column = VAR _minindex=minx(FILTER('Table','Table'[careid]=EARLIER('Table'[careid])),'Table'[Index]) return if('Table'[Index]=_minindex,1,if(MAXX(FILTER('Table','Table'[Index]=EARLIER('Table'[Index])+1),'Table'[startdate])-'Table'[startdate]>1,1,0))