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

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply

¿CUÁNTOS CLIENTES HEMOS PERDIDO ESTE AÑO?

Necesito su ayuda para responder a la pregunta resaltada anteriormente.

LO QUE LOS DATOS SE VEN COMO (Modelo tabular, Conexión dinámica en vivo)

- Tabla de hechos: VENTAS (Producto, Cliente, Importe, Precio, ...)

- Tabla de dimensiones: CLIENTES (id, nombre, ...)

SEGMENTACIÓN DE CLIENTES DESIDERED

EtiquetaIdentifica
-100

Cliente perdido: el año anterior fue la última vez que compró

-1

Cliente descreased: el año antes de comprar más de ahora

1

Aumento del cliente: el año anterior a la compra de menos de ahora

100

Cliente ganado: este año fue la primera vez que compró

LO QUE HE HECHO HASTA AHORA

He creado una medida de la siguiente manera para calcular la segmentación para cada cliente (esta fórmula da la salida desidered):

segmentación ?

VAR maxyear á max(SELLINGS[año])

var sellings á round(CALCULATE(sum(SELLINGS[price]), SELLINGS[year] á maxyear), 2)

var sellingsBefore á round(CALCULATE(sum(SELLINGS[price]), SELLINGS[year] á maxyear -1), 2)

return if(and(sellingsBefore <> 0, sellings <-0), -100, if(and(sellingsBefore á 0, f sellings > 0), 100, if(sellings > sellingsBefore, 1, if(sellings < sellingsBefore, -1, 0))))

Y trató de la siguiente fórmula para calcular los clientes perdidos:

lostCustomers - CALCULATE(DISTINCTCOUNT(CUSTOMERS[id]), FILTER ( SELLINGS, SELLINGS[segmentation] -100))

El valor devuelto está en blanco, pero sé que el cliente perdido es 37.

LO QUE SUPONGO

Supongo que mi fórmula es incorrecta porque la fórmula no se aplica al identificador de cliente antes de aplicar el recuento distinto. El problema es que no sé cómo solucionarlo. ¿Cómo crear una tabla de estilos de matriz en la que pueda realizar el recuento distinto?

¿Me puedes ayudar?

¿Cómo puedo contar a los clientes y mostrar en un gráfico cuántos para cada segmentación? ¡Gracias!

1 ACCEPTED SOLUTION

Jugando con la fórmula que proporcionó y cambiándola he venido a la solución desesidered:

Clientes perdidos ?
Año VAR á MAX(fatturato[anno_fattura])
devolución
CALCULATE(
COUNTROWS( FILTRO (
RESUMEN(
volumen de negocios[codice_cliente_statistico],
"Año" , IF(ISBLANK(CALCULATE( SUM(turnover[turnover]), turnover[anno_fattura] á Year)), 0, CALCULATE(SUM(turnover[turnover]) , turnover[anno_fattura] ? Year)) ,
"Año-1" , IF(ISBLANK(CALCULATE( SUM(turnover[turnover]), turnover[anno_fattura] á Year-1)), 0, CALCULATE( SUM(turnover[turnover]), turnover[anno_fattura] - Year-1))) ,

[Año] <-0 &&
[Año-1] > 0 )

))
¡Muchas gracias!

View solution in original post

10 REPLIES 10
tex628
Community Champion
Community Champion

Pruebe esta medida, si funciona para clientes perdidos podemos fácilmente hacer una para cada segmentación:

Lost Customers =
VAR Year = MAX(Calendar[Year])
VAR Year-1 = Year -1 
VAR Year-2 = Year -2 
Return
CALCULATE(
COUNTROWS(
SUMMARIZE( 
Customers[ID],
"Year" , CALCULATE( SUM(Sellings[Price]) , ALL(Calendar) , Calendar[Year] = Year) ,
"Year-1" , CALCULATE( SUM(Sellings[Price]) , ALL(Calendar) , Calendar[Year] = Year-1) ,
"Year-2" , CALCULATE( SUM(Sellings[Price]) , ALL(Calendar) , Calendar[Year] = Year-2)
)),
[Year] = BLANK(),
[Year-1] = BLANK(),
[Year-2] <> BLANK()
)


Br
J


Connect on LinkedIn

Hola John,

He aplicado su fórmula y he observado estos errores resaltados (por favor, mire los nombres de tablas y campos italianos que he traducido antes para una mejor comprensión en la comunidad... fatturato - VENTAS, codice_cliente_statistico - identificador de cliente)

gabrielefugazzi_0-1603879097755.png

Dado que se detecta un error en los filtros aplicados a la función de resumen, he intentado lo siguiente:

Clientes perdidos ?
Año VAR á MAX(fatturato[anno_fattura])

Regreso, 19
CALCULATE(
COUNTROWS( FILTRO (
RESUMEN(
volumen de negocios[codice_cliente_statistico],
"Año", CALCULATE( SUM(turnover[turnover]), ALL(turnover), turnover[anno_fattura] - Year) ,
"Año-1", CALCULATE( SUM(turnover[turnover]), ALL(turnover), turnover[anno_fattura] - Año-1)),

[Año] - BLANK() &&
[Año-1] <> BLANK() )

))

Pero el resultado devuelto sigue siendo BLANK 🙄.

Gracias por su ayuda

Hay un ")" demasiado aquí:

image.png


Connect on LinkedIn

Al quitarlo, se produce el siguiente error (siempre en la cláusula filter)

gabrielefugazzi_1-1603880145999.png

¡Mi mal, no estaba pensando bien! Usted debe ser totalmente correcto con el enfoque filter() que me preocupa en cuanto a por qué usted está recibiendo un resultado en blanco allí. Si solo haces una conteo normal sin ningún filtro, ¿qué resultado obtienes?

Lost Customers =
VAR Year = MAX(Calendar[Year])
Return
COUNTROWS(
SUMMARIZE( 
Customers[ID],
"Year" , CALCULATE( SUM(Sellings[Price]) , ALL(Calendar) , Calendar[Year] = Year) ,
"Year-1" , CALCULATE( SUM(Sellings[Price]) , ALL(Calendar) , Calendar[Year] = Year-1) ,
"Year-2" , CALCULATE( SUM(Sellings[Price]) , ALL(Calendar) , Calendar[Year] = Year-2)
)




Connect on LinkedIn

No hay problema en absoluto! Sólo estoy aprendiendo

Haciendo lo sugerido he definido la fórmula de la siguiente manera:

Clientes perdidos ?
Año VAR á MAX(fatturato[anno_fattura])

devolución
CALCULATE(
COUNTROWS(
RESUMEN(
volumen de negocios[codice_cliente_statistico],
"Año", CALCULATE( SUM(turnover[turnover]), ALL(turnover), turnover[anno_fattura] - Year) ,
"Año-1", CALCULATE( SUM(turnover[turnover]), ALL(turnover), turnover[anno_fattura] - Año-1))

))
A partir de esta fórmula, la salida debe ser el número total de clientes con su importe total de venta por año (si estoy en lo correcto). La salida es 10826.
Un resultado extraño porque al ejecutar la consulta en Excel (conectado al modelo tabular) el resultado es 5791 clientes en 2019 y 2020 (el mismo período seleccionado en PowerBI).
También he intentado cambiar COUNTROWS con DISTINCTCOUNT, pero no se realizó correctamente porque DAX rechaza esa combinación de función (parámetro no es del tipo correcto).
Me equivoco en algo, pero no puedo verlo.

Con 2020 seleccionado en la segmentación de datos. Esto debería devolver el número exacto de clientes distintos con ventas en 2020 o 2019.

Si agrega esto en una tabla con la columna de cliente, debe obtener las ventas de 2020. Podría facilitar la comparación y ver si las cosas se están calculando correctamente:

2020 = 
SUMX(
SUMMARIZE(
fatturato, fatturato[codice_cliente_statistico],
"Year" , CALCULATE( SUM(fatturato[fatturato]) , ALL(fatturato) , fatturato[anno_fattura] = Year) ,
"Year-1" , CALCULATE( SUM(fatturato[fatturato]) , ALL(fatturato) , fatturato[anno_fattura] = Year-1)), 
[Year]
)


Br
J





Connect on LinkedIn

Jugando con la fórmula que proporcionó y cambiándola he venido a la solución desesidered:

Clientes perdidos ?
Año VAR á MAX(fatturato[anno_fattura])
devolución
CALCULATE(
COUNTROWS( FILTRO (
RESUMEN(
volumen de negocios[codice_cliente_statistico],
"Año" , IF(ISBLANK(CALCULATE( SUM(turnover[turnover]), turnover[anno_fattura] á Year)), 0, CALCULATE(SUM(turnover[turnover]) , turnover[anno_fattura] ? Year)) ,
"Año-1" , IF(ISBLANK(CALCULATE( SUM(turnover[turnover]), turnover[anno_fattura] á Year-1)), 0, CALCULATE( SUM(turnover[turnover]), turnover[anno_fattura] - Year-1))) ,

[Año] <-0 &&
[Año-1] > 0 )

))
¡Muchas gracias!

Maravilloso para escuchar! Buena apariencia con cálculos futuros 🙂

Br
J


Connect on LinkedIn
amitchandak
Super User
Super User

@gabrielefugazzi, consulte este blog. Y usar Datesytd en lugar de datesmtd

https://community.powerbi.com/t5/Community-Blog/Customer-Retention-Part-1-Month-on-Month-Retention/b...

Consulte también: https://community.powerbi.com/t5/Community-Blog/Customer-Retention-Part-2-Period-over-Period-Retenti...

Join us as experts from around the world come together to shape the future of data and AI!
At the Microsoft Analytics Community Conference, global leaders and influential voices are stepping up to share their knowledge and help you master the latest in Microsoft Fabric, Copilot, and Purview.
️ November 12th-14th, 2024
 Online Event
Register Here

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors
Top Kudoed Authors