The ultimate Microsoft Fabric, Power BI, Azure AI, and SQL learning event: Join us in Stockholm, September 24-27, 2024.
Save €200 with code MSCUST on top of early bird pricing!
Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
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
Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.
Check out the August 2024 Power BI update to learn about new features.