PowerBI如何通过API获取数据?一文详解

您看看需不需要 2024-10-12 20:48:35

前面的文章介绍了如何通过资源网站和Excel来获取金融数据:

分享两个超实用的财经资源网站!

通过Excel函数获取股票历史交易数据

其实更普遍的场景是通过API来获取相关数据,API(Application Programming Interface,应用程序编程接口)是一套预先定义的函数、协议和工具集,用于构建软件和应用程序。API充当不同软件间的中介,允许它们相互通信。通过API,用户可以访问某个服务或应用程序的功能或数据,而无需了解其内部工作机制。

本文将介绍PowerBI如何通过API获取数据,以沧海数据提供的API接口为例。

沧海数据网址:https://tsanghi.com

该网站提供全球主要国家的金融数据服务,如果没有账户,先注册一个,非常简单,注册登录后会有自己的token,免费版可以获取最近3年数据、每天调用30次的额度,如果你有更多的数据需求,请购买付费版。

这里以免费版为例,来介绍PowerBI通过它的API获取数据的方法。

分析API结构

首先,访问该网站的文档页面,来了解API的详细信息。阅读文档是关键步骤,它将告诉你如何构造请求,需要哪些参数。

这里以获取股票行情的历史日线数据为例,找到该数据的文档说明:

黑色区域就是该API的基本网址结构:

https://tsanghi.com/api/fin/stock/{exchange_code}/daily?token={你的token}&ticker={ticker}

上面网址中{ }内容要替换为你的信息,不懂这些没有关系,文档有详细的介绍,先来看其中的Request参数。

Request参数是指在发送HTTP请求时,需要传递给API服务器的参数。这些参数通常用于告诉API服务器你请求的具体数据是什么,以及你希望以何种形式接收这些数据。

通过Request参数列表,可以看出exchange_code表示交易所的代码,token在你注册登录后会看到的一串代码,ticker表示股票代码。

假如你要获取上交所贵州茅台的历史数据,网址就改成:

https://tsanghi.com/api/fin/stock/XSHG/daily?token={你的token}&ticker=600519

这就是获取某只股票的基本网址,如果要指定历史数据的起止期间,比如获取贵州茅台2024年9月的交易记录,根据上面的Request参数,输入start_date和end_date参数,并用&连接起来就可以了,网址构造如下:

https://tsanghi.com/api/fin/stock/XSHG/daily?token={你的token}&ticker=600519&start_date=2024-09-01&end_date=2024-09-30

通过PowerBI获取数据

有了上面构造的网址,我们就可以在PowerBI中点击获取数据>Web:

将该网址输入进去,就可以得到贵州茅台2024年9月的交易数据:

这样获取的数据是该网站提供的全部字段,如果只想得到某些字段,就要用到该API的Response参数:

Response参数指的是当API请求成功处理后,API服务器返回给客户端的数据字段。这些参数定义了响应数据的结构和内容,使用户可以了解他们将接收到什么样的数据。

假如我们只需要获取贵州茅台2024年9月交易数据的股票代码、日期、开盘价和收盘价,Response参数名称就是ticker、date、open和close,网址构造如下:

https://tsanghi.com/api/fin/stock/XSHG/daily?token={你的token}&ticker=600519&start_date=2024-09-01&end_date=2024-09-30&columns=ticker,date,open,close

和上面的方式一样,在PowerBI中获取数据>Web,将上面的网址输入进去,得到的数据就是下面的样式,只有指定的字段:

从API中提取数据以后,可以进一步在pq中进行清洗整理成你想要的格式,这些就不介绍了,具体可参考:数据清洗中最常使用的十三招

总结

通过上面的介绍可以看出,PowerBI获取API数据非常简单,关键是分析API参数构成,通过这些参数和具体需求,构造出特定的URL,然后利用PowerBI的从web获取数据的功能,就可以轻松获取数据,整个过程可以不写任何公式代码,PowerBI初学者也可以通过简单几个步骤实现。

PowerBI星球的最新版内容合辑,值得你收藏学习:

PowerBI星球

0 阅读:4