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 nowData Days is here! Join us now for 60+ days of learning, challenges, and connection. Learn more
Hola amigos,
Mi primera vez publicando aquí y soy nuevo en DAX.
Estoy luchando con este escenario específico y he pasado horas en él. Esperando que alguien pueda ayudar.
Tengo una tabla llamada Cliente y contiene el número de cliente. Esta tabla está relacionada con otra tabla llamada Suscripciones a través del número de cliente. La tabla Suscripción se conecta a la Tabla de productos a través de una clave de producto.
Estoy tratando de etiquetar o categorizar a los clientes en función de las banderas de producto (4 columnas de Prodcut diferentes con valores de 1 o 0). Un 1 significa que el cliente se ha suscrito a ese Producto. Algunos clientes se han suscrito a más de 1 Producto (o una combinación de Productos).
Quiero categorizar a los clientes basándome en lo siguiente. Por lo tanto, esencialmente, un Cliente único puede clasificarse en función de una combinación única de Productos.
| Categoría A = | Producto A | Producto B | Producto C | Producto D |
| Categoría B = | Producto A | Producto B | Producto C | |
| Categoría C = | Producto A | Producto B |
La salida en una tabla visual se vería como
| Categoría | Recuento de clientes |
| Categoría A = | 100 |
| Categoría B = | 50 |
| Categoría C = | 20 |
Puede crear una medida separada para cada categoría como
Category B =
VAR CategoryFilter =
TREATAS (
{ ( 1, 1, 1, 0 ) },
'Product'[Product A],
'Product'[Product B],
'Product'[Product C],
'Product'[Product D]
)
RETURN
CALCULATE ( DISTINCTCOUNT ( 'Subscriptions'[Customer ID] ), CategoryFilter )
Tendría que especificar un 0 o 1 para cada columna para asegurarse de que, por ejemplo, las personas de la categoría A no se contaran dos veces en las otras categorías.
Gracias por su respuesta @johnt75
Le di una oportunidad a esto y lo visual no funcionó. No estoy seguro de cómo decodificarlo. El valor de las banderas de producto está en formato de texto (por lo que 1 y 0) están en formato de texto.
Pensando en una solución alernativa y preguntándome si podría etiquetar a los clientes de alguna manera, es decir, el Cliente 1 está etiquetado como A | B | C (ya que se han suscrito al Producto A, B Y C).
Puede intentar agregar una columna de categoría como
Customer Category =
VAR ProdA =
SUMX (
RELATEDTABLE ( Subscription ),
VALUE ( RELATED ( 'Product'[Product A] ) )
)
VAR ProdB =
SUMX (
RELATEDTABLE ( Subscription ),
VALUE ( RELATED ( 'Product'[Product B] ) )
)
VAR ProdC =
SUMX (
RELATEDTABLE ( Subscription ),
VALUE ( RELATED ( 'Product'[Product C] ) )
)
VAR ProdD =
SUMX (
RELATEDTABLE ( Subscription ),
VALUE ( RELATED ( 'Product'[Product D] ) )
)
VAR Result =
SWITCH (
TRUE (),
ProdA >= 1
&& ProdB >= 1
&& ProdC >= 1
&& ProdD >= 1, "A|B|C|D",
ProdA >= 1
&& ProdB >= 1
&& ProdC >= 1, "A|B|C",
ProdA >= 1
&& ProdB >= 1, "A|B",
"Default category"
)
RETURN
Result
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.