De hecho, he mostrado un ejemplo de cómo hacer esto usando la función LOOKUPVALUE en LuckyTemplates.
Sin embargo, encontré un pequeño problema con la función particular que pasé en el video inicial que no me di cuenta en ese momento.
El problema era que la tabla de tipos de cambio no tenía ningún tipo de cambio indicado el fin de semana, pero sí vendimos productos ese fin de semana.
Lo que estaba pasando era que la cantidad vendida estaba siendo dividida por un número en blanco. Como resultado, obtuvimos este resultado infinito, que se debió básicamente a que no había ningún resultado que mostrar.
Entonces, lo que teníamos que hacer era algo un poco más avanzado en nuestra fórmula DAX.
Tenemos que normalizar realmente el tipo de cambio. Cualquiera que sea el resultado en la tabla del viernes, debemos copiarlo para el sábado y el domingo.
Debemos recrear eso dentro de LuckyTemplates con nuestra fórmula y en este tutorial, explico cómo hacerlo.
Pero, antes de entrar en la fórmula actualizada, primero revisaremos cómo manejamos los tipos de cambio y varias monedas en LuckyTemplates mediante la función LOOKUPVALUE .
Ponemos la función LOOKUPVALUE dentro de una función de iteración, que es SUMX.
Aquí, queremos resumir los ingresos, pero ajustamos cada fila en la tabla de datos de ventas. De esta forma, tenemos los tipos de cambio asociados a cada venta.
La función LOOKUPVALUE literalmente "busca" el valor del tipo de cambio particular en fechas específicas y otra información relevante para su cálculo SUMX.
En esta fórmula, cada venta individual se ajustará al tipo de cambio de esa fecha en particular.
Error en la fórmula LOOKUPVALUE
La fórmula con LOOKUPVALUE no es realmente mala. El único problema es que no había cambio de moneda los fines de semana.
A primera vista, no lo notaríamos cuando miramos los datos históricos. Parecería que cada día tiene un tipo de cambio de moneda.
Sin embargo, cuando miramos más de cerca, en realidad faltan los fines de semana. Esto significa que el resultado del cálculo no es exacto.
La solución es establecer un número en el fin de semana. Y para hacer esto, usamos el número del viernes y lo arrastramos sobre el sábado y el domingo porque las divisas no se negocian los fines de semana.
Manejo de múltiples monedas usando LASTNONBLANK
Para lograr la solución al número de fin de semana faltante, necesitamos crear una nueva fórmula que extienda el número del viernes sobre el sábado y el domingo.
Aquí está la fórmula:
Esta fórmula, a la que llamé Exchange Rate Normalized , utiliza una variable (VAR) con FILTER (RevisedDates) que se incorpora a CALCULATE con la función LASTNONBLANK .
LASTNONBLANK analiza el último tipo de cambio en una tabla RevisedDates , que usamos en combinación con la función FILTER.
La tabla RevisedDates mira hacia atrás en tres días y luego toma el último tipo de cambio que existe en esos días.
Luego podemos integrar esta fórmula de tipo de cambio normalizado en nuestro Total Sales Ccy Adj. fórmula, simplificándola.
Así es como se ven sus datos con el Total Sales Ccy Adj actualizado. fórmula con el Tipo de Cambio Normalizado que se extiende el viernes sobre el fin de semana:
Este blog analiza la fórmula actualizada para manejar varias monedas en LuckyTemplates.
En lugar de usar LOOKUPVALUE, usamos la función LASTNONNOBLANK en una fórmula separada, Exchange Rate Normalized, que luego se incorpora a nuestro cálculo para Total Sales Ccy Adj.
Llegar a esta fórmula no fue fácil, pero es una herramienta muy poderosa para sus cálculos.
Hay un poco de eso desde la perspectiva de DAX. Sin embargo, si puede entender cómo funciona esto, especialmente la función LASTNONBLANK , entonces hay muchas implicaciones de técnicas similares en muchos escenarios analíticos que podría tener que analizar día a día.