Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hola
Estoy tratando de averiguar cómo crear la medida adecuada para crear esto, pero atascado en un runt sobre cómo empezar.
Esencialmente, estoy tratando de crear un gráfico que le permite mostrar cómo cambian los valores totales de los clientes a lo largo del tiempo (basado en la fecha de extracción) - esto es fácilmente factible. Sin embargo, el problema al que me enfrento es que quiero agregar una segmentación de fecha para que pueda ver cómo cambiará el valor total del cliente en función de las tarifas de cambio en diferentes fechas.
Como ejemplo, quiero hacer un gráfico de barras que mostrará el valor total de AUD para el 31 de enero de 2020 porque he seleccionado el 31 de enero de 2020 basado en la fecha de extracción (tabla 1). Entonces quiero tener otra cortadora de fecha (tabla 2), que me permitirá ver cómo cambiará el valor total de AUD ahora, calculando los tipos de cambio de USD/CAD a AUD en el 31 mar 2020 en su lugar. Tenga en cuenta que tengo varios tipos de cambio y fechas más, pero este USD / CAD son sólo para referencia por ahora.
Tabla 1:
Fecha de extracción | Cliente | Moneda | Valor (no AUD) | Valor (AUD) | Tipo de cambio |
31 de enero de 2020 | A | Usd | 1000000 | 1520000 | 1.52 |
31 de enero de 2020 | B | Usd | 20000 | ... | 1.52 |
31 de enero de 2020 | C | Cad | 500000 | ... | 1.1 |
29 de febrero de 2020 | A | Usd | 1100000 | ... | 1.74 |
29 de febrero de 2020 | B | Usd | 25000 | ... | 1.74 |
29 de febrero de 2020 | C | Cad | 520000 | ... | 1.1 |
Tabla 2: Tabla de cambio de divisas
Fecha de negociación | Moneda | Tipo de Cambio AUD |
31 de enero de 2020 | Usd | 1.52 |
29 de febrero de 2020 | Usd | 1.74 |
31 Mar 2020 | Usd | 1.52 |
31 de enero de 2020 | Cad | 1.1 |
29 de febrero de 2020 | Cad | 1.1 |
31 Mar 2020 | Cad | 1.1 |
Cualquier ayuda muy apreciada 🙂
Solved! Go to Solution.
@rlee2838 - Todavía no tengo claro lo que está tratando de lograr. Supongamos que tenemos una tabla de fechas y transacciones como usted ha mostrado. También tiene una tabla de tipos de cambio diarios como lo que ha mostrado. El usuario elige una fecha de una tabla de calendario sinncon? Ahora quieres calcular un cálculo. Supongamos que desea tomar todas las transacciones, aplicar el tipo de cambio a la transacción a partir del día en que se ha seleccionado y luego calcular la suma de estas. En este caso específico:
Measure =
VAR __Date = SELECTEDVALUE('Calendar'[Date])
VAR __Table =
ADDCOLUMNS(
'Transactions',
"EffRate",
LOOKUPVALUE('ExchangeRates'[Value],'ExchangeRates'[Date],__Date,'ExchangeRates'[Type],[Type])
)
VAR __Table1 =
ADDCOLUMNS(
__Table,
"Product",
[EffRate] * [PurchaseAmount]
)
RETURN
SUMX(__Table1,[Product])
Estoy inventando nombres de tabla y nombres de columna porque no publicaste nada en texto debajo y no puedo leer la pequeña imagen mientras también intentas codificar. Pero, en resumen, agarra tu cita. Agregue una columna a su tabla de hechos base que sea esencialmente el tipo de cambio para la fecha seleccionada, así como el "tipo" de la fila actual USD/CAN, CAN/USD, etc. Agregue otra columna a esa tabla que multiplicó algún valor por esta tasa. Suma todo junto, el final.
@rlee2838 - Cubro los tipos de cambio en el Capítulo 5, Receta 8 del libro de cocina DAX. Si solo quieres ver el DAX de cómo lo hice, puedes ir aquí para descargar el PBIX para el capítulo. https://github.com/gdeckler/DAXCookbook
Hola @Greg_Deckler , No creo que Receipe realmente ayuda, ya que no quiero una solución donde la moneda es capaz de ser seleccionado por el usuario. Debe calcularse automáticamente.
Sólo quiero que el usuario cambie la fecha de la tasa de cambio - supongamos que cada uno de los tipos de cambio disponibles se rellena para todo tipo de códigos de divisa.
@rlee2838 - La selección de la fecha correcta es parte de la receta y lo básico sería el mismo. Así que básicamente, usaría SELECTEDVALUE para tomar la fecha de la segmentación de datos (recomendaría una tabla de calendario desconectada para esto). Entonces usaría esto para BUSCARVALUE su tipo de cambio para ese día. Entonces usted podría hacer su cálculo (ya sea SUMA arriba algo y multiplicar por tipo de cambio o lo que sea, ¿verdad?
Hola @Greg_Deckler , ¿podría explicar un poco más?
Disculpas, pero aún estoy temprano en mi aprendizaje con DAX. Entiendo el SELECTEDVALUE, pero estoy un poco confundido en cuanto a la aplicación de la LOOKUPVALUE.
Si quiero utilizar LOOKUPVALUE, ¿cómo puedo hacer que aplique todos los tipos de cambio, es decir, USD/AUD, CAD/AUD, GBP/AUD dentro del día seleccionado?
Acabo de subir una captura de pantalla a continuación que puede hacer que sea más fácil de explicar.
Esencialmente, quiero que un usuario pueda ver los datos en función de la extract_date. Dentro de estos datos, hay clientes de diferentes países con diferentes tipos de moneda, que quiero convertir de nuevo a mi moneda nacional (AUD).
Quiero que el usuario pueda seleccionar una fecha de trading (este es SELECTEDVALUE), que luego aplicará el exchange_rate para esa fecha seleccionada al [Valor No AUD] para TODAS las Currency_Codes.
@rlee2838 - Todavía no tengo claro lo que está tratando de lograr. Supongamos que tenemos una tabla de fechas y transacciones como usted ha mostrado. También tiene una tabla de tipos de cambio diarios como lo que ha mostrado. El usuario elige una fecha de una tabla de calendario sinncon? Ahora quieres calcular un cálculo. Supongamos que desea tomar todas las transacciones, aplicar el tipo de cambio a la transacción a partir del día en que se ha seleccionado y luego calcular la suma de estas. En este caso específico:
Measure =
VAR __Date = SELECTEDVALUE('Calendar'[Date])
VAR __Table =
ADDCOLUMNS(
'Transactions',
"EffRate",
LOOKUPVALUE('ExchangeRates'[Value],'ExchangeRates'[Date],__Date,'ExchangeRates'[Type],[Type])
)
VAR __Table1 =
ADDCOLUMNS(
__Table,
"Product",
[EffRate] * [PurchaseAmount]
)
RETURN
SUMX(__Table1,[Product])
Estoy inventando nombres de tabla y nombres de columna porque no publicaste nada en texto debajo y no puedo leer la pequeña imagen mientras también intentas codificar. Pero, en resumen, agarra tu cita. Agregue una columna a su tabla de hechos base que sea esencialmente el tipo de cambio para la fecha seleccionada, así como el "tipo" de la fila actual USD/CAN, CAN/USD, etc. Agregue otra columna a esa tabla que multiplicó algún valor por esta tasa. Suma todo junto, el final.
Hola @Greg_Deckler, primero de, gracias por su ayuda hasta ahora... incluso si no estoy llegando todavía
Estoy agregando algunas imágenes para ilustrar mejor mi punto en cuanto a lo que estoy tratando de lograr:
Cuando utilizo la medida que creaste, solo obtengo resultados en blanco cuando la arrastro a la tabla para mostrarla:
Y para otra referencia:
La muestra de PBIX también se puede encontrar aquí:
https://1drv.ms/u/s!ArqhX9Cz43yboxmYSEX1ngG57274?e=EdAIcp
Hola @Greg_Deckler,
Parecía haberlo resuelto. Tuve que hacer pequeños ajustes a tu código.
Value based on selected Currency Date =
VAR ___TABLE =
ADDCOLUMNS(
'ValueTable',
"EffRate",
LOOKUPVALUE('CurrencyTable'[AUD_rate],CurrencyTable[Currency Date],SELECTEDVALUE(CurrencyTable[Currency Date]),CurrencyTable[Currency Code],'ValueTable'[Currency_Code])
)
VAR ___TABLE2 =
ADDCOLUMNS(
___TABLE,"Product",
[EffRate] * [Final Value (Non AUD)])
RETURN
SUMX(___TABLE2,[Product])
@rlee2838 - ¡Increíble!
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |