Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
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 ?
Solved! Go to Solution.
@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)
@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
@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.
Hola, creo que pensé dónde está el problema.
Creé una bandera durante 61 días,
-> cociente([tiempo entre]), 61)
pero esto marca sólo las fechas en las que el [tiempo entre] es gretaer que 61 no las fechas posteriores.
Así que cuando utilicé la función de rango inferior, clasifica todas las fechas donde no hay bandera (incluyendo las fechas después de la bandera de 61 días),
pero quiero que después de 61 días el rango debe comenzar de nuevo a partir de 1 y la próxima fecha después debe ser 2 y así sucesivamente
Rango - RANKX (
FILTRO (
'mesa'
,'table'[Customer_ID] - EARLIER ( [Customer_ID] )
&& [61 Bandera] - ANTERIOR([61 Bandera])
), [fecha],asc, denso)
@amitchandak gracias,
Por favor, encuentre el archivo pbix en el siguiente enlace:
Utilice el siguiente RANKX
RANKX(
'Mesa',
'Tabla'[tiempo entre]
,
Asc
)