Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! It's time to submit your entry. Live now!
Hola a todos,
Me vendría bien un poco de ayuda para obtener el eje Y máximo de la segmentación de parámetros de campo seleccionada. No me gusta que el eje y muestre 800 cuando el total es superior a 800. Yo preferiría que fueran 1,000 en este escenario.
Cuando cambio mi parámetro de campo a mi siguiente segmentación, se ve un poco mejor, pero todavía está por encima del número que se muestra en el eje y.
Básicamente, necesito un eje y dinámico que obtenga el valor máximo en función del parámetro de campo seleccionado. Cualquier ayuda sería muy apreciada.
@nleuck_101 si necesitas ayuda, tienes que hacer algo de trabajo por tu parte. Cree datos de ejemplo y compártalos en lugar de compartir el archivo de Power BI real. Si no puedes hacer esto, supongo que no estoy seguro de cómo puedo ayudarte. ¡Buena suerte!
@nleuck_101 aquí tienes, cambia el nombre de la tabla y la columna según tu modelo:
Measure =
--parameter table name and parameter column name you are using on slicer
VAR __SelectedParameter = MAXX ( ALLSELECTED ( Parameter ), [Parameter] )
//this would be table and column that you are using on x-axis,
//for example if it is a year column from date table then this would be
//ALLSELECTED ( 'Date'[Year] )
VAR __Table = ALLSELECTED ( 'Calendar'[Month Sort], 'Calendar'[Month] )
RETURN
//so depedning on the paramter name selected, you just switch to that measure
//in my case I have paramter with two name Qty and Sales and these correspond to
//[Qty] and [Sales] measure, make changes to switch statement as per your model
SWITCH (
__SelectedParameter,
"Qty", MAXX ( __Table, [Qty] ),
"Sales", MAXX ( __Table, [Sales] )
)
@parry2k
Esto no cambió nada. Mis valores del eje Y se parecen a mi captura de pantalla.
Hola
Comparta el enlace de descarga del archivo PBI con su visualización ya configurada.
Puede manejar esto usando SELECTEDVALUE() en su tabla de parámetros de campo y calculando condicionalmente el máximo en función de la medida que está activa.
Paso 1. Cree su parámetro de campo (que ya tiene):
Parámetro de medida =
{ ("Nombre1", NOMBREDE([Medida1]), 0),
("Nombre2", NOMBREDE([Medida2]), 1),
("Nombre3", NOMBREDE([Medida3]), 2) }
Paso 2. Cree una nueva medida para Dynamic Y-Axis Max:
Dynamic Y-Axis Max =
VAR SelectedMeasure = SELECTEDVALUE('Parámetro de medida'[Nombre])
VAR MaxValue = SWITCH( SelectedMeasure, "Name1",
MAXX(ALLSELECTED('YourMainDataTable'), [Measure1]), "Name2",
MAXX(ALLSELECTED('YourMainDataTable'), [Measure2]), "Name3",
MAXX(ALLSELECTED('YourMainDataTable'), [Measure3]) )
VAR PaddedValue = MaxValue * 1.15
VAR RoundedValue =
SWITCH(
VERDADERO(),
MaxValue = 0, 10,
PaddedValue > 500, ROUNDUP(PaddedValue, -2),
PaddedValue > 100, CEILING(PaddedValue, 50),
PaddedValue > 10, CEILING(PaddedValue, 10),
CEILING(PaddedValue, 5) )
RETURN Valor redondeado
Utilice esta medida para controlar el eje Y en el gráfico
Hola @nleuck_101 ,
Como también soy miembro del equipo de CST, quería hacer un seguimiento del tema.
Espero que la información proporcionada ayude a resolver su problema. Si tiene más preguntas o necesita ayuda adicional, no dude en contactarnos. Estamos aquí para ayudar.
Saludos
Equipo de apoyo comunitario
Hola @nleuck_101 ,
Como también soy miembro del equipo de CST, quería hacer un seguimiento del tema.
Espero que la información proporcionada ayude a resolver su problema. Si tiene más preguntas o necesita ayuda adicional, no dude en contactarnos. Estamos aquí para ayudar.
Saludos
Equipo de apoyo comunitario
Hola @nleuck_101 ,
Como también soy miembro del equipo de CST, quería hacer un seguimiento del tema.
Espero que la información proporcionada ayude a resolver su problema. Si tiene más preguntas o necesita ayuda adicional, no dude en contactarnos. Estamos aquí para ayudar.
Saludos
Equipo de apoyo comunitario
Hola @nleuck_101 ,
Puede crear un eje Y dinámico que se ajuste a su parámetro de campo. La solución es escribir una única medida DAX que calcule un valor máximo adecuado en función de los datos visibles en el gráfico. Esta medida se utilizará para controlar el rango del eje Y en las opciones de formato de su gráfico.
En primer lugar, deberá crear una nueva medida en Power BI. Este código DAX encuentra el valor más alto entre las barras visibles actualmente, agrega un búfer del 15 % para el margen y, a continuación, redondea de forma inteligente ese valor a un número limpio y legible. Por ejemplo, un valor máximo de 860 dará como resultado un eje de 1000 y un valor máximo de 123 dará como resultado un eje de 150.
Dynamic Y-Axis Max =
// Step 1: Find the maximum value currently displayed on the chart
VAR MaxValue =
MAXX(
ADDCOLUMNS(
SUMMARIZE(
ALLSELECTED(YourMainDataTable), // <-- 1. CHANGE to your main data table name
YourXAxisColumn, // <-- 2. CHANGE to your X-axis column
YourLegendColumn // <-- 3. CHANGE to your Legend column (e.g., 'Table'[Year])
),
"@ChartValue", [Your Field Parameter Measure] // <-- 4. CHANGE to your measure
),
[@ChartValue]
)
// Step 2: Add a buffer (e.g., 15%) and round up to a "nice" number
VAR PaddedValue = MaxValue * 1.15 // Adjust 1.15 for more/less padding
VAR RoundedValue =
SWITCH(
TRUE(),
MaxValue = 0, 10, // Handles case where max is 0 to prevent errors
PaddedValue > 500, ROUNDUP(PaddedValue, -2), // Rounds up to the nearest 100
PaddedValue > 100, CEILING(PaddedValue, 50), // Rounds up to the nearest 50
PaddedValue > 10, CEILING(PaddedValue, 10), // Rounds up to the nearest 10
CEILING(PaddedValue, 5) // Rounds up to the nearest 5
)
RETURN
RoundedValue
Antes de que este código funcione, debe reemplazar los cuatro marcadores de posición por los nombres reales del modelo de datos. YourMainDataTable debe ser el nombre de la tabla de datos principal. YourXAxisColumn es la columna del eje X del gráfico. YourLegendColumn es el campo que se usa en el área Legend, que es Year en su caso. Finalmente, [Su medida de parámetro de campo] es la medida que muestra su parámetro de campo; si arrastró el parámetro al cuadro de campo del eje Y, este sería el nombre de esa medida de parámetro (por ejemplo, [Parámetro]).
Después de crear la medida, debe aplicarla a su objeto visual. Seleccione el gráfico de barras, luego vaya al panel Formatear su visual (el icono 🖌del pincel ️). Expanda la sección Eje Y y, en Rango, busque el cuadro Valor máximo. Haga clic en el botón de formato condicional (fx) situado junto a él. En el cuadro de diálogo que se abre, establezca el estilo Formato en Valor de campo y seleccione la nueva medida máxima del eje Y dinámico como campo. Una vez que haga clic en Aceptar, el eje Y del gráfico cambiará de tamaño automáticamente en función de las selecciones de segmentación, lo que le proporcionará una imagen limpia en todo momento.
Saludos
Hola @DataNinja777 ,
Gracias por su respuesta. Sin embargo, tengo un problema, en la fórmula en la que cambias el valor a "tu medida de parámetro de campo", la mía no es una medida, es una combinación de 3 medidas. La columna que creé a partir del parámetro de campo es en realidad 3 medidas diferentes. Utilizo la columna creada por el parámetro de campo y selecciono una de las medidas para cambiar los gráficos. A continuación se muestra mi DAX:
Tabla = {("Nombre1", NOMBREDE([Medida1]), 0), ("Nombre2", NOMBREDE([Medida2]), 1), ("Nombre3", NOMBREDE([Medida3]), 2)
The Power BI Data Visualization World Championships is back! It's time to submit your entry.
Check out the January 2026 Power BI update to learn about new features.