Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Calcular los días entre la fecha del pedido del pedido n y el pedido n+1 de cada cliente en Power BI

¿Cómo puedo calcular el número de días entre el pedido n y el pedido n+1 para cada cliente en Power BI?

Quiero mostrar y analizar el intervalo de tiempo* (en el día)* entre el primero y el segundo, el segundo y el tercero, etc.

222.JPG

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

@KiKa ,

Puede crear una columna calculada como se muestra a continuación para obtenerla:

Number of days = 
VAR _nextodate =
    CALCULATE (
        MIN ( 'Table'[order date] ),
        FILTER (
            ALL ( 'Table' ),
            'Table'[user id] = EARLIER ( 'Table'[user id] )
                && 'Table'[order id] > EARLIER ( 'Table'[order id] )
        )
    )
RETURN  
    DATEDIFF ( 'Table'[order date], _nextodate, DAY )

yingyinr_0-1661239920848.png

Saludos

Syndicate_Admin
Administrator
Administrator

@KiKa , Pruebe una nueva columna como

Nueva columna =
var _max = maxx(filter(Table, [User Id] =earlier([User Id]) && [Order Id] < anterior([Order Id]) ),[Order ID])
devolución
datediff([fecha del pedido] , maxx(filter(Table, [Id de usuario] =anterior([Id de usuario]) && [Id del pedido]= _max ),[Fecha del pedido]) , Día)+1

@amitchandak

¡Eh! Utilicé su solución propuesta anteriormente para resolver un problema similar. Sin embargo, la fórmula parece tener dificultades cada vez que el segundo pedido es en un nuevo año o cada vez que un cliente ha realizado dos pedidos en el mismo día (ver ejemplo a continuación). En esos casos resulta negativo.

ErikOmni_0-1665077209715.png

ErikOmni_2-1665077566667.png

ErikOmni_3-1665077662539.png

Así es como se ve la fórmula con mis datos

Días entre pedidos =
Dónde _max = maxx(filtro(OrderData, [ID de cliente] =anterior([ID de cliente]) && [Id.de pedido] < anterior([Id.de pedido]) ),[Id.de pedido])
devolución
datediff([Fecha de pedido] , maxx(filtro(OrderData, [ID de cliente] =anterior([ID de cliente]) && [Id.de pedido]= _max ),[Fecha de pedido]) , Día)+1


¿Alguna idea? ¡Gracias!

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.