Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.
Hola estoy tratando de averiguar cómo hacer un tipo de "si y sólo si" de cortador. No puedo compartir los datos con los que estoy trabajando, pero para los fines de mi problema pretenderemos que un cliente puede comprar manzanas, naranjas y plátanos. ¿Cómo puedo crear una columna/medida para usarla como segmentación de datos para mostrarme a los clientes que solo han comprado Apples o [Caso 2] SOLO Manzanas y Naranjas? Cuando filtre digamos Bananas me mostrará los clientes que han comprado manzanas y naranjas [incluyendo aquellos que compraron plátanos también] a pesar de que la cantidad de plátanos no se está mostrando.
La estructura Data solo tiene una tabla con columnas: order_id ( pk), customer_id, fruta, purchase_date y otros campos
La tabla que tengo en mi visualización tiene este aspecto:
QTY es una medida : s count(orderid)
Customerid Fruit QTY
Una manzana 1
Naranjas 2
B Apple 3
Banana 2
C Plátano 2
Naranjas 1
Apple 1
D Apple 4
Y Banana 3
F Apple 1
Naranjas 2
G Naranjas 3
* Marcado con colores los clientes que deben mantenerse al aplicar los filtros en cada 'Caso'
Además, ¿cómo puedo contar los clientes que se filtran ( 1 en el caso 1 , 2 en el caso 2 )
Gracias 🙂
Hola
Por favor, intente crear primero una tabla de corte separada:
A continuación, pruebe esta medida:
Measure =
VAR CustomerIDCountRows =
CALCULATE (
COUNT ( 'Table'[CustomerID] ),
FILTER (
ALL ( 'Table' ),
'Table'[CustomerID] IN FILTERS ( 'Table'[CustomerID] )
)
)
RETURN
SWITCH (
SELECTEDVALUE ( 'Slicer Table'[SlicerValue] ),
"Case 1", IF ( MAX ( 'Table'[Fruit] ) = "Apple" && CustomerIDCountRows = 1, 1, 0 ),
"Case 2", IF (
(
MAX ( 'Table'[Fruit] ) = "Apple"
|| MAX ( 'Table'[Fruit] ) = "Oranges"
)
&& CustomerIDCountRows = 2,
1,
0
)
)
Cuando se selecciona un valor en la segmentación de datos, el resultado muestra:
Aquí está mi archivo pbix de prueba:
Espero que esto ayude.
Saludos
Giotto
Crear medidas como estas
Customer wise ST =calculate(sum(Table[QTY]),allexcpet(Table[Customerid]))
Only Apple = calculate(sum(Table[QTY]),allexcpet(Table[Customerid]),Table[Fruit]="Apple")
Only Orange = calculate(sum(Table[QTY]),allexcpet(Table[Customerid]),Table[Fruit]="Apple")
Apple CT =sumx(filter(summarize(Table,Table[Customerid],"_GT",[Customer wise ST],"_app",[Only Apple]),[_GT]=[_app]),[_app])
Orange CT =sumx(filter(summarize(Table,Table[Customerid],"_GT",[Customer wise ST],"_app",[Only Orange]),[_GT]=[_app]),[_app])
Usa los últimos 2 en una cortadora como https://community.powerbi.com/t5/Desktop/Slicer-MTD-QTD-YTD-to-filter-dates-using-the-slicer/td-p/50...
hi @amitchandak ,
¿Qué pasa si quiero utilizar la "fruta" como una cortadora de selección múltiple para ver múltiples combinaciones : SOLO manzanas o SOLO manzanas y plátanos, SOLO manzanas y naranjas y así sucesivamente. La idea es ver qué clientes compran sólo ese tipo de productos.
Muchas gracias por todo lo 🙂
No pude subir el documento pbix, pero estos son los datos que tengo:
Orderid | Customerid | Fruta |
1 | A | manzana |
2 | A | Naranja |
3 | A | Naranja |
4 | B | manzana |
5 | B | manzana |
6 | B | manzana |
7 | B | Plátano |
8 | B | Plátano |
9 | C | manzana |
10 | C | Plátano |
11 | C | Plátano |
12 | C | Naranja |
13 | D | manzana |
14 | D | manzana |
15 | D | manzana |
16 | D | manzana |
17 | E | Plátano |
18 | E | Plátano |
19 | E | Plátano |
20 | F | manzana |
21 | F | Naranja |
22 | F | Naranja |
23 | G | Naranja |
24 | G | Naranja |
25 | G | Naranja |
Espero que esto sea más útil !
Gracias de antemano 🙂
Hola
Si mi respuesta ha resuelto su problema, por favor márquelo como una solución para que otros lo vean.
¡Gracias!
Saludos
Giotto
Hola
Intente crear primero una tabla de segmentación de datos:
SlicerTable = DISTINCT(SELECTCOLUMNS('Table',"Fruit",'Table'[Fruit]))
A continuación, pruebe esta medida:
check =
VAR t =
CALCULATETABLE (
DISTINCT ( 'Table'[Fruit] ),
FILTER (
ALLSELECTED ( 'Table' ),
'Table'[Customerid] IN DISTINCT ( 'Table'[Customerid] )
)
)
RETURN
IF (
CALCULATE (
DISTINCTCOUNT ( 'SlicerTable'[Fruit] ),
FILTER ( 'SlicerTable', 'SlicerTable'[Fruit] IN t )
)
= DISTINCTCOUNT ( 'SlicerTable'[Fruit] )
&& COUNTROWS ( t ) = DISTINCTCOUNT ( 'SlicerTable'[Fruit] ),
1,
0
)
Aplique esta medida al objeto visual de la tabla estableciendo [check]-1, cuando seleccione uno o más de un valor en la cortadora de frutas, el resultado muestra:
Aquí está mi archivo pbix de prueba:
Saludos
Giotto
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.