March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
Hola a todos
Estoy buscando una solución para mi problema dax. Tengo un esquema de estrella con una ficha informativa que contiene cantidades en varias monedas. Quiero elegir una fecha en el informe y, a continuación, los importes deben dividirse por la tarifa como se conoce en la fecha de presentación de informes elegido. Hasta ahora no es tan complejo supongo. Tengo un esquema de estrella normal.
Tengo una medida especial para calcular el valor correcto en la moneda donde se guarda:
VAR MaxDate = MAX(ReportingDate[Date])
RETURN CALCULATE([AmountSum], TransactionType[TransactionType]="Type A", ALL(ReportingDate), 'Product'[Approval Date] <= MaxDate)
Esto funciona bien, pero no tengo ni idea de cómo determinar la tasa correcta y dividir el resultado de esta medida por esa tasa. Pude crear una tabla con las tarifas como se elige en el máximo de las fechas seleccionadas. Lo he hecho con (por ejemplo):
VAR MaxDate = MAX(ReportingDate[Id])
VAR RatesOnReportingDate = FILTER(Rates, [ReportingDateId] = MaxDate)
Eso me da una tabla con la tasa por moneda en la fecha máxima de notificación.
He probado cosas, muchas cosas, como naturalinnerjoin y así sucesivamente. Pero no puedo hacerlo funcionar.
¿Hay alguien que pueda decirme qué hacer para que esto funcione? Creo que no es tan difícil y estoy cerca...
PBIX con el ejemplo; https://file.io/avULGIHkWmpJ
Solved! Go to Solution.
No @MiKeZZa ,
En primer lugar, es necesario tener todo lo que ReportDateID como números enteros
Pruebe la siguiente medida, si este no es el resultado correcto, por favor dígamelo para que pueda revisar:
Sales Currency =
VAR SelectedCurrency =
SELECTEDVALUE ( 'Currency'[Code] )
VAR DatesExchange =
SUMMARIZE (
Rates,
ReportingDate[Month year],
Rates[Rate]
)
VAR Result =
SUMX (
DatesExchange,
DIVIDE([AmountSum] , Rates[Rate])
)
RETURN
Result
Adjuntar archivo PBIX.
No @MiKeZZa ,
El archivo no está disponible dice que se eliminó.
Pero es necesario hacer un cálculo con el mismo patrón tiene SQLBI (https://www.sqlbi.com/articles/currency-conversion-in-power-bi-reports/)
Si puede compartir el archivo puedo configurar la medida en consecuencia.
No hay @MFelix,
Traté de que funcionara con el método SQLBI, pero no pude hacerlo funcionar. Tenga en cuenta que no puedo cambiar muchas cosas en el modelo existente.
La edición del OP está dando errores HTML, así que aquí hay un nuevo enlace; descargar. ¿Esto funciona?
No @MiKeZZa ,
En primer lugar, es necesario tener todo lo que ReportDateID como números enteros
Pruebe la siguiente medida, si este no es el resultado correcto, por favor dígamelo para que pueda revisar:
Sales Currency =
VAR SelectedCurrency =
SELECTEDVALUE ( 'Currency'[Code] )
VAR DatesExchange =
SUMMARIZE (
Rates,
ReportingDate[Month year],
Rates[Rate]
)
VAR Result =
SUMX (
DatesExchange,
DIVIDE([AmountSum] , Rates[Rate])
)
RETURN
Result
Adjuntar archivo PBIX.
No hay @MFelix,
¡Eso está muy cerca de lo que quiero!
Cambicé la medida en la División y eso es genial para cada línea. Excepto la línea total. He intentado algunas cosas, pero esa línea total me está dando algunos problemas. He tenido una manera de determinar si estoy en una línea de detalle o la línea total, con ISFILTERED. Pero no sé qué hacer en total para conseguir lo que quiero.
¿También tienes una pista para eso?
He promulgado un nuevo PBIX, con mejores tarifas y números más grandes. Como se puede ver el total no es la suma de las líneas, pero la suma de todos los valores y luego dividido por una (no sé cuál) tasa.
PBIX se puede encontrar aquí
No @MiKeZZa ,
Esto tiene que ver con la transicción de contexto, la forma rápida es crear una nueva medida con la sintaxis siguiente:
Total values = SUMX(VALUES('Currency'[Code]), [Sales Currency])
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.