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
lsteffens
Advocate I
Advocate I

Obtener relativo al valor máximo en un objeto visual de matriz (respetando los filtros)

Necesito mostrar valores relativos al valor máximo en un objeto visual de matriz.

El problema se puede atribuir con las siguientes imágenes de tabla.

Tengo una tabla de entrada con las columnas de texto "A" y "B" y una columna numérica "Valor". El máximo está marcado en rojo. ("TABLE")

El objeto visual de matriz "normal" se vería como "MATRIX".

La salida deseada "% DE MAX MATRIX" tiene el valor máximo (40) mostrado como 100% (rojo) y el resto de los valores como "Valor" desviados por este valor máximo.

PowerBIQuestion.gif

El objeto visual de matriz deseado debe "escuchar" los filtros de nivel de página y las segmentaciones de datos.

Hice algunos progresos usando esta fórmula DAX:

RelValue =
VAR MaxValue = 
    MAXX(
        SUMMARIZE(
            Table1;
            Table1[A];
            Table1[B];
            "Amount";
            CALCULATE(
                SUMX(
                    ALL(Table1);
                    [Value]
                )
            )
        );
    [Amount])

RETURN
DIVIDE(SUM[Value];MaxValue;0)

Pero esto no funciona, ya que no respeta los filtros "externos" o de nivel de página (debido a ALL). Incluso los valores relativos no son correctos.

Y tal vez hay una solución más fácil al problema después de todo.

Espero poder hacer que el problema sea comprensible.

¿Alguien puede ayudarme con esto?

Para su interés: Necesito el valor "% de máximo" para mostrar círculos ya que las imágenes SVG son un objeto visual de matriz - comparable a un mapa de calor en una matriz. Así que necesito calcular el radio en DAX para obtener el radio del círculo correcto.

1 ACCEPTED SOLUTION

Hola @lsteffens , pruebe esto:

Prueba ?

VAR T1 ?
GROUPBY(ALLSELECTED(Table1),Table1[A],Table1[B],"@SUM",SUMX(CURRENTGROUP(),[Value]))

VAR MaxValue
MAXX(T1,[@SUM])

devolución
DIVIDE(SUM(Table1[Value]),MaxValue,0)

View solution in original post

8 REPLIES 8
sanalytics
Solution Supplier
Solution Supplier

@lsteffens ,

hola Tómalo como solución,

Medida ?

VAR _Max de VAR: MAXX(SUMMARIZE(ALLSELECTED('Table'),'Table'[A],'Table'[B],"Val",SUM('Table'[Value]) ),[Val])
devolución
DIVIDE(SUM('Table'[Value]),_Max)
Espero que te ayude a resolver tu problema
saludos
Snandy

Gracias a los dos.

Creo que ambas soluciones hacen lo que espero.

Fue muy amable de su parte ayudarme con esto - genial! 😉

Hola @lsteffens
Si funciona para ti.. Por favor, acéptelo como solución..

ayudará a otros a encontrar.

saludos

Snandy

Creo que sólo puedo aceptar una solución ... y acepté el puño uno, ya que era la respuesta más rápida.

Y ambos se muestran directamente uno tras otro después de hacer clic en "ir a la solución" ...

Como dije ... gracias a los dos ...

Greg_Deckler
Super User
Super User

Ejemplo de datos de origen como texto por favor. Por favor, consulte este post sobre cómo obtener su pregunta respondida rápidamente: https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...
Vera_33
Resident Rockstar
Resident Rockstar

Hola, puedes probar:

Prueba ?
VAR MaxValue ?
MAXX(ALLSELECTED(Table1),[Valor])

devolución
DIVIDE(SUM([Value),MaxValue,0)

Hola, gracias por tu respuesta.

Hace lo que necesito para los datos de prueba específicos que proporcioné.

Pero si agrego una nueva fila a los datos de prueba, por lo que debe haber una suma en la matriz esto no va a funcionar.

Es porque el valor máximo sigue siendo 40, pero debe ser 45 (40 + 5) en el objeto visual de matriz (ver imagen).

Nuevos datos de prueba (como texto 😉 😞

ABValor
A1B110
A1B220
A2B130
A2B240
A2B25

Resultado en Power BI:

PowerBIQuestion2.gif

Así que necesito el máximo de la suma de los campos de matriz, pero no sé cómo hacer esto.

Hola @lsteffens , pruebe esto:

Prueba ?

VAR T1 ?
GROUPBY(ALLSELECTED(Table1),Table1[A],Table1[B],"@SUM",SUMX(CURRENTGROUP(),[Value]))

VAR MaxValue
MAXX(T1,[@SUM])

devolución
DIVIDE(SUM(Table1[Value]),MaxValue,0)

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.