Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Cambiar dinámicamente el valor de tolerancia en PowerBI

Tengo algunos datos que se parecen a lo siguiente:

IDENTIFICACIÓNValor
A2
A-1
B6
D0

Lo que quiero lograr es crear una nueva categoría de columna basada en la columna "Valor", basada en reglas if-else.

P. ej...

Si "Valor" < 0, "Categoría" = "Negativo"

elif "Valor" > 0, "Categoría" = "Positivo"

else "Categoría = "OK"

Quiero poder agregar una segmentación de datos que defina el umbral para negativo /positivo. Entonces, cuando establezco la segmentación de datos en 2, "Categoría" solo se convertirá en "negativo" cuando "Valor" < -2 y "positivo" cuando "Valor" > 2

Lo que intenté:

Creé una tabla con valores 0 - 5, que sirve como base para mi segmentación de datos (seleccione un valor 0-5).

1. Crear una columna adicional en mi tabla, una para cada valor posible en la segmentación de datos y crear una medida que seleccione una columna usando SWITCH. Solución muy fea y me da el error de que varias columnas no se pueden convertir en un valor escalar.

2. crea una medida como la siguiente:

medida =

Dónde seleccionado = SELECTEDVALUE('tabla de segmentación de datos'[valor])
devolución ADICIONES(tabla principal, "categoría", SI(tabla principal[Valor] < -seleccionado, "Negativo", SI(tabla principal[Valor] > seleccionado, "Positivo", "De acuerdo")))
Mismo error que en 1.
Pregunta
¿Cómo creo una medida que me permita incorporar una tolerancia para definir categorías en una columna?
Sé que no es posible crear columnas calculadas dinámicamente en PBI, pero supongo que esto debería ser posible usando una medida. Simplemente no veo cómo puedo evitar la agregación, solo necesito que se devuelva toda la columna y trazarla en algo como un gráfico circular, por ejemplo. Pero dado que en un sentido más amplio solo estoy tratando de incorporar una tolerancia, este es probablemente un caso de uso que ocurre con más frecuencia. Así que me imagino que es posible, simplemente no tengo la experiencia suficiente con PBI para resolverlo.
¡Cualquier ayuda es apreciada!
1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Hay @joepatol ,

Compruebe la fórmula. Puede crear una tabla de segmentación de datos y usar selectedvalue('slicer'[value]) para reemplazar el cero en la fórmula.

Measure = SWITCH(TRUE(),SELECTEDVALUE('Table'[Value])>0,"Positive",SELECTEDVALUE('Table'[Value])<0,"Negative",SELECTEDVALUE('Table'[Value])=0,"OK")

Hay varios valores para una sola identificación, marque la opción "No resumir" para evitar la agregación.

1.PNG

2.PNG

Mencionaste que quieres crear un gráfico circular, pero el gráfico circular no admite "No resumir". Y el gráfico circular tampoco admite poner medidas en el campo de valor.

Además, no sé cómo desea mostrar los valores positivos y negativos en el gráfico circular. Por lo tanto, si desea más ayuda, comparta más detalles.

3.PNG

Saludos

Arrendajo

View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Hay @joepatol ,

Compruebe la fórmula. Puede crear una tabla de segmentación de datos y usar selectedvalue('slicer'[value]) para reemplazar el cero en la fórmula.

Measure = SWITCH(TRUE(),SELECTEDVALUE('Table'[Value])>0,"Positive",SELECTEDVALUE('Table'[Value])<0,"Negative",SELECTEDVALUE('Table'[Value])=0,"OK")

Hay varios valores para una sola identificación, marque la opción "No resumir" para evitar la agregación.

1.PNG

2.PNG

Mencionaste que quieres crear un gráfico circular, pero el gráfico circular no admite "No resumir". Y el gráfico circular tampoco admite poner medidas en el campo de valor.

Además, no sé cómo desea mostrar los valores positivos y negativos en el gráfico circular. Por lo tanto, si desea más ayuda, comparta más detalles.

3.PNG

Saludos

Arrendajo

Syndicate_Admin
Administrator
Administrator

@joepatol, hay que crear una medida como con la ayuda de un qué pasaría si Param

Medida =

var _1 = Suma(Tabla[Valor])

Switch( True(),

_1 < valores seleccionados(Param[Param]) , "Negativo"

_1 > valores seleccionados(Param[Param]), "Positivo"

"De acuerdo")

Necesitas tener una mesa (cubo) con tres filas

Negativo

Positivo

DE ACUERDO

Entonces necesitas una medida como

Sumx(filter(Values(Table[ID]), [Measure] = max(bucket[Value])) , [Measure])

recomienda

Segmentación dinámica Bucketing Binning
https://community.powerbi.com/t5/Quick-Measures-Gallery/Dynamic-Segmentation-Bucketing-Binning/m-p/1...


Segmentación dinámica, bucketing o binning: https://youtu.be/CuczXPj0N-k

Gracias @amitchandak,una pregunta de seguimiento. No entiendo Sumx(filter(Values(Table[ID]), [Measure] = max(bucket[Value])) , [Measure]), ¿qué quieres decir con bucket[Value]? Las categorías, pero la función MAX() no funcionarán. O el valor al que pertenece la etiqueta, pero luego esto no se dinámicará con mi cortadora, ¿verdad?

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.