The ultimate Microsoft Fabric, Power BI, Azure AI & SQL learning event! Join us in Las Vegas from March 26-28, 2024. Use code MSCUST for a $100 discount. Register Now
Hey PBI Community, tienes una pregunta sobre las conversiones de divisas.
El modelo de datos actual utiliza columnas calculadas para convertir moneda. El problema con eso, es que aumenta el modelo 6 veces ya que hay 6 monedas (imagen abajo). En este ejemplo, el valor "Target" de "Svenks krona" se convierte a otras 6 monedas mediante el uso de "Tipo de cambio". Esto se hace fácilmente mediante el uso de una medida de SUMX (tabla, objetivo * tipo de cambio) y, a continuación, el filtrado por "Convertir a" segmentación.
Me gustaría evitar el aumento x6 del modelo de datos y simplemente convertir el valor "Objetivo" mediante la tabla "Intercambio de divisas".
Sólo una moneda entrante sin valores "Convertir a" que expanden la tabla x6.
Tabla "Conversión de moneda"
Los problemas:
Estoy atascado en pensar en cómo crear una medida, que multiplica el valor "Target" por "Rate" para la "temporada" especificada y donde no debería usar un filtro para seleccionar una "Temporada", de modo que no aparezca el measage de errores - "Se proporcionó una tabla de múltiples valores donde se esperaba un solo valor" - no aparecería.
Esencialmente, me gustaría que la medida calculara como el siguiente ejemplo:
¡Agradezco cualquier ayuda a la gente!
- Eric
Solved! Go to Solution.
Hola @MrKrukauskas ,
Según mi opinión, desea calcular la tasa de destino * basado en CurrencyTo seleccionado en Slicer , ¿verdad?
Puede usar la siguiente fórmula:
matchedRate =
VAR _sele =
SELECTEDVALUE ( 'Currency conversion2'[CurrencyTo] )
RETURN
CALCULATE (
MAX ( 'Currency conversion2'[Rate] ),
FILTER (
'Currency conversion2',
'Currency conversion2'[CurrencyTo] = _sele
&& 'Currency conversion2'[Season] = MAX ( 'Table A2'[Season] )
)
)
Measure value =
SUMX ( 'Table A2', [matchedRate] * MAX ( 'Table A2'[Target] ) )
¿He respondido a tu pregunta? Por favor, marque mi respuesta como solución. Muchas gracias.
Si no es así, comparta su archivo pbix y describa la salida esperada.
Saludos
Eyelyn Qin
Hola @MrKrukauskas ,
Según mi opinión, desea calcular la tasa de destino * basado en CurrencyTo seleccionado en Slicer , ¿verdad?
Puede usar la siguiente fórmula:
matchedRate =
VAR _sele =
SELECTEDVALUE ( 'Currency conversion2'[CurrencyTo] )
RETURN
CALCULATE (
MAX ( 'Currency conversion2'[Rate] ),
FILTER (
'Currency conversion2',
'Currency conversion2'[CurrencyTo] = _sele
&& 'Currency conversion2'[Season] = MAX ( 'Table A2'[Season] )
)
)
Measure value =
SUMX ( 'Table A2', [matchedRate] * MAX ( 'Table A2'[Target] ) )
¿He respondido a tu pregunta? Por favor, marque mi respuesta como solución. Muchas gracias.
Si no es así, comparta su archivo pbix y describa la salida esperada.
Saludos
Eyelyn Qin
@v-eqin-msft Thank You for your solution. It worked with minor adjustments.
Appreciate the help!
matchedRate =
var _sele = SELECTEDVALUE('91 Currency Rates'[Currency To])
return CALCULATE(
MAX('91 Currency Rates'[Rate]),
FILTER('91 Currency Rates','91 Currency Rates'[Currency To] = _sele
)
)
Measure value = SUMX('Table A2',[matchedRate]*('Table A2'[Target]))
¿Ha probado la función SWITCH?
Proud to be a Super User!
SWITCH(TRUE,
Condición 1, Resultado 1, Condción 2, Resultado 2, Resultado 3)
de esa manera puede llevar sus tasas de Exchnage a la columna de datos (Columna calculada)
Proud to be a Super User!
Join us at our first-ever Microsoft Fabric Community Conference, March 26-28, 2024 in Las Vegas with 100+ sessions by community experts and Microsoft engineering.