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

Análisis de cesta de mercado - encontrar los ingresos de los clientes que compraron el combo de productos

Hola a todos,

Agradezco que alguien pueda ayudarme en esto.

Actualmente estoy haciendo un proyecto sobre análisis de cesta de la compra (también llamado análisis de asociación de productos).

El propósito es encontrar combinaciones de productos que los clientes compran y que potencialmente podemos vender a futuros clientes. Por ejemplo, a partir de nuestros datos, es posible que hayamos visto que había un número de clientes que compraban leche (producto A) y cookies (producto B) de nosotros. Esto significaría que podemos vender galletas a clientes que nos compren solo leche en el futuro.

En los casos habituales, este análisis se haría mediante la búsqueda del NÚMERO de clientes que compran ambos productos (referencia: aquí).

Por ejemplo, 20 clientes han comprado leche, 13 clientes han comprado galletas, intersecándolas con 7 clientes comprados ambos productos, etc.

Sin embargo, en mi caso, quiero encontrar los ingresos recibidos de los clientes que han comprado ambos productos.

Por ejemplo, 20 clientes han gastado $20 comprando leche, 13 clientes han gastado $13 comprando galletas, intersecándolas con 7 clientes han gastado $14 comprando ambos productos.

Mi conjunto de datos está estructurado de tal manera que es por cliente y transacciones y solo 1 producto por transacción.

Consulte a continuación la muestra simplificada. (Por supuesto, hay más de 2 productos en mi fuente de datos.)

ClienteTransactionNoProductoIngresos
Aaa1Leche20
Bbb2Galletas10
Bbb3Leche16
Ccc4Galletas8
Ddd5Galletas6
Ddd6Leche24

He intentado adaptar las fórmulas y la guía de análisis de aquí y de aquí.

Screenshot 2021-01-21 171616.png

Con la medida siguiente, podría replicar esta tabla anterior:

ComprdBoth ?

VAR productrow - VALUES(data[Client])

VAR productcol á CALCULATETABLE(VALUES(data[Client]),ALL(data), TREATAS(VALUES('Product dim column'[Product]),data[Product]))

devolución

COUNTROWS(INTERSECT(productrow, productcol)))

Sin embargo, hasta ahora no puedo obtener los ingresos recibidos. La medida que he utilizado es la siguiente (un montón de texto burbujo porque seguí edting y probando):

RevPurchasedBoth ?

VAR productrow - SUMX(SUMMARIZE(data, data[Client], data[Product]),CALCULATE(SUM(data[Revenue])))

VAR productcol - SUMX(SUMMARIZE(data, data[Client], data[Product]),CALCULATE(SUM(data[Revenue])))

TREATAS(VALUES('Product dim col'[Product]),data[Product]))

VAR tow1 ? VALUES('Producto fila tenue'[Producto])

VAR tow2 - VALUES('Product dim col'[Product])

RETURN CALCULATE(productrow+productcol, INTERSECT(tow1,tow2))

CALCULATE(SUM(data[Revenue]),FILTER(ALL(data), CONTAINS(VALUES('Product dim row'[Product]), 'Product dim row'[Product], data[Product])), FILTER(ALL(data), CONTAINS(VALUES('Product dim col'[Product]), 'Product dim col'[Product]], data[Product]))

Esto es lo que he conseguido:
Screenshot 2021-01-21 170431.png

Apreciar la opinión de cualquier gurú de PBI sobre dónde he ido mal o puntándome al recurso / dirección correcta !! Muchas gracias.

1 ACCEPTED SOLUTION

Actualización2:

¡Tengo los valores que necesitaba!

RevPurchaseBoth ?
VAR productrowTM VALUES(data[Client])
VAR productcol á CALCULATETABLE(VALUES(data[Client]), ALL('Product dim row'),
TREATAS(VALUES('Product dim col'[Product]),data[Product]))
devolución
CALCULATE(data[revrow]+data[revcol], INTERSECT(productrow,productcol))

revrow - SUM(data[Revenue])

revcol á CALCULATE(data[revrow],ALL('Product dim row'), TREATAS(VALUES('Product dim col'[Product]),data[Product]))

Honestamente, no sé por qué funciona ahora cuando creé 2 medidas separadas (revrow y revcol). No funcionó cuando los puse como VAR en la medida RevPurchasedBoth. ¡Agradezco que alguien pueda explicarlo!

View solution in original post

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

actualizar:

Estoy tan cerca de obtener los valores correctos!!

He editado mi medida para esto:

RevPurchaseBoth ?
VAR productrowTM VALUES(data[Client])
VAR productcol á CALCULATETABLE(VALUES(data[Client]), ALL('Product dim row'),
TREATAS(VALUES('Product dim col'[Product]),data[Product]))

devolución
CALCULATE(SUM(data[Revenue]), INTERSECT(productrow,productcol))
Las celdas se muestran correctamente (en blanco donde se supone que está en blanco, rellenada donde se supone que se rellena), pero los valores de las celdas están equivocados. Ahora sólo muestran los ingresos de la base de producto. Lo que necesito es la suma de los ingresos tanto de productrow como de productcol.
¿Alguien sabe cómo resolver este error?

Actualización2:

¡Tengo los valores que necesitaba!

RevPurchaseBoth ?
VAR productrowTM VALUES(data[Client])
VAR productcol á CALCULATETABLE(VALUES(data[Client]), ALL('Product dim row'),
TREATAS(VALUES('Product dim col'[Product]),data[Product]))
devolución
CALCULATE(data[revrow]+data[revcol], INTERSECT(productrow,productcol))

revrow - SUM(data[Revenue])

revcol á CALCULATE(data[revrow],ALL('Product dim row'), TREATAS(VALUES('Product dim col'[Product]),data[Product]))

Honestamente, no sé por qué funciona ahora cuando creé 2 medidas separadas (revrow y revcol). No funcionó cuando los puse como VAR en la medida RevPurchasedBoth. ¡Agradezco que alguien pueda explicarlo!

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.