GuíasTutoriales

Cómo cargar tipos de cambio en Power BI con Power Query

Pega una consulta M en Power BI Desktop, convierte la respuesta JSON en una tabla y deja preparada la actualización programada.

5 ago 2026 · 5 min

Power BI ya incluye el conector necesario. Crea una consulta en blanco y usa Web.Contents. Mantén el dominio fijo y coloca el endpoint en RelativePath; así el servicio reconoce una fuente estable cuando actualiza el modelo semántico.

  • Pega el código M en Editor avanzado.
  • Mantén fijo https://api.exchangerate.dev y usa RelativePath.
  • La salida tiene una fila por moneda y columnas de fuente y actualización.
  • Elige credenciales Anónimas porque la clave viaja en la cabecera.
  • Los editores del PBIX pueden ver la consulta; usa un proxy si distribuyes el archivo.

Crea una consulta en blanco

Crea una clave gratuita. En Power BI Desktop, abre Obtener datos → Consulta en blanco y después Vista → Editor avanzado dentro de Power Query.

Pega la consulta M

Power Query M · Advanced Editor
let    ApiKey = "exr_live_replace_with_your_key_here",    Base = "USD",    Symbols = "EUR,GBP,JPY",    Response = Json.Document(        Web.Contents(            "https://api.exchangerate.dev",            [                RelativePath = "v1/latest/" & Base,                Query = [symbols = Symbols],                Headers = [Authorization = "Bearer " & ApiKey]            ]        )    ),    Rates = Record.ToTable(Response[rates]),    Renamed = Table.RenameColumns(        Rates,        {{"Name", "currency"}, {"Value", "rate"}}    ),    WithBase = Table.AddColumn(Renamed, "base", each Response[base], type text),    WithSource = Table.AddColumn(WithBase, "source", each Response[source], type text),    WithUpdatedAt = Table.AddColumn(        WithSource,        "data_updated_at",        each DateTimeZone.FromText(Response[data_updated_at]),        type datetimezone    )in    WithUpdatedAt

Sustituye la clave de ejemplo, pulsa Listo y llama FxRates a la consulta. La vista previa debe mostrar EUR, GBP y JPY en filas separadas.

Revisa los tipos de datos

Usa Texto para currency, base y source; Número decimal para rate; y Fecha/Hora/Zona para data_updated_at. Después pulsa Cerrar y aplicar.

Publica y configura la actualización

En el servicio de Power BI, abre las credenciales del origen https://api.exchangerate.dev y elige Anónimo. La consulta ya envía la clave en la cabecera Authorization. Define una frecuencia que tenga sentido para el informe.

RelativePath evita el error de origen dinámico

Power BI necesita reconocer un host estable. Deja el dominio en Web.Contents y mueve la ruta del endpoint a RelativePath para que la actualización siga funcionando después de publicar.

Un parámetro M no es una caja fuerte

Quien pueda editar el PBIX o la consulta puede llegar a ver la clave. Para un espacio interno y controlado puede ser suficiente. Si el archivo va a circular, llama a un proxy de tu servidor.

Tipos indicativos

Úsalos en informes, análisis, planificación y visualización. No son una cotización ejecutable ni un precio de liquidación.

Preguntas

¿Puede Power BI llamar a una API de divisas?

Sí. Web.Contents obtiene el JSON y Power Query convierte el record de rates en una tabla.

¿Por qué aparece “origen dinámico”?

Mantén el host fijo en Web.Contents y coloca el endpoint dentro de RelativePath.

¿Qué credencial debo elegir?

Anónima, porque la consulta M envía la clave en la cabecera Authorization.

Sigue leyendo

Empieza con una clave API gratuita

5.000 solicitudes al mes con el plan gratuito. Sin tarjeta de crédito.

Obtén una clave gratuita