在BigQuery中使用类似GOOGLEFINANCE的函数实现IDR转USD
在BigQuery中实现印尼盾(IDR)到美元(USD)的货币转换
BigQuery没有内置的实时货币转换函数,但可以通过以下两种常用方式完成IDR到USD的转换:
1. 使用BigQuery公共汇率数据集
BigQuery提供了公开的汇率数据集,可直接查询获取历史或最新的IDR/USD汇率,再结合你的成本数据完成转换。
以bigquery-public-data.currency_exchange_rates.exchange_rates数据集为例,示例查询如下:
-- 获取最新的IDR到USD汇率 WITH latest_exchange_rate AS ( SELECT rate, currency_code FROM `bigquery-public-data.currency_exchange_rates.exchange_rates` WHERE currency_code = 'IDR' AND target_currency_code = 'USD' ORDER BY date DESC LIMIT 1 ) -- 转换成本数据 SELECT your_table.idr_cost, ROUND(your_table.idr_cost / latest_exchange_rate.rate, 2) AS usd_cost FROM your_table CROSS JOIN latest_exchange_rate
注:不同公共数据集的汇率更新频率、数据源存在差异,你也可以选择美联储汇率数据集bigquery-public-data.federal_reserve.fred_exchange_rates等其他公开资源。
2. 自定义维护汇率表
如果需要更精准或实时的汇率,可自行维护一个汇率表(比如定期从可靠数据源抓取汇率存入BigQuery),再通过关联查询完成转换:
-- 假设自定义汇率表custom_exchange_rates包含date、from_currency、to_currency、rate字段 SELECT your_table.idr_cost, ROUND(your_table.idr_cost / custom_exchange_rates.rate, 2) AS usd_cost FROM your_table JOIN custom_exchange_rates ON custom_exchange_rates.from_currency = 'IDR' AND custom_exchange_rates.to_currency = 'USD' -- 匹配交易日期对应的历史汇率(若需按时间维度转换) AND custom_exchange_rates.date = your_table.transaction_date
内容的提问来源于stack exchange,提问作者byrmn__
相关产品推荐
相关产品推荐

