Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
Tengo mis datos estructurados como se muestra a continuación en una tabla contractProducts, que proporciona cada combinación de contrato y producto, así como el producto anterior para cada contrato (cada contrato puede tener más de un producto).
contract_id | product_id | previous_product_id |
1 | 1 | 1 |
2 | 2 | 1 |
2 | 3 | 3 |
3 | 3 | 2 |
4 | 1 | 3 |
5 | 3 | 1 |
6 | 2 | 3 |
6 | 1 | 2 |
7 | 3 | 3 |
8 | 1 | 1 |
9 | 1 | 2 |
9 | 2 | 3 |
10 | 3 | 1 |
También tengo una tabla de beneficios del producto (abajo), que muestra todos los beneficios seleccionados para cada producto.
product_id | benefit_name |
1 | piernas |
1 | armas |
1 | cabeza |
1 | Atrás |
2 | piernas |
2 | armas |
2 | manos |
2 | pies |
3 | piernas |
3 | manos |
3 | ojos |
3 | riñón izquierdo |
Estos tienen una relación de muchos-muchos entre ellos en función del ID del producto en cada uno, me encantaría poder refactorizarlo o de alguna manera dividirlo todo en un modelo mucho más sensato, pero debido al sistema con el que estoy trabajando y cómo se estructuran y adjuntan los beneficios a la información del producto, eso no es factible (lo he intentado, pero esto es lo más cercano que hay, En pocas palabras, no es realmente posible hacer una lista única de beneficios y/o productos de una manera que mantenga la información correcta).
Lo que quiero en Power Bi es una matriz que muestre cada contrato, que pueda expandirse para mostrar todos los beneficios de su producto actual, y verificar si cada beneficio es nuevo (basado en el ID del producto anterior) (la imagen a continuación, como una imagen para que sea más fácil ver cómo funciona la matriz, no será completamente igual a los datos anteriores):
Esencialmente, quiero una medida que encuentre:
Para cada producto que tienen
Por cada beneficio de ese producto
Hola @ajc96 -Compare el beneficio actual con los beneficios del producto anterior utilizando CONTAINS o una función DAX similar.
Crear medida:
IsNewBenefit =
VAR currentProductID = SELECTEDVALUE(contractProducts[product_id])
VAR anteriorProductID = SELECTEDVALUE(contractProducts[previous_product_id])
VAR currentBenefit = SELECTEDVALUE(productBenefits[benefit_name])
-- Obtenga los beneficios del producto anterior
VAR anteriorProductoBeneficios =
CALCULATETABLE(
VALUES(productBenefits[benefit_name]),
productBenefits[product_id] = previousProductID
)
-- Comprobar si el beneficio actual existe en los beneficios del producto anterior
El VAR esNuevoBeneficio =
SI(
NO CONTIENE(anteriorProductoBeneficios, productoBeneficios[benefit_name], currentBenefici),
"Sí", -- El beneficio es nuevo
"No" -- El beneficio existe en el producto anterior
)
RETURN isNewBenefit
Hágamelo saber si esto funciona para su configuración, si corresponde, comparta más referencias y detalles.
Check out the September 2024 Power BI update to learn about new features.
Learn from experts, get hands-on experience, and win awesome prizes.
User | Count |
---|---|
2 | |
2 | |
1 | |
1 | |
1 |