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

The Power BI Data Visualization World Championships is back! It's time to submit your entry. Live now!

Reply
Syndicate_Admin
Administrator
Administrator

Eje Y máximo basado en el parámetro de campo seleccionado

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.

nleuck_101_0-1759759806749.png

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.

nleuck_101_1-1759759987249.png


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.

12 REPLIES 12
Syndicate_Admin
Administrator
Administrator

@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!

Syndicate_Admin
Administrator
Administrator

@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.

Syndicate_Admin
Administrator
Administrator

Hola

Comparta el enlace de descarga del archivo PBI con su visualización ya configurada.

@Ashish_Mathur

No puedo compartir un enlace a este archivo.

Syndicate_Admin
Administrator
Administrator

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

@v-prasare

Esto no funcionó. Ahora mi eje solo sube a diez.

nleuck_101_0-1762959465031.png



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

Syndicate_Admin
Administrator
Administrator

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)

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! It's time to submit your entry.

January Power BI Update Carousel

Power BI Monthly Update - January 2026

Check out the January 2026 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.