Get certified for free when you join Fabric Data Days 2026 and dive into Fabric, Power BI, SQL, AI, and other essential data skills.
Join nowTry your skills in the Power BI Dataviz World Championship! Round one ends June 26. Join now
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 Sí 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 Sí
El DAX también debe comprobar el mes también al establecer la marca.
Esquema y columnas esperadas
| MonthEnd | Cliente | Producto | Columna 1 | Columna 2 | Columna 3 | ¿Tiene el cliente el producto A | ¿Tiene el cliente el producto B | ¿Tiene el cliente el producto C | Does Customer Have Product A, B and C |
| 1/31/2020 | 1 | A | Sí | Sí | Sí | Sí | |||
| 1/31/2020 | 1 | B | Sí | Sí | Sí | Sí | |||
| 1/31/2020 | 1 | C | Sí | Sí | Sí | Sí | |||
| 1/31/2020 | 2 | A | Sí | Sí | No | No | |||
| 1/31/2020 | 2 | B | Sí | Sí | No | No | |||
| 1/31/2020 | 3 | A | Sí | No | No | No | |||
| 1/31/2020 | 4 | B | No | Sí | No | No | |||
| 1/31/2020 | 5 | C | No | No | Sí | No |
Gracias
Sagar
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")
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.
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:
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
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.
Don't miss out on Data Days, June 15 through August 7. Learn Fabric, Power BI, SQL, AI and more.
Check out the May 2026 Power BI update to learn about new features.