cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
katjakok
Frequent Visitor

Propagación de la medida a nivel de cliente al nivel de pedido

Tengo una tabla de pedidos y en función de la fecha de creación del pedido estoy tratando de calcular el recuento de nuevos clientes/clientes devueltos e ingresos creados por ambos segmentos. ¿Es un poco más complicado porque quiero que sea dinámico en función del período que un usuario elija. (Adjunto es el portátil power bi con mis intentos fallidos de calcular este :))

Aquí está el ejemplo de datos que utilizo:

ClienteOrdencreated_at_dateCantidad
AA101.01.2060
AA210.01.2010
AA330.01.20200
BB123.09.1910
BB201.01.2020
BB310.01.2035
CC123.09.1910
CC230.01.2015


Resultado deseado y explicación:
Supongamos que quiero ver el número de clientes nuevos o que regresan solo para 01.01.2020. Basándose en el ejemplo anterior, el cliente A hizo su primer pedido (A1) en 01.01.2020, por lo tanto, el cliente A es un nuevo cliente para el período dado (01.01.2020). El cliente B hizo su primer pedido (B1) el 23.09.19 y el segundo pedido (B2) se realizó el 01.01.202, por lo tanto, el cliente B es un cliente que regresa para el período dado.
La revista generada por el nuevo cliente y cliente que regresa para el período de 01.01.2020 es:
nuevo cliente: 60 (A1) y cliente de retorno: 10 (B2).

Si hago los mismos cálculos para todo el mes de Janury para 2020, será así:

cliente que regresanuevo cliente
Contar2 (B & C)1 (A)
Ingresos70 (B2+B3 +C2)270 (A1+A2+A3)




Mi lógica para calcular esto era la siguiente:
Como tengo una segmentación de fecha, cuento el número de pedidos antes de la última fecha de la segmentación de datos y el número de pedidos que se colocaron entre las fechas especificadas en la segmentación de datos. Si esos dos números son iguales, entonces es un nuevo cliente.

Aquí está el cálculo para el nuevo cliente:

IsNewCustomer ?? 

Fue

Fecha de finalización: lastdate('Book1'[created_at_date])

Fue

StartDate á firstdate('Book1'[created_at_date])

Ordenes de VARTillNow - CALCULATE (

DISTINCTCOUNT ( 'Book1'[orden]),'Book1'[created_at_date]<-EndDate)

Pedidos de VARInPeriod - CALCULATE (

DISTINCTCOUNT ( 'Book1'[orden]),'Book1'[created_at_date]<-EndDate, 'Book1'[created_at_date]>'StartDate)

devolución

CALCULATE (OrdersTillNow - OrdersInPeriod)

Y luego traté de aplicar esto para contar nuevos clientes:

Recuento de nuevos clientes: CALCULATE(DISTINCTCOUNT(Book1[customer]), filter(Book1, [IsNewCustomer]))

Y como ya puede ver, no funciona porque el isNewCustomer se calcula en el nivel de cliente y no en el nivel de pedido.

Screenshot 2020-12-18 at 22.19.59.png

Pregunta:
¿Cómo podría lograr el resultado deseado que proporcioné en el ejemplo?


cuaderno pbix

3 REPLIES 3
katjakok
Frequent Visitor

@Ashish_Mathur gracias por el cuaderno y la solución! De hecho, hace wotk para el pequeño conjunto de datos.

Sin embargo, si tengo un conjunto de datos grande y quiero mostrar el número de nuevos usuarios durante semanas/días, esta solución no escala.

Esto es lo que obtengo de power bi desktop:

Screenshot 2020-12-22 at 11.25.04.png

Ashish_Mathur
Super User III
Super User III

Hola

Puede descargar mi archivo PBI desde aquí.

Espero que esto ayude.

Untitled.png


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/

Hay un patrón probado y probado para esto. Lo he usado y funciona. https://www.daxpatterns.com/new-and-returning-customers/



* Matt is a Microsoft MVP (Power BI) and author of the Power BI Book Supercharge Power BI.

Helpful resources

Announcements
PBI User Groups

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group

html:
Carousel MBAS ARun Part 1 768x460

MBAS 2021

say Join Arun Ulagaratchagan and the Power BI team at MBAS! #MSBizAppsSummit #CommunityRocks

April Update

Check it Out!

Click here to read more about the April 2021 Updates!

MBAS Carousel

Sign up for our May 4th event!

May the fourth be with you, join us online!