Publicada febrero 10, 2014

Utilizando BUSCARV (VLOOKUP) con Power Pivot y DAX– LOOKUPVALUE()

Power Pivot

Anu Merrick de YouTube: Hola ¿Y si quiero traer el primer valor en la columna A cuando el primer valor de columna b es mayor que un valor fijo, digamos 100?

Veamos nuestra tabla de datos

image

Vemos entonces las columnas A y B y entendemos que vamos a necesitar una tabla desconectada para poder seleccionar el valor fijo de 100 u otro valor que decidamos.

Entonces agregamos una tabla desconectada

image

Ahora tenemos 2 tablas y esta tabla la podemos agregar a nuestro modelo de datos como una tabla vinculada.

Mientras tanto, necesitamos agregarle una columna a la primera tabla de datos utilizando Power Query

Para ello, seleccionamos la tabla y luego vamos a la cinta de Power Query para seleccionar el icono de abajo.

image

Esto lanzará una nueva ventana en la que tenemos que crear lo siguiente:

image

y luego

image

Una vez tenemos todo cargado pasamos a crear la nueva medida o campo calculado

La solución es la siguiente:

=LOOKUPVALUE (
Table_1[ValuesColA],
Table_1[Index], MINX (
FILTER (
Table_1,
Table_1[ValuesColB] > MAX ( Table2[Helper_Table] )
),
[Index]
)
)

en donde LOOKUPVALUE actúa como BUSCARV (VLOOKUP) pero con múltiples entradas y búsquedas, es decir, no solamente puede buscar en una columna sino en múltiples columnas a la vez.

  1. Lo primero que necesita es la columna que contiene el valor resultado, Table_1[ValuesColA].
  2. Luego comienza la etapa de búsqueda que tiene el siguiente formato:
    1. Columna en donde buscar,  Table_1[Index]
    2. El valor a buscar en dicha columna, el resultado deMINX (
      FILTER (
      Table_1,
      Table_1[ValuesColB] > MAX ( Table2[Helper_Table] )
      ),
      [Index]
      )

y el resultado es

image

image

 

 

 

 

 

 

Pueden descargar el archivo para intentar esta solución con el siguiente enlace

Power Pivot
Subscribe
Notify of
guest
2 Comentario
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Adrian

Hola

Excelente trabajo.

Me gustaría saber como puedo obtener el tipo de moneda considerando los siguientes criterios:

1.- Considerando el valor maximo como cantidad, tomando los campos codigo, moneda, ultima fecha
CODIGO MONEDA GRAN CANT TOTAL KG/PZ ULTIMO MES/AÑO RECEPCIÓN ÚLTIMA CANTIDAD KG/PZ TDIVISA
A USD 4.00 01/03/2021 4.00 USD
Total A 4.00 01/03/2021 4.00 USD
C MXN 8.00 01/04/2021 8.00 MXN
USD 15.00 01/12/2020 15.00
Total C 23.00 01/04/2021 8.00 USD
B EUR 200.00 01/03/2021 200.00
MXN 90.00 01/06/2021 90.00
USD 107.00 01/06/2021 107.00 USD ULTIMA CANTIDAD KG/PZ ES UNA MEDIDA QUE ME DA LA CANTIDAD MAXIMA EN BASE AL CODIGO, MONEDA Y ULTIMA MES / AÑO
Total B 397.00 01/06/2021 107.00 EUR debería ser USD
D EUR 80.00 01/05/2021 80.00 EUR
USD 50.00 01/05/2021 50.00
Total D 130.00 01/05/2021 80.00 EUR

medida para obtener ultima cantidad = ÚLTIMA CANTIDAD KG/PZ:=CALCULATE(MAXX(VALUES(Tabla1[MONEDA]),[GRAN CANT TOTAL KG/PZ]),LASTDATE(Tabla1[MES/AÑO]))

Gracias por el apoyo

Saludos.

Miguel Escobar

Hola!
Gracias por tus comentarios.

Se me dificulta interpretar lo que creo que es una tabla que has compartido. Lamentablemente esta sección de comentarios no ha sido diseñada para aceptar tablas o para publicar código, pero sí conozco de un sitio que fue diseñado específicamente para estos casos y te quiero compartir el enlace al mismo:
https://community.powerbi.com/t5/Translated-Spanish-Desktop/bd-p/pbi_spanish_desktop

Lo mejor es que puedes publicar en español sin problemas.

De manera conceptual, tal vez te funcione mejor crear una tabla con Power Query donde tengas ya definido (de la forma que te funcione mejor) los campos y datos de una tabla de conversión de monedas.

Saludos y suerte!