通过爬虫抓取上市企业利润表并在睿思BI中展示

睿思BI从v5.3开始支持网络爬虫,可以从指定URL抓取表格数据,本示例实现从网络上抓取上市企业招商银行的利润表数据,并在睿思BI中进行展现。

功能演示URL:https://www.ruisitech.com/rsbi-ultimate/#/dashboard/ShareView?token=31f6159469ae4e7b8108f9d66eed5658

首先:从搜狐财经抓取招商银行利润表数据,操作过程如下:

1.在睿思BI系统数据抽取页面,点击加号按钮,选择通过爬虫抽取数据菜单,系统进入爬虫配置页面,如下图:

通过爬虫抓取上市企业利润表并在睿思BI中展示_第1张图片

2.录入招商银行利润表的页面URL,设置编码方式,点击解析网页按钮,结果如下图:

通过爬虫抓取上市企业利润表并在睿思BI中展示_第2张图片

3.选择需要解析的表格数据,点击下一步,进入爬虫数据映射配置页面,如下图:

通过爬虫抓取上市企业利润表并在睿思BI中展示_第3张图片

4.根据数据预览界面中的数据结构,新建数据表,然后配置字段映射、设置任务节点名称、配置完成后,点击执行按钮,把数据抽取到睿思BI系统的表中(此处建的表都是字符字段类型)。

第二步:对抽取的数据进行清洗

1.在数据转换模块,点击加号按钮选择创建JS脚本菜单,编写js代码把字段类型转换成数字类型,代码如下图: 

var q12023 = row.get("2023q1");
var q42022 = row.get("2022q4");
var q32022 = row.get("2022q3");
var q22022 = row.get("2022q2");
if(q12023 == '--'){
  q12023 = null;
}else{
  q12023 = Number(q12023);
}
if(q42022 == '--'){
  q42022 = null;
}else{
  q42022 = Number(q42022);
}
if(q32022 == '--'){
  q32022 = null;
}else{
  q32022 = Number(q32022);
}
if(q22022 == '--'){
  q22022 = null;
}else{
  q22022 = Number(q22022);
}
row.put("2023q1", q12023);
row.put("2022q4", q42022);
row.put("2022q3", q32022);
row.put("2022q2", q22022);
return row;

2.再通过数据转换模块的 SQL脚本功能,编写SQL语句把表的季度字段转换成维度,SQL语句如下图:

select zq, 2023q1 as 'kpi', '202303' as quarter, company
 from dw_finance_lrb_changetype
 union all
 select zq, 2022q4 as 'kpi', '202212' as quarter, company
 from dw_finance_lrb_changetype
  union all
 select zq, 2022q3 as 'kpi', '202209' as quarter, company
 from dw_finance_lrb_changetype
   union all
 select zq, 2022q2 as 'kpi','202206' as quarter, company
 from dw_finance_lrb_changetype

3.通过数据填报功能,创建利润表的科目信息,并设置科目的ID,PID,level等字段内容,数据如下图:

直接通过数据填报的批量导入功能,把科目表数据导入系统中。

3.通过数据转换的SQL脚本功能,把利润表和科目表进行关联,sql如下:

select a.kpi, a.company, a.quarter, b.name, b.id, b.pid, b.level
 from dm_finance_lrb_kpi a, kemu b
 where a.zq = b.name

 第三步:对清洗后的数据进行建模

1.主要配置维度和度量,如下图所示:

通过爬虫抓取上市企业利润表并在睿思BI中展示_第4张图片

2.请注意:其中季度是时间维度,维度类型为季度,科目是父子维度,需要在维度中进行配置,界面如下图:

通过爬虫抓取上市企业利润表并在睿思BI中展示_第5张图片  第四步:在仪表盘中展现招商银行的利润表

1.创建交叉表组件,选择刚才创建的立方体,如下图:

通过爬虫抓取上市企业利润表并在睿思BI中展示_第6张图片

 2.把科目的一级,二级拖入交叉表的行标签中,把季度放入列标签中,把金额放入季度的下方,如下图:

通过爬虫抓取上市企业利润表并在睿思BI中展示_第7张图片

3.在交叉表属性面板中勾选折叠父子维度,再配置仪表盘的筛选上市企业的参数,最终效果如下图:

通过爬虫抓取上市企业利润表并在睿思BI中展示_第8张图片

你可能感兴趣的:(商业智能,爬虫,bi)