Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code FABINSIDER for a $400 discount.
Register nowThe Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.
En el siguiente modelo, la fórmula para la columna calculada "Name_max_value" funciona bien.
Name_max_value =
CALCULATE ( MAX ( Table1[Name] )
, ALL ( Table1 )
, TREATAS( CALCULATETABLE ( VALUES ( Table2[id] )
, ALLEXCEPT ( Table2, Table2[Parent] )
)
, Table1[Id]
)
)
Pero en ninguna parte de la fórmula le digo que mire Table1[Value] para encontrar el valor máximo. Es probablemente un comportamiento predeterminado, ya que es la única columna con valores numéricos. En la vida real hay más columnas con valores numéricos, así que temo que la fórmula falle. ¿Puedo reescribir esta fórmula para que diga explícitamente que quiero usar calculate MAX en la columna Table1[Value] (mientras devuelvo el [Name])?
Hasta ahora esta es la única fórmula que funciona:
Result =
var _parent = [Parent]
var _maxvalue =
CALCULATE(
MAX(Table1[Value]),
ALLEXCEPT(Table2,Table2[Parent])
)
return
CONCATENATEX(
CALCULATETABLE(
FILTER(
ALL(Table1),
Table1[Value] = _maxvalue &&
RELATED(Table2[Parent]) = _parent
)
),
[Name],","
)
Hola @Zyg_D ,
Primero puede obtener el valor primario en table1 usando la siguiente expresión dax:
Parent = LOOKUPVALUE('Table 2'[Parent],'Table 2'[ID ],'Table 1'[ID ],blank())
A continuación, cree una medida como se indica a continuación:
Name_max_value =
var _maxvalue=MAXX(FILTER(ALL('Table 1'),'Table 1'[Parent]=MAX('Table 1'[Parent])),'Table 1'[Value])Return
CALCULATE(MAX('Table 1'[name ]),FILTER(ALL('Table 1'),'Table 1'[Value]=_maxvalue))
Finalmente verá:
Para el archivo .pbix relacionado, haga clic aquí.
@v-kelly-msft escribió:Hola @Zyg_D ,
Primero puede obtener el valor primario en table1 usando la siguiente expresión dax:
Parent = LOOKUPVALUE('Table 2'[Parent],'Table 2'[ID ],'Table 1'[ID ],blank())
A continuación, cree una medida como se indica a continuación:
Name_max_value =
var _maxvalue=MAXX(FILTER(ALL('Table 1'),'Table 1'[Parent]=MAX('Table 1'[Parent])),'Table 1'[Value])Return
CALCULATE(MAX('Table 1'[name ]),FILTER(ALL('Table 1'),'Table 1'[Value]=_maxvalue))
Finalmente verá:
Para el archivo .pbix relacionado, haga clic aquí.
Lo siento, pero su fórmula falla si hay los mismos valores máximos en diferentes padres.
@Zyg_D, no lo entendí. ¿Necesita una columna en la Tabla B.
Valor de máximo de la Tabla 1.
Las formas de valorar el nombre máximo de A es. Crear un rango; Rango Desc. Nombre dentro de ID y Rango 1 es su filtro
Para el rango Refiera estos links
https://radacad.com/how-to-use-rankx-in-dax-part-2-of-3-calculated-measures
https://radacad.com/how-to-use-rankx-in-dax-part-1-of-3-calculated-columns --refiérase a esto
https://radacad.com/how-to-use-rankx-in-dax-part-3-of-3-the-finale
https://community.powerbi.com/t5/Community-Blog/Dynamic-TopN-made-easy-with-What-If-Parameter/ba-p/3...
La fórmula hace referencia a la columna Table1[Name] y obtiene el máximo de la misma. Puede hacer Max/Min en columnas de texto. Si desea la columna de valor, puede usarla en lugar de Name. Mientras su fórmula funciona, ¿consideró hacer una relación entre las tablas de ID?
Si esto funciona para usted, por favor márquelo como solución. Los felicitaciones también son apreciados. Por favor, avísame si no.
saludos
palmadita
To learn more about Power BI, follow me on Twitter or subscribe on YouTube.
@mahoneypat escribió:La fórmula hace referencia a la columna Table1[Name] y obtiene el máximo de la misma. Puede hacer Max/Min en columnas de texto. Si desea la columna de valor, puede usarla en lugar de Name. Mientras su fórmula funciona, ¿consideró hacer una relación entre las tablas de ID?
Si esto funciona para usted, por favor márquelo como solución. Los felicitaciones también son apreciados. Por favor, avísame si no.
saludos
palmadita
¡Gracias! Debido a su cmment me di cuenta de que la fórmula no mira en [Valor] en absoluto.
La relación existe, pero no se me ocurrió ninguna otra solución. Si utilizo MAX(Table1[Value]), devuelve number. Pero no quiero número, como he dicho, debe devolver [Nombre], pero la comparación debe hacerse en [Valor]. ¿Es posible hacerlo?
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Check out the February 2025 Power BI update to learn about new features.