En este escenario partimos de un modelo de datos que vamos a representar con una única tabla que contiene información de ventas de ciertos artículos en varias tiendas:
El objetivo es extraer el valor de una columna -por ejemplo el artículo o la tienda- correspondiente al valor máximo (o mínimo, etc.) de otra -por ejemplo de las ventas-.
Leemos, por lo tanto, la tabla desde Power BI y concretamos el valor a extraer. Supongamos que deseamos extraer el artículo para el que el campo Ventas toma el valor máximo.
Este valor máximo es fácilmente extraíble con la función MAX:
La obtención del producto correspondiente podemos lograrla con la función LOOKUPVALUE (con los matices apropiados en el caso de que no haya ninguna coincidencia o haya más de una):
Producto ventas máximas =
VAR
ValorMaximo = MAX(data[Ventas])
RETURN
LOOKUPVALUE(
data[Artículo];
data[Ventas]; ValorMaximo
)
En el caso de que pueda existir más de una solución, deberemos agregar el parámetro adecuado a la función LOOKUPVALUE. Por ejemplo, en nuestra tabla de datos tenemos dos valores mínimos:
Producto ventas mínimas =
VAR
ValorMinimo = MIN(data[Ventas])
RETURN
LOOKUPVALUE(
data[Artículo];
data[Ventas]; ValorMinimo;
"Múltiples soluciones"
)
Si se desease encontrar el valor que cumpla más de una condición, deberemos tener cuidado en asegurar que existe una solución (y solo una) -en cualquier otro caso la función devolverá el valor alternativo o un error si éste no existe. Por ejemplo, podríamos pensar que con el siguiente código estamos extrayendo el producto con las menores ventas para la tienda C:
Producto ventas mínimas Tienda C =
VAR
ValorMinimo = MIN(data[Ventas])
RETURN
LOOKUPVALUE(
data[Artículo];
data[Tienda]; "C";
data[Ventas]; ValorMinimo;
"No hay una única solución"
)
Sin embargo, la variable ValorMinimo va a tomar el valor 6 (pues se calcula como el valor mínimo para la columna Ventas) y no hay ningún artículo que cumpla que la tienda es C y las ventas sean 6 -de ahí que la función devuelva el valor alternativo-. En un caso así, si no es posible asegurar que va a existir un valor, podemos filtrar la tabla antes de realizar la búsqueda.