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
Anonymous
Not applicable

Contar el número de clientes que compran al menos un producto de un clúster

Hola a todos

Me gustaría contar el número de clientes que compran al menos un producto de un clúster específico. Para capturar esta información, tengo dos tablas.

Tabla de productos, con los siguientes campos: Código de producto, Categoría, subcategoría, Clúster. Aquí tenemos la relación entre producto y Cluster.

Tabla de ventas, con: Región, código de cliente, Código de producto, Ventas año actual, Ventas el año pasado.

Las tablas tienen una relación mediante "Código de producto".

Como ejemplo simple, podemos tener los siguientes datos en la tabla de productos:

Código de producto

Categoría

Subcategoría

Clúster

1

Plástico

Mascota

2

Metal

Hierro

A

3

Metal

Hierro

B

4

Metal

Hierro

B

5

Plástico

Mascota

A

Y tabla de ventas:

Región

Código de cliente

Código de producto

Ventas CY

Ventas LY

Región 1

11

2

5

0

Región 1

11

5

4

0

Región 1

11

1

0

8

Región 1

11

3

0

7

Región 1

12

4

6

5

Región 2

21

3

9

5

Región 2

21

2

0

2

El informe de salida basado en este ejemplo y el uso de ambas tablas debe ser el siguiente:

Clúster

Clientes CY

Clientes LY

A

1

1

B

2

3

¿Cómo puedo construirlo? ¡Muchas gracias!

Comentarios:

* Las dos primeras filas, con los productos 2 y 5, solo cuentan una vez para el clúster A, porque es el mismo cliente (11).

* Si el producto no tiene ventas en el período, no debe contar.

* Si el mismo cliente está comprando productos de los clusters A y B, debe contar para ambos A&B.

* Si el informe es matriz y agredo la dimensión Región, debe contar por clúster y al realizar el desglose, consulte el detalle del clúster en el nivel de región.

1 ACCEPTED SOLUTION
v-alq-msft
Community Support
Community Support

Hola, @JoBe

Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.

Hay una relación entre dos tablas.

b1.png

Puede crear dos medidas como se indica a continuación.

Customers CY = 
var tab = 
SUMMARIZE(
    'Product',
    'Product'[Cluster],
    "Count CY",
    var t1 = 
    SUMMARIZE(
        Sales,
        Sales[Customer Code],
        "Sales CY",SUM(Sales[Sales CY])
    )
    return
    COUNTROWS(
        FILTER(
            t1,
            [Sales CY]<>0
        )
    )
)
return
SUMX(
    tab,
    [Count CY]
)

Customers LY = 
var tab = 
SUMMARIZE(
    'Product',
    'Product'[Cluster],
    "Count LY",
    var t2 = 
    SUMMARIZE(
        Sales,
        Sales[Customer Code],
        "Sales LY",SUM(Sales[Sales LY])
    )
    return
    COUNTROWS(
        FILTER(
            t2,
            [Sales LY]<>0
        )
    )
)
return
SUMX(
    tab,
    [Count LY]
)

Resultado:

b3.png

Saludos

Allan

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

View solution in original post

4 REPLIES 4
v-alq-msft
Community Support
Community Support

Hola, @JoBe

Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.

Hay una relación entre dos tablas.

b1.png

Puede crear dos medidas como se indica a continuación.

Customers CY = 
var tab = 
SUMMARIZE(
    'Product',
    'Product'[Cluster],
    "Count CY",
    var t1 = 
    SUMMARIZE(
        Sales,
        Sales[Customer Code],
        "Sales CY",SUM(Sales[Sales CY])
    )
    return
    COUNTROWS(
        FILTER(
            t1,
            [Sales CY]<>0
        )
    )
)
return
SUMX(
    tab,
    [Count CY]
)

Customers LY = 
var tab = 
SUMMARIZE(
    'Product',
    'Product'[Cluster],
    "Count LY",
    var t2 = 
    SUMMARIZE(
        Sales,
        Sales[Customer Code],
        "Sales LY",SUM(Sales[Sales LY])
    )
    return
    COUNTROWS(
        FILTER(
            t2,
            [Sales LY]<>0
        )
    )
)
return
SUMX(
    tab,
    [Count LY]
)

Resultado:

b3.png

Saludos

Allan

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

Anonymous
Not applicable

Hola @v-alq-msft , muy apreciado!

He adaptado la fórmula a mi informe y funciona bien para cada clúster. Sólo hay un punto que resolver:

Al calcular el total, no es una simple adición. Por ejemplo, si un cliente está comprando el clúster A y el clúster B, es correcto que agregue 1 para cada clúster (desde la perspectiva de la fila del clúster en el informe). Pero en total, debe considerarse como uno, no dos, porque es el mismo cliente, y me gustaría ver como un total el recuento de clientes únicos.

¡Muchas gracias!

amitchandak
Super User
Super User

@JoBe , si usted toma distinctcount(sales[Customer])

Eso debería funcionar. Suponiendo que se haya unido al producto

Para CY y LY refiérase

https://medium.com/@amitchandak.1978/power-bi-ytd-questions-time-intelligence-1-5-e3174b39f38a

Anonymous
Not applicable

Hola @amitchandak, gracias por su respuesta!

Usando distinctcount(sales[Customer]), muestra todos los clientes únicos tanto para el año actual como para el año pasado al mismo tiempo, debido a la estructura de la tabla Sales descrita en el primer mensaje. ¿Cómo puedo filtrar este recuento distinto solo para capturar a los clientes con ventas en el año actual? Y voy a aplicar la misma lógica a LY.

En la tabla de ventas tengo al mismo tiempo ventas para ambos períodos, en las columnas LY y CY.

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.