Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
Hola
Quiero una columna o medida calculada, que determine si se ha dado o no un tratamiento idéntico al mismo cliente antes, sin un período de 3 años.
Tengo las siguientes columnas:
Reclamación ? PersonID ? Tipo de tratamiento ? Fecha
1 1 2356 1-1-2020
2 1 2356 1-3-2018
3 2 2356 1-2-2020
4 2 2356 1-1-2016
5 3 2685 23-2-2017
En este caso, quiero una bandera en PersonID 1 como tratamiento idéntico(2353) ha estado dando más de una vez dentro del período de 3 años, mientras que PersonID 2 tiene más de 3 años entre el mismo tratamiento
Probar como nueva columna
if ( datediff(maxx(filter(table,table[PersonID]-arlier[PersonID] && table[Treatmenttype] ?arlier[Treatmenttype]) &&
table[Date] ?antes[Fecha]) ,tabla[Fecha],tabla[Fecha],año)< 3 ,"Sí","No")
Hola @rhl94
tratar de una medida
Measure =
var _isInCondition = CALCULATE(COUNTROWS('Table'),FILTER(ALL('Table'),'Table'[PersonID]=SELECTEDVALUE('Table'[PersonID]) && 'Table'[Treatmenttype]=SELECTEDVALUE('Table'[Treatmenttype]) && 'Table'[Date]< SELECTEDVALUE('Table'[Date]) && DATEDIFF('Table'[Date], SELECTEDVALUE('Table'[Date]),YEAR) < 4))
RETURN
if(_isInCondition>0,1,0)
Parece que olvidé mencionar que la columna treatmenttype proviene de una tabla diferente para que el cliente (uno) al tratamiento (muchos).
Por lo tanto, la medida no funciona del todo. Si quito el filtro en Tratamiento, parece funcionar.
Comparta la estructura de ambas tablas.
Hola @rhl94
Prueba esta medida.
Measure =
CALCULATE(
IF(
COUNTROWS( 'Table' ) > 1,
DISTINCTCOUNT( 'Customer'[PersonID] )
),
ALLEXCEPT( 'Table', 'Customer'[PersonID], 'Table'[Treatmenttype] ),
DATESINPERIOD( 'Calendar'[Date], MAX( 'Calendar'[Date] ), -3, YEAR )
)
Parece casi funcionar, excepto que necesito filtrar por un tipo de tratamiento específico.