Forum Discussion
rango con condiciones
Hola
Quiero clasificar el Customer_ID en función de la columna de fecha con la condición de que si la fecha es más de 61 días atrás, el rango comenzará a partir de 1 de nuevo como se ve en la siguiente tabla:
| Customer_ID | Fecha | rango |
| Aaa | 2020/2/1 | 1 |
| Aaa | 2020/2/1 | 1 |
| Aaa | 2020/2/3 | 2 |
| Aaa | 2020/3/1 | 3 |
| Aaa | 2020/7/1 | 1 |
| Aaa | 2020/7/1 | 1 |
| Aaa | 2020/7/2 | 2 |
He creado dos columnas calculadas, la última fecha y la fecha entre las fechas:
| Customer_ID | Fecha | última fecha | tiempo entre |
| Aaa | 2020/2/1 | 0 | |
| Aaa | 2020/2/1 | 0 | |
| Aaa | 2020/2/3 | 2020/2/1 | 2 |
| Aaa | 2020/3/1 | 2020/2/3 | 25 |
| Aaa | 2020/7/1 | 2020/3/1 | 122 |
| Aaa | 2020/7/1 | 2020/3/1 | 122 |
| Aaa | 2020/7/2 | 2020/7/1 | 1 |
¿Cómo puedo calcular el rango?
Lo intenté
rango ?
- Anonymous5 years agoPude resolver este problema añadiendo la siguiente condición:[fecha] > EARLIER([fecha]) -61frecuencia : RANKX (FILTRO ('mesa','table'[Customer_ID] - EARLIER ( [Customer_ID] )&& [fecha] > EARLIER([fecha]) -61), [fecha],AscDenso)
7 Replies
- AnonymousNot applicable
Utilice el siguiente RANKX
RANKX(
'Mesa',
'Tabla'[tiempo entre],
Asc
)
- amitchandakSuper User
@nabe , Todas las columnas nuevas
Puede tener pocos de ellos como var en una columna si es necesario
last date- maxx(filter(Table,[customer] á earlier([customer])),[date])
Diff - datediff([fecha],[última fecha],día)
61 Bandera á cociente([Diff],61)Rango - RANKX (
FILTRO (
'mesa'
,'table'[Customer_ID] - EARLIER ( [Customer_ID] )
&& [shop_id] - EARLIER([shop_id]) && [61 Flag] - EARLIER([61 Flag])
), [fecha],asc, denso)- AnonymousNot applicable
@amitchandak gracias por su respuesta.
su función DAX me da el mismo resultado que el que intenté antes.
condición: [el tiempo entre] es mayor que 61, luego comienza el rango de 1 y la fecha siguiente 2 y así sucesivamente.
En esta fecha de ejemplo: 2020/7/2 debe clasificarse como 2 y 4
- amitchandakSuper User
@nabe , Puede quitar el identificador de la tienda y probar. Acabo de añadir como eso estaba allí en su guión
Rango - RANKX (
FILTRO (
'mesa'
,'table'[Customer_ID] - EARLIER ( [Customer_ID] )
&& [61 Bandera] - ANTERIOR([61 Bandera])
), [fecha],asc, denso)¿Puede compartir datos de ejemplo y salida de ejemplo en formato de tabla? O una muestra de pbix después de eliminar datos confidenciales.