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.
Puntos clave
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 Editorcopy
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.