This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. We're covering it all. You won't want to miss it.
Learn moreGet Fabric Certified for FREE during AI Skills Fest. This week only. Secure your voucher 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.
Check out the May 2026 Power BI update to learn about new features.
Sign up to receive a private message when registration opens and key events begin.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.