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

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Contar los clientes recurrentes que se superponen con el primer o nuevo cliente

Hola, necesito crear una medida para contar el cliente que recibe por primera vez y el cliente que regresa para un producto específico, llamemos a este producto X.

la tabla de ventas contiene datos de ID DE PEDIDO, FECHA DE PEDIDO, ID DE CLIENTE, ID DE PRODUCTO, CANTIDAD, VENTAS

La tabla de fechas tiene la fecha habitual que tiene la tabla, solo uso estas dos tablas.

El cliente por primera vez es el cliente que compró un producto por primera vez, sin importar qué producto.

es decir, el cliente A compró el producto ABC para su primera compra, luego compró el producto X. eventho cliente A primera compra específicamente para el producto X es correcto, no cuenta como primer cliente.

El cliente recurrente es el cliente que ha comprado algo anteriormente, sin importar el producto. pero en el período actual está comprando el producto X.

Es decir, el usuario elige el rango de fechas entre el 12 de marzo y el 25 de marzo, la tabla donde voy a presentar las imágenes será a nivel semanal, por lo que dos filas: 18 de marzo y 25 de marzo. El recuento de clientes recurrentes del 18 de marzo será el recuento de clientes que compraron produc tX dentro de este período (12 de marzo - 18 de marzo) que previamente (antes del 18 de marzo) han comprado CUALQUIER producto.

Al principio, creo un cliente por primera vez usando esta medida y obtiene el número correcto:

Cliente por primera vez =

VAR A =

CALCULATETABLE( ADDCOLUMNS( VALUES( sales[customerid] ),

"Firstcustomerdate", [fecha del primer cliente],

"Firstorder", CALCULATE(MIN(sales[orderid]), ALLEXCEPT( sales, sales[customerid]))

), ALLSELECTED(sales[customerid]), ALLSELECTED(datetable)

)

La primera medida de la fecha del cliente es esta:

CALCULAR(MIN(ventas[fecha de pedido]), TODOSEXCEPTO(ventas, ventas[customerid]))
para el cliente que regresa es simplemente DISTINTCOUNT(sales[customerid]) - [cliente por primera vez]
Pero luego me di cuenta de que el número que las partes interesadas tienen para el cliente que regresa siempre es más alto que el mío porque también incluye a algunos de los clientes primerizos, que compraron su segunda o tercera compra dentro de ese período. Incluso hay algunos clientes que compran dos veces en el mismo día, por lo que para su primer pedido ese cliente se cuenta como cliente por primera vez y para su segundo pedido ese cliente se cuenta como cliente recurrente.
Intenté usar esta medida y seguir algunos videos de youtube, pero por desgracia todavía puedo encontrar los valores correctos como quieren las partes interesadas, obtuvieron su número de un sitio web que proporciona estadísticas de usuarios.
Cliente recurrente =
FUERON MinDate = MIN ( 'Tabla de fechas'[fecha] )
FUERON CustomersWithNewDate =
CALCULABLETABLE ( -- Prepara una tabla que
ADDCOLUMNS ( -- para cada cliente contiene
VALORES ( ventas[customerid] ), -- su primera fecha de compra
"@NewCustomerDate", [Fecha del primer cliente]
),
TODOS SELECCIONADOS ( ventas ), -- Independientemente de los filtros locales en el cliente
TODOS SELECCIONADOS ( 'Tabla de fechas' ) -- y en la fecha
)
FUERON Clientes existentes = -- Para conseguir los clientes existentes,
FILTRO ( -- esto filtra a todos los clientes
CustomersWithNewDate, -- y los cheques que su primera compra tomó
[@NewCustomerDate] < MinDate -- lugar antes del inicio del período actual
)
FUERON Clientes recurrentes = -- Obtiene los clientes que regresan
CRUZAR ( -- como la intersección entre
VALORES ( ventas[customerid] ), -- los clientes activos en la selección
SELECTCOLUMNS ( -- y los clientes existentes
Clientes existentes,
"Clave de cliente", ventas[customerid]
)
)
FUERON Resultado =
COUNTROWS ( Clientes recurrentes )
DEVOLUCIÓN
Resultado

notas: el uso de esta medida de cliente recurrente me dio incluso menos recuento que el que usa DISTINCTCOUNT. El uso de DISTINCOUNT me dio valores más cercanos con los de las partes interesadas

¡Gracias!

1 REPLY 1
Syndicate_Admin
Administrator
Administrator

Hola @venessaw ,

¿Puede compartir datos de muestra y salida de muestra en formato de tabla? O un pbix de muestra después de eliminar datos confidenciales. Podemos entender mejor el problema y ayudarle.

Saludos

Liu Yang

Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel

Power BI Monthly Update - May 2024

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