cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
Helper II
Helper II

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
Aaa2020/2/1 1
Aaa2020/2/1 1
Aaa2020/2/3 2
Aaa2020/3/1 3
Aaa2020/7/1 1
Aaa2020/7/1 1
Aaa2020/7/2 2

He creado dos columnas calculadas, la última fecha y la fecha entre las fechas:

Customer_ID Fecha última fecha tiempo entre
Aaa2020/2/1 0
Aaa2020/2/1 0
Aaa2020/2/3 2020/2/1 2
Aaa2020/3/1 2020/2/3 25
Aaa2020/7/1 2020/3/1 122
Aaa2020/7/1 2020/3/1 122
Aaa2020/7/2 2020/7/1

1

¿Cómo puedo calcular el rango?

Lo intenté

rango ?

SI(
[tiempo entre] á 0o [tiempo entre] > 61, 1,
RANKX (
FILTRO (
'mesa'
,'table'[Customer_ID] - EARLIER ( [Customer_ID] )
&& [shop_id] - ANTERIOR([shop_id])
&& [fecha] < EARLIER([date])
)
,'mesa'[fecha]
,
Asc
Denso
)
Pero esto no me da el resultado correcto. Por favor, aconseje

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted

Pude resolver este problema añadiendo la siguiente condición:
[fecha] > EARLIER([fecha]) -61
frecuencia : RANKX (
FILTRO (
'mesa'
,'table'[Customer_ID] - EARLIER ( [Customer_ID] )
&& [fecha] > EARLIER([fecha]) -61
), [fecha],
Asc
Denso
)

View solution in original post

7 REPLIES 7
Highlighted
Resolver II
Resolver II

Utilice el siguiente RANKX

RANKX(
'Mesa',
'Tabla'[tiempo entre]

,

Asc

)

Highlighted
Super User IV
Super User IV

@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)



Did I answer your question? Mark my post as a solution! Appreciate your Kudos!!
Dashboard of My Blogs !! YouTube Channel !! Connect on Linkedin

Proud to be a Super User!

Highlighted

@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

キャプチャ.PNG

Highlighted

@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.



Did I answer your question? Mark my post as a solution! Appreciate your Kudos!!
Dashboard of My Blogs !! YouTube Channel !! Connect on Linkedin

Proud to be a Super User!

Highlighted

@amitchandak gracias,

Por favor, encuentre el archivo pbix en el siguiente enlace:

https://1drv.ms/u/s!AsNOXcTG8UttgddMZkYv_tkF0luqVw

Highlighted

@amitchandak

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)

Highlighted

Pude resolver este problema añadiendo la siguiente condición:
[fecha] > EARLIER([fecha]) -61
frecuencia : RANKX (
FILTRO (
'mesa'
,'table'[Customer_ID] - EARLIER ( [Customer_ID] )
&& [fecha] > EARLIER([fecha]) -61
), [fecha],
Asc
Denso
)

View solution in original post

Helpful resources

Announcements
Community Conference

Power Platform Community Conference

Check out the on demand sessions that are available now!

Community Conference

Microsoft Power Platform Communities

Check out the Winners!

secondImage

Power Platform 2020 release wave 2 plan

Features releasing from October 2020 through March 2021

Top Solution Authors