cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
McMur
Helper II
Helper II

Interpolación lineal a partir de matriz

La respuesta que estoy tratando de encontrar es muy similar a lo que @Greg_Deckler presentado en"Galería de Medidas Rápidas"sobre "Interpolación Lineal". Aquí los enlaces:

Sin embargo, esta vez necesito interpolar dentro de una matriz. Vamos a tratar de presentar las dos tablas con las que tenemos que trabajar.

Main_Table:

Tabla donde nos gustaría obtener la columna de resultado llamada "RESULT". Al mismo tiempo, es la tabla de la que, y en base a algunas de sus columnas, necesitamos entrar en la segunda (Lookup_Table) para realizar la interpolación.

En este caso, las dos columnas de las cuales los valores necesitan ser leídos para entrar en la segunda tabla son:

  1. Prop_A

image.png

Lookup_Table:

Tabla a partir de la cual, y en función de los valores de las columnas de la primera tabla, es necesario realizar la interpolación.

Observe que una columna Prop_A está presente en la segunda tabla y los valores Dir (de la primera tabla) se agrupan por 10 grados de las columnas B-E.

image.png

Ahora, vamos a tratar de tomar un ejemplo.

Tomando la fila número 5 de la primera tabla:

  • Bueno, 141
  • Dir. 333
  • Prop_A 0,398.

image.png

Por lo tanto, debemos entrar en la segunda tabla a través de siguientes filas(Prop_A)/columna(Dir):

image.png

Realizar la interpolación lineal de esos valores, Prop_A_Interpolated a 1.0872. Por lo tanto, el valor de celda en la columna RESULTADO en Main_Table debe ser igual a:

RESTULT 1.0872 * 141 a 153.295.

image.png

De @Greg_Deckler solución, asumo que una nueva variable necesita ser definida para contar para los valores de Dir, pero me quedo atascado tan pronto como intento agrupar el valor dir para cada grupo de 10o en el Lookup_Table.

Cualquier comentario será bienvenido!

7 REPLIES 7
tex628
Super User II
Super User II

¿A qué columna se debe hacer referencia si el Dir es 330?

/ J


Connect on LinkedIn

Si el valor de un Dir (en Main_Table) es 330, se debe hacer referencia a este valor a la columna E ([330-340)) en Lookup_Table.

jthomson
Solution Sage
Solution Sage

Lo que intentaría hacer en Power Query es:

- Modificar su columna dir en su tabla principal yendo Number.RoundDown([Dir]/10)

- Cambiar el nombre de los encabezados de columna en la tabla de búsqueda para que [0-10) sea 0, [10-20) es 1 etc, o modifíquelo después de despivo

Pregunta entonces es cómo funciona Prop_A en su tabla de búsqueda

Gracias por su respuesta @jthomson.

Prop_A de la tabla Búsqueda es solo una columna referente. Tal vez debería haber cambiado su nombre.

Básicamente, el valor de Prop_A en el Main_Table debe compararse con los de Lookup_Table para saber en qué fila necesitamos estar Lookup_Table.

Realmente no tuve tiempo de hacer el modelado de datos completo, pero este archivo controla el cálculo de ejemplo y si crea columnas adicionales para cada uno de los intervalos de división, debería obtener el resultado correcto.

Echa un vistazo y mira si está en la línea de lo que estás pensando. Si estuvieran en el camino correcto puedo arreglarlo y completar las columnas restantes la próxima semana.
image.png
Br
J


Connect on LinkedIn

En primer lugar, muchas gracias @tex628 por su respuesta.

Aún no he tenido tiempo de revisarlo en profundidad pero, difinitely, lo haré.

Sin embargo, he visto que usó M y DAX en su enfoque. Echaré un vistazo y volveré de nuevo.

Gracias una vez más 🙂

¡Solo @me cuando estés listo! 🙂

Br
J


Connect on LinkedIn

Helpful resources

Announcements
PBI User Groups

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group!

MBAS on Demand

Microsoft Business Applications Summit sessions

On-demand access to all the great content presented by the product teams and community members! #MSBizAppsSummit #CommunityRocks

Get Ready for Power BI Dev Camp

Power BI Dev Camp - June 24th

Mark your calendars and join us for our next Power BI Dev Camp!

Top Kudoed Authors