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
Syndicate_Admin
Administrator
Administrator

Conversión de moneda en la fecha de presentación de informes

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

1 ACCEPTED 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.

View solution in original post

6 REPLIES 6
Syndicate_Admin
Administrator
Administrator

Realmente genial @MFelix! Muchas gracias.

Syndicate_Admin
Administrator
Administrator

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])

MFelix_0-1619512118986.png

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.