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

Get Fabric Certified for FREE during AI Skills Fest. This week only. Secure your voucher now.

Reply
sagar_r01
Microsoft Employee
Microsoft Employee

Bandera de productos comunes con los clientes

Quiero establecer Flag para los productos en función de su uso común por los clientes.

A continuación se muestra el esquema de mi tabla. Tenemos 5 clientes con qué productos (3 productos, por ejemplo) están utilizando en un mes determinado. Así que mi requisito es establecer una bandera para cada producto que se establecería en YES / NO basado en el Producto utilizado por el Cliente

Por ejemplo, los clientes 1, 2 y 3 utilizan el producto A, por lo que debe entrar para todas las filas bajo la columna"El cliente tiene el producto A" para el cliente 1, 2 y 3. Del mismo modo para ¿Tiene el cliente el producto B y el cliente tiene el producto C

Y si el Cliente tiene los 3 Productos, todas las filas para ese cliente en la columna ¿Tiene el Cliente El Producto A, B y C debe ser

El DAX también debe comprobar el mes también al establecer la marca.

Esquema y columnas esperadas

MonthEndClienteProductoColumna 1Columna 2Columna 3¿Tiene el cliente el producto A¿Tiene el cliente el producto B¿Tiene el cliente el producto CDoes Customer Have Product A, B and C
1/31/20201A
1/31/20201B
1/31/20201C
1/31/20202A NoNo
1/31/20202B NoNo
1/31/20203A NoNoNo
1/31/20204B NoNoNo
1/31/20205C NoNoNo

Gracias

Sagar

3 REPLIES 3
v-juanli-msft
Community Support
Community Support

Hola @sagar_r01

Crear columnas calculadas

allproducts = CONCATENATEX(FILTER('Table','Table'[MonthEnd]=EARLIER('Table'[MonthEnd])&&'Table'[Customer]=EARLIER('Table'[Customer])),[Product],",")

Does Customer Have Product A = IF(FIND("A",[allproducts],1,0),"Yes","No")

Does Customer Have Product B = IF(FIND("B",[allproducts],1,0),"Yes","No")

Does Customer Have Product C = IF(FIND("C",[allproducts],1,0),"Yes","No")

Does Customer Have Product A,B,C = IF(FIND("A",[allproducts],1,0)&&FIND("B",[allproducts],1,0)&&FIND("C",[allproducts],1,0),"Yes","No")

Capture12.JPG

Saludos
Maggie
Equipo de apoyo a la comunidad _ Maggie Li
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

TomMartens
Super User
Super User

Hey @sagar_r01 ,

No estoy seguro si entiendo su requisito al 100%.

Creé una medida:

has product = 
var pathProduct = CONCATENATEX(ALL('Table'[Product]) , [Product] , "|" , [Product] , ASC)
var pathProductLength = PATHLENGTH(pathProduct)
return
IF(HASONEVALUE('Table'[Customer])
    ,IF(AND(HASONEVALUE('Table'[Product]) , ISFILTERED('Table'[Product]))
        , IF(
            PATHCONTAINS(pathProduct , MAX('Table'[Product]))
            , "Yes"
            , BLANK()
        )
        , 
        var noOfProducts =
            SUMX(
                VALUES('Table'[Product])
                , IF(
                    PATHCONTAINS(pathProduct , [Product])
                    , 1
                    , BLANK() --"No"
                )
            )
        return
        IF(noOfProducts = pathProductLength
            , "Has All Products" --"Yes"
            , CONCATENATE("No of Products: " , noOfProducts) --"No"
        )
    )
    ,BLANK()
)

Esta medida permite crear este objeto visual de matriz:

image.png

Dentro de la medida, se crea una cadena con todos los productos mediante la función de iterador CONCATENATEX, utilizando el valor de la palabra "" como separador, es posible utilizar el PATH... Funciones.


Por supuesto, puede usar "No" donde uso BLANK o en el total de filas "Sí" y "No".

Si necesita columnas calculadas, esto se volverá más complejo, ya que se debe crear una tabla dedicada con un número dinámico de columnas, ya que el número de productos puede variar.

Sin embargo, espero que esto proporcione algunas ideas sobre cómo abordar su desafío.

saludos

Tom



Did I answer your question? Mark my post as a solution, this will help others!

Proud to be a Super User!
I accept Kudos 😉
Hamburg, Germany

Gracias por la respuesta, la razón por la que estaba buscando las banderas como una columna calculada, ya que necesito estas banderas más para realizar algunos cálculos más.

Helpful resources

Announcements
May Power BI Update Carousel

Power BI Monthly Update - May 2026

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

Fabric SQL PBI Data Days

Data Days 2026 coming soon!

Sign up to receive a private message when registration opens and key events begin.

New to Fabric survey Carousel

New to Fabric Survey

If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.

Top Kudoed Authors