Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

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.

Reply
Mous007
Helper IV
Helper IV

moneda de informe predeterminada y conversión de moneda dinámica

hola a todos,

Se me ha encargado desarrollar una página de informe de cuentas por pagar y tengo varios informes de diferentes países. Cada país tiene facturas que se pueden pagar en moneda local, pero en moneda extranjera también como se puede ver en el extracto a continuación.

El área donde necesito ayuda seria es si alguien puede ayudarme a entender

  1. Cómo puedo configurar la moneda predeterminada para EUR (lo que significa que quiero que el informe convierta dinámicamente el importe de todas las facturas a EUR)
  2. cómo puedo configurar un filtro en la página donde mis usuarios pueden cambiar los números completos del informe a otra moneda (que no sea EUR)

Me han proporcionado una tabla de divisas y creo que debe ser utilizado como una especie de convertidor, pero no estoy muy seguro de cómo usarlo. La tabla de divisas también se adjunta a continuación.

Si alguien puede ayudarme a iniciar este problema de conversión de moneda realmente lo apreciaría. o al menos guiarme sobre dónde o qué debería estar buscando para resolver el problema. cualquier otra información o detalles necesarios por favor hágamelo saber.

Número de facturaImporte de la facturaCódigo de divisas
Factura 1254.57Aud
Factura 2608.08Aud
Factura 36114.84Aud
Factura 4898.03Aud
Factura 5160Aud
Factura 63953.4Aud
Factura 74135.42Aud
Factura 811477.8Aud
Factura 9942.5Aud
Factura 103605.47Eur
Factura 1118685.84Eur
Factura 126988.8Eur
Factura 137474.34Eur
Factura 1432732.2Eur
Factura 1518919.69Gbp
Factura 16964.51Gbp
Factura 176872.54Gbp
Factura 18126.86Myr
Factura 1927790.35Myr
Factura 20342033.86Sgd
Factura 213228.91Sgd
Factura 223228.91Sgd
Factura 2321526.08Sgd

CURRENCY_IDValor
Aed0.23364486
Afn0.011764706
todo0.007692308
Amd0.001785714
Ang0.4784689
Aoa0.003448276
Ars0.023809524
Aud0.632911392
Awg0.4784689
Azn0.505050505
Bam0.511247444
Bbd0.429184549
Bdt0.010204082
Bgn0.511247444
Bhd2.272727273
Bif0.000487805
Dmo0.854700855
Bnd0.628930818
Bob0.12345679
Brl0.222222222
Bsd0.854700855
Btn0.0125
Bwp0.083333333
BYN0.431034483
Bzd0.429184549
Cad0.649350649
Fcd0.000531915
Chf0.864304235
Clp0.001315789
Cny0.12987013
Policía0.000290698
Crc0.001515152
Cuc0.854700855
Cve0.009090909
Czk0.038461538
Djf0.004830918
Dkk0.133333333
Dop0.017241379
Dzd0.007142857
Egp0.04784689
Ern0.057142857
Etb0.030864198
Eur1
Fjd0.409836066
Gbp1.136363636
Gel0.34965035
Ghs0.178571429
Gmd0.017857143
Gnf9.5057E-05
Gtq0.114942529
todo0.004291845
Hkd0.10989011
Hnl0.035842294
Hrk0.135135135
Htg0.012987013
Huf0.003030303
Idr5.98802E-05
Ellos0.234741784
Inr0.0125
Iqd0.000718907
Irr1.08696E-05
Isk0.008130081
Jmd0.006622517
Yodo1.207729469
Jpy0.0078125
Quién0.008474576
KGS0.0125
Khr0.000210526
Kmf0.002040816
Kpw0.006666667
Krw0.000769231
Kwd2.83286119
Kyd1.020408163
Kzt0.002512563
Lak0.000102354
Lbp0.000569152
Lkr0.005405405
Lrd0.005649718
Lsl0.0625
Sonido0.625
Enojado0.090909091
Mdl0.05
Mga0.000253807
Mkd0.016129032
Mmk0.000632911
Mnt0.000348189
Fregona0.106382979
Mru0.025
Pared0.024630542
Mvr0.055555556
MWK0.001182033
Mxn0.043478261
Myr0.212765957
Mzn0.014492754
Sobre0.0625
Ngn0.002380952
Nio0.027027027
Suficiente0.105263158
Npr0.0078125
Nzd0.581395349
Omr2.227171492
Pab0.854700855
Pluma0.261780105
Pgk0.261096606
Php0.016129032
Pkr0.007042254
Pln0.228832952
Pyg0.000150602
Qar0.235849057
Ron0.214592275
Rsd0.008474576
Frotar0.01369863
Rwf0.000980392
Sar0.228832952
Sbd0.10989011
Scr0.063291139
Sdg0.047619048
Sec0.096153846
Sgd0.628930818
Sll0.000104603
Sos0.001492537
Srd0.114942529
Ssp0.006134969
Stn0.04
Syp0.001666667
Szl0.0625
Thb0.025641026
Tjs0.090909091
Tmt0.25
Tnd0.328947368
Arriba0.383141762
Tratar0.161290323
Ttd0.126582278
Twd0.028169014
Tzs0.000377358
Uah0.032258065
Ugx0.000221239
Usd0.854700855
Vete a dormir0.027027027
Comenzó0.000108932
VEF8.92857E-06
VES0.01369863
Vnd3.73134E-05
Vuv0.007751938
Wst0.333333333
Xaf0.00152439
Xcd0.316455696
Xdr1.213592233
Xof0.00152439
Xpf0.008403361
Yer0.003424658
Zar0.0625
ZMW0.086206897

Gracias de antemano.

Suave

11 REPLIES 11
jdbuchanan71
Super User
Super User

Hola @Mous007

Su tabla de divisas es las tasas de conversión de cualquier moneda a EUR por lo que podemos unirla a la tabla de facturas en el ID de moneda y hacer un cálculo como para pasar de la moneda de la factura a EUR.

2020-05-15_14-44-33.jpg

Invoice Amount EUR = SUMX(Invoices,Invoices[Invoice Amount] * RELATED(Currencies[VALUE]))

Ahora que tenemos el importe en EUROS podemos utilizar una copia de la tabla de divisas para permitir al usuario seleccionar otra tasa de conversión y llevar todas las facturas de EUR a la tasa seleccionada.

2020-05-15_14-45-45.jpg

Invoice Amount Selected Currency = 
VAR _ConversionRate = SELECTEDVALUE('Currencies Disconnected'[VALUE],1)
RETURN DIVIDE([Invoice Amount EUR],_ConversionRate)

En esta medida, si no se realiza ninguna selección o seleccionan varias monedas de "conversión secundaria", dejará el importe en EUR de lo contrario se convertirá a la moneda seleccionada. En mi captura de pantalla a continuación muestro el importe de la factura en la moneda original, EUR y AUD (tengo AUD seleccionado de la tabla desconectada). Puede ver que la primera y la tercera columnas coinciden con las facturas que estaban en AUD para empezar.

2020-05-15_14-49-54.jpg

Mi archivo de muestra está adjunto para que lo veas.

hola @jdbuchanan71, muchas gracias por su apoyo.

Su solución funciona perfectamente para mi problema de negocio. Una pregunta más, así que a partir de ahora cada vez que estoy tratando de utilizar mis cuentas por pagar / importe de factura en cualquier tipo de cálculo, siempre debo referirme a la medida en la moneda seleccionada ? o crees que lo hago de alguna otra manera ?

Gracias de antemano

Marcaré su puesto como una solución, pero quiero esperar a @Greg_Deckler reposo, ya que quiero probar la solución que proporcionó dos.

Muchas gracias a los dos. diferentes enfoques, pero estoy aprendiendo de ambos.

Puede utilizar [Moneda seleccionada importe factura] y tener el valor predeterminado del informe en EUR. Eso probablemente sería más fácil para sus usuarios.

Hola @jdbuchanan71 , gracias por la aclaración.

Acabo de tener otra pregunta que me vino a la mente mientras trataba de construir mis principales medidas.

Así que basado en mi comprensión en su escenario utilizando esta técnica, si por ejemplo tenía diferentes kpi's o métricas que quiero utilizar en mi modelo como: Importe de la factura (que ya hemos calculado), Importe restante, Importe aprobado, Importe pagado, etc.... , significa que para cada uno de estos i tendrá que crear dos medidas separadas para cada ?

¿Hay algún método que pueda utilizar para optimizar mi cálculo? en lugar de tener varias medidas en mi tabla de medidas ?

Estaba pensando en crear una medida con múltiples varibles como el utilizado por Greg arriba donde básicamente puedo agrupar ambas medidas en una ?

Por favor, hágamelo saber si ese es el mejor enfoque o si tiene alguna otra sugerencia.

Muchas gracias de nuevo.

Hola @Mous007

Usted puede hacerlo todo en 1 paso, acabo de tener dos debido a su solicitud de tener siempre EUR disponible.

Invoice Amount Converted = 
VAR _ConversionRate =
    SELECTEDVALUE ( 'Currencies Disconnected'[VALUE], 1 )
RETURN
    SUMX (
        Invoices,
        DIVIDE (
            Invoices[Invoice Amount] * RELATED ( Currencies[VALUE] ),
            _ConversionRate
        )
    )

Simplemente cambiaría la alimentación de la columna en la medida para cada uno de sus cálculos:

2020-05-17_6-45-40.png

¡Está funcionando! ¡Muchas gracias!

Primero usé la tabla de monedas original y no funcionó porque las líneas se filtraron, pero con la copia desconectada de la tabla de monedas está bien!

Gracias @jdbuchanan71, todavía estoy obteniendo los mismos resultados correctos con EUR y por supuesto cada vez que cambio la moneda de la cortadora desconectada todo está funcionando como se esperaba.

Muchas gracias de nuevo.

Greg_Deckler
Super User
Super User

Tengo casi este escenario exacto en mi libro, DAX Cookbook. Artesanía tipos de cambio de divisas, Capítulo 5, página 184. El mío podría ser un poco más complicado que el tuyo porque mi escenario tiene el cambio de tipo de cambio con el tiempo.

Va algo así como lo siguiente:

Reporting Amount = 
    VAR __ReportingCurrency = SELECTEDVALUE('R08_Currencies'[Currency])
    VAR __SalesCurrency = MAX('R08_Sales'[Currency])
    VAR __SalesDate = MAX('R08_Sales'[Date])
    VAR __SalesAmount = SUM('R08_Sales'[Amount])
    VAR __ExchangeRateDate = 
        MAXX(
            FILTER(
                'R08_Rates',
                    'R08_Rates'[Date] <= __SalesDate &&
                        'R08_Rates'[From] = __SalesCurrency &&
                            'R08_Rates'[To] = __ReportingCurrency
            ),
            'R08_Rates'[Date]
        )
    VAR __ExchangeRate = 
        IF(__SalesCurrency = __ReportingCurrency,
            1,
            MAXX(
                FILTER(
                    'R08_Rates',
                    'R08_Rates'[Date] = __ExchangeRateDate &&
                        'R08_Rates'[From] = __SalesCurrency &&
                            'R08_Rates'[To] = __ReportingCurrency
                ),
                'R08_Rates'[Rate]
            )
        )
RETURN
    __ExchangeRate * __SalesAmount


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...
Anonymous
Not applicable

Hola Greg,

He utilizado el código de abajo que es suyo y he tenido éxito con él en ciertas situaciones, pero no he conseguido lo que necesito y estaba esperando un par de punteros.

Tengo una tabla de ventas que tiene una columna de importe y en esa columna tiene importes para USD, EUR y GBP. También tengo una columna CurrencyID que me dice cuál es la moneda. Necesito convertir esa columna en una sola moneda que será decidida por el Usuario a través de una Cortadora. He utilizado su medida a continuación para hacer eso y funciona brillantemente cuando selecciono Registros de ventas para una moneda única en una sola fecha. Creo que la razón por la que no está funcionando es que la medida selecciona la tasa por MAXX Fecha y moneda y eso no es exactamente lo que necesito, pero no puedo averiguar cómo la iteración debe funcionar correctamente. Cualquier ayuda recibida con mucho placer, disculpas si no debería haberme contactado contigo.

Gracias

Chris

Anonymous
Not applicable

Hola Greg,

Por lo que estás diciendo creo que tienes la solución que necesito. Capturamos los tipos de cambio para un número de países sobre una base diaria y mantenemos el en una tabla. También tenemos una tabla de ventas que tiene una columna Importe que puede estar en un número de monedas, sabemos qué moneda de la columna CurrencyID de la tabla de ventas.

Me gustaría tener una segmentación en un informe donde el usuario puede elegir la moneda de notificación.

¿Tiene una imagen de su modelo que va con el código Dax que puedo echar un vistazo por favor.

Gracias espero que puedas ayudar.

Chris

hI @Greg_Deckler , gracias por tomarse el tiempo para ir a través de mi puesto.

He intentado usar su medida, pero se quedó atascado en la siguiente línea:

                        'R08_Rates'[De] __SalesCurrency &&
                            'R08_Rates'[A] - __ReportingCurrency

Podría estar equivocado, pero creo que se supone que tengo las tasas de conversión de moneda en mz principal fact invoices tabla ? Porque ahora tengo mi tabla de facturas y tabla de divisas en dos tablas distintas.

Tal vez usted puede ayudarme aún más con esto ?

gracias de antemano

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.