Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Le mostraré cómo manejar una tabla de tipos de cambio en la que algunos días no se tienen en cuenta . Estos días pueden ser fines de semana o festivos.

Esto puede no ser un problema a veces, especialmente si el negocio para el que está preparando un informe no abre los fines de semana y días festivos. Pero si lo hacen, podría terminar con totales incorrectos al final del mes.

Saber cómo lidiar con los datos faltantes le permitirá comparar las ventas de manera justa si se utilizan varias monedas. Puede haber días, por ejemplo, en los que piense que las ventas totales están disminuyendo porque el valor de la moneda bajó. En realidad, las ventas totales pueden ser bajas porque no está contabilizando todos los días del período determinado.

En este ejemplo, tomaré el último tipo de cambio disponible y lo usaré en las fechas que faltan para llenar el espacio. Puede ver el video completo de este tutorial en la parte inferior de este blog.

Tabla de contenido

Datos dados en la tabla de tipos de cambio

A continuación se muestra la tabla de hechos, que es la tabla de tipos de cambio . Utiliza el euro como moneda base.

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Muestra datos de enero de 2016 con el Crossrate asociado en cada día.

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Todo pinta bien a partir del 1 de enero. Pero cuando llego al 26, la siguiente fecha en la fila siguiente es el 29.

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Esto significa que me faltan datos del 27 y 28 .

Tenga en cuenta que algunos podrían preferir usar Power Query para manejar esta situación. Por ahora, solo quiero centrarme en DAX.

Ahora digamos que quiero usar 0.920 los días 27 y 28. Esta es la tasa cruzada utilizada el día 26. ¿Cómo hago eso usando DAX?

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Algunos pueden decir que esto se puede hacer fácilmente en Excel. Puede que tengan razón hasta cierto punto.

Pero la ventaja que tiene LuckyTemplates sobre Excel es la capacidad de sumergirse aún más en los datos desde diferentes perspectivas sin tener que rehacer o cambiar nada, lo que probablemente sucedería en Excel.

Le mostraré todas las medidas que debe considerar, así como los diferentes pasos que tomaría para cubrir cualquier dato faltante de las tablas de tipos de cambio.

Medida de tipo de cambio

Primero, déjame mostrarte mi mesa principal. Ya tengo algunos datos aquí, incluida la Fecha y el Tipo de cambio para el Euro .

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

En este caso, el tipo de cambio simplemente utiliza la función .

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Dado que estoy tratando con una tasa de cambio por día, es fácil usar funciones como SUM , , o cualquier otra similar. Los datos que aparecen por fila tendrían mucho sentido.

El único problema aquí es qué va a pasar con el Total .

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Esto muestra el Total como 26.693, lo que no tiene ningún sentido. Es literalmente resumir todos los tipos de cambio de los días. Debido a esto, tendría que encontrar una forma de iterar a lo largo de los días para obtener el Total real .

Así que miraré mi medida de fecha de moneda para tratar de resolver eso.

Medida de fecha actual

Personalmente, siempre hago una medida de Fecha actual que incluye cualquier fecha en la que me encuentre en el contexto del Filtro actual .

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

También prefiero usar . En este ejemplo, usar la función MAX me dará 1/31 en el Total, lo que tendría más sentido ya que esa es la última fecha dada.

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Última fecha de moneda

Mi tabla también contiene la fecha de la última moneda . Obtengo esto usando la función y haciendo referencia a las tablas FactCurrencyRates y Date .

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Aunque esto muestra la función LASTDATE , también es posible usar MAX . Esto utiliza la misma premisa que la tabla de Fecha actual , pero brinda un punto específico en el tiempo en relación con la tabla de Tipos de cambio .

Al desplazarme hacia abajo, puedo ver que no hay datos para el 27 y el 28 del mes.

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Para abordar esos días que faltan, voy a hablar sobre la columna Fecha de la última moneda informada .

Fecha de la última moneda informada

La fecha de la última moneda informada determinará qué tipo de cambio usar para los días faltantes. El concepto es que la última tasa de cambio informada será la misma tasa que se utilizará en los días con datos faltantes .

Dado que no hay datos tanto del 27 como del 28, esto significa que se aplicarán los datos del 26.

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Nuestro ejemplo también muestra que la fecha de la última moneda notificada no necesariamente es el día anterior. Dado que tampoco hay datos para el día 27, aún tendría que volver al día 26 para averiguar qué tasa usar el día 28.

Antes de saltar a la medida que muestra cómo se hizo esto, recuerde que todo aquí sucede en el contexto de cómo funciona un filtro. Tengo que pensar en qué datos específicos quiero centrarme.

Como estoy en la fila del día 27 del mes, quiero eliminar cualquier referencia de filtro y centrarme en el día 26. Esto significa traer el o ya que estos me permiten modificar el filtro aplicado. No se confunda con la función , que solo puede restringir aún más los datos.

Esta es la medida que utilicé para la Fecha de la última moneda informada . Usé CALCULAR para este ejemplo.

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Siempre trato de encontrar tantas variables como pueda. Solo necesito mirar el alcance de cada variable, ya que las variables toman el valor de donde están definidas .

En este caso, voy a usar la fecha actual porque sé que esta variable no va a cambiar independientemente de las funciones que use.

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Tenga en cuenta que no es necesario encontrar esta variable. Es solo un hábito que me permite verificar el alcance de cada variable que usaré en la medida.

Volviendo a la medida, ¿cómo le digo a DAX que elimine los filtros para la fecha actual y me proporcione la fecha de la última moneda registrada ?

Primero, usaré FILTER para la tabla (DimDate).

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

La función TODOS elimina los filtros aplicados, abriendo la tabla DimDate para que la use.

Luego, uso MIN para decirle a DAX que quiero usar la parte de la columna DimDate que es igual a Last Currency Date o Current Date .

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

¿ Qué ocurre si la fecha de la última divisa y la fecha actual no son iguales? A continuación, utilice siempre la fecha de la última divisa .

Es por esto que entre el 26/1 y el 27/1, la medida tomará 1/26. A partir de aquí, se aplicará la fecha correcta a la tabla de tipos de cambio para obtener el último tipo de cambio informado .

Última tasa de cambio informada

Permítanme arrastrar el último tipo de cambio informado a mi tabla.

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Verá que los días 27 y 28 ahora usan 0,9200 como tipo de cambio , ya que es el mismo tipo que se usó el día 26.

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

A continuación se muestra la medida que utilicé para el último tipo de cambio informado .

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Nuevamente, siempre empiezo definiendo algunas variables. En este caso, estoy usando Moneda seleccionada y Última fecha de moneda informada .

Voy a usar Moneda seleccionada porque estoy tratando con diferentes monedas aquí. Es por eso que necesito identificar qué moneda específica se está evaluando en un momento dado.

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

En este ejemplo, se puede acceder a las diferentes monedas utilizando la segmentación proporcionada.

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Por supuesto, no tiene que ser una cortadora que esté en uso. También puede provenir de una tabla o de un elemento visual. Lo que importa es que hay un filtro que le permite ver los datos en diferentes monedas.

En cuanto a LastReportedDate , es lo mismo que la última fecha de moneda informada de la que hablé anteriormente.

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Para la variable Tasa , utilicé la función .

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Traigo el Crossrate de la tabla de hechos para CurrencyRates .

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Dado que tengo muchas monedas en una sola tabla, no puedo usar la fecha como único punto de referencia. Tiene que ser una combinación de la moneda correcta y la fecha correcta.

Esta es la razón por la que también me estoy refiriendo al ticker de moneda igual a la moneda seleccionada .

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

También estoy haciendo referencia a LastReportedDate .

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Por eso, mirando la tabla, muestra el 26 tres veces antes de saltar al 29.

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Ventas convertidas usando la última tasa reportada versus usando la fecha actual

Ahora estoy en el tramo final, que consiste en convertir las ventas utilizando el último tipo de cambio informado .

Básicamente, la medida solo toma este último tipo de cambio informado y lo multiplica por la medida base , que en este caso es Ventas totales .

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Una vez aplicada esa medida, verás que estas dos fechas quedan en blanco. Esto significa que no hay ventas en estas fechas .

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

También resulta que hay rebajas los días 27 y 28 (donde antes no había datos de divisas).

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Dado que hice referencia a la última tasa de cambio informada , estos números se han convertido a euros.

Esta vez, le mostraré las Ventas convertidas utilizando la fecha actual.

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Esta vez, solo mira la fecha actual en lugar de tener en cuenta la última fecha informada .

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Una vez que pongo esa medida en la tabla en otra columna, solo muestra espacios en blanco el 27 y el 28.

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Al comparar las ventas convertidas entre el uso de la tasa del último informe y el uso de la fecha actual , el total muestra una gran diferencia.

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Donde las Ventas convertidas usando la última fecha informada muestran un total de más de 4 millones, las Ventas convertidas usando la fecha actual solo muestran 3,8 millones en total.

Por eso es muy importante comprender qué variable está utilizando. Si miras el Total, solo parece que el Euro recibió un gran golpe, bajando el valor. Pero en realidad, la caída en Total se debe a datos no contabilizados en la tabla Tipos de cambio.

Limpiando los datos

Ahora que he completado los datos que faltan, voy a limpiar la tabla.

Acabo de agregar una columna de Ventas con formato aquí que muestra claramente los números en euros.

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Como pasé por tantos pasos, he acumulado bastantes columnas aquí.

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Pero no todos estos son necesarios para presentar los datos. Así que seguiré adelante y me desharé de ellos eliminándolos en el panel Valores .

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Una vez que se han eliminado, termino con una tabla más limpia que muestra solo los datos necesarios.

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Tenga en cuenta que todavía puedo cambiar la moneda usando la cortadora aquí a la derecha.

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Para que mi tabla sea más completa, agregaré todas las demás monedas desactivando la opción Selección única .

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Esto mostrará mis números en dólares estadounidenses, euros y libras esterlinas.

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

También veo algunos espacios en blanco aquí que representan los días en que no hay ventas.

Los eliminaré desactivando " Mostrar elementos sin datos ".

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Ahora, la tabla solo contiene filas que representan las fechas con ventas.

Tabla de tasas de divisas: contabilización de datos faltantes con DAX

Esto me da una buena comparación de los números basados ​​en las diferentes monedas.

Los totales también muestran los números correctos porque usé para recorrer cada una de las filas.

Esto es muy importante. Si no usa SUMX , terminará agregando todas las columnas sin pensar si se está usando la tasa de cambio correcta.


Creación de una tabla de conversión de divisas en LuckyTemplates
Lógica de divisas múltiples en LuckyTemplates: un ejemplo de LOOKUPVALUE
Formato de divisas en LuckyTemplates mediante DAX

Conclusión

Como mencioné anteriormente, esta no es necesariamente la única forma de lidiar con los datos faltantes. En realidad, hay un montón de otras maneras de hacer esto.

En algunos casos, por ejemplo, puede usar los datos del comienzo del mes y aplicar ese mismo número en toda la tabla de tipos de cambio. Discutiré esos otros enfoques en el futuro en blogs separados.

Por ahora, utilicé este enfoque porque usar la última tasa reportada tiene más sentido para mí. Creo que es la opción más intuitiva.

Una cosa que también me gustaría enfatizar es la necesidad de entender todo desde un contexto de filtro. ¿Cómo sobrescribo el filtro? ¿Cómo traigo los últimos datos informados? Esto le ayudará a comprender cómo obtener los números correctos al final.

Mis mejores deseos,

Leave a Comment

Time Intelligence en LuckyTemplates: cómo calcular el número de transacciones realizadas en los últimos N días

Time Intelligence en LuckyTemplates: cómo calcular el número de transacciones realizadas en los últimos N días

Descubra cómo calcular el total de transacciones realizadas en los últimos N días y obtenga información útil utilizando la inteligencia de tiempo en LuckyTemplates.

Cómo evaluar clústeres en sus datos mediante la técnica DAX en LuckyTemplates

Cómo evaluar clústeres en sus datos mediante la técnica DAX en LuckyTemplates

En este tutorial, demuestro cómo mostrar clústeres en sus datos permite extraer información valiosa usando técnicas DAX avanzadas.

¿Cuánto personal tenemos actualmente? Lógica de fechas múltiples en LuckyTemplates usando DAX

¿Cuánto personal tenemos actualmente? Lógica de fechas múltiples en LuckyTemplates usando DAX

En este tutorial, aprenderá a calcular la <strong>población actual del personal</strong> para las relaciones múltiples de la tabla de calendario mediante la función COUNTROWS y FILTER en LuckyTemplates.

Hacer una solicitud HTTP en Power Automate

Hacer una solicitud HTTP en Power Automate

Aprenda a crear una solicitud HTTP con Power Automate y cómo implementar soluciones efectivas para la automatización de tareas.

Programe un flujo de escritorio para que se ejecute en Power Automate

Programe un flujo de escritorio para que se ejecute en Power Automate

En este tutorial, aprenda cómo programar un flujo de escritorio en Power Automate para automatizar tareas en la web y su escritorio.

Power Automate Terminar Control de acción en flujos

Power Automate Terminar Control de acción en flujos

Aprenda a usar correctamente el control Terminar acción de Power Automate que termina las acciones en un flujo si no se cumple alguna de las condiciones.

Power Query: combinar archivos de varias carpetas

Power Query: combinar archivos de varias carpetas

Aprenda a combinar archivos de varias carpetas en su red, escritorio, OneDrive o SharePoint utilizando Power Query.

Tipos de flujo de Power Automate y cuándo usarlos

Tipos de flujo de Power Automate y cuándo usarlos

En este blog, analizamos las similitudes y diferencias entre los tipos de flujo de Power Automate y determinamos cuándo usar cada flujo. Encuentra la mejor opción de automatización.

Conectores de Power Automate: número, texto y fecha y hora

Conectores de Power Automate: número, texto y fecha y hora

Familiarízate con algunos conectores Power Automate integrados que transforman cadenas en otro formato: número, texto y fecha y hora.

Tutorial del analizador VertiPaq: relaciones e integridad referencial

Tutorial del analizador VertiPaq: relaciones e integridad referencial

Este tutorial detallado sobre el analizador VertiPaq en DAX Studio le enseñará cómo usar la pestaña Relaciones para optimizar su DAX y resolver problemas de integridad referencial.