FineBI技术方案:相同模板实现不同业务的查询

楼主
我是社区第72893位番薯,欢迎点我头像关注我哦~
客户那边有很多表结构一模一样,但是存的业务类型不一样。但是在前端需要统计的业务是一样的,此时不想再根据业务不同做很多业务逻辑相同的模板。此时可以用来直连参数来解决举例:mysql数据库中有两个表,A房产项目和B车库项目,两个表中均有销售面积和销售单价两个字段,并且两个字段的字段类型一致。此时需要统计这两个业务的销售总价,计算逻辑都是销售单价*销售面积。可以看出逻辑完全一直,只是一个从A房产项目获取,一个从B车库项目获取。为了解决这只是表名不一致但是却要制作两个模板的繁琐,这个可以利用直连参数解决。
1.用到的两个表

2.直连业务包添加sql数据集,select需要的字段,表名处写参数。注意,如果查询的不同表,如果不是表结构完全一致(包括字段的类型和顺序),不要使用select*,尽量使用select 字段。

3.新建分析,选择实时数据

4.将直接的直连sql数据表的销售单价和销售面积拖到指标,再添加计算指标

5.拖一个文本下拉过滤组件到仪表板中,绑定参数选择之前sql里面的表名参数tableame

6.点击确定,回到仪表板界面,会发现此时组件报错

那是因为上面么有给参数tablename传值,在表名这个文本过滤组件中输入想要查询的表名,比如b车库项目即可。

此时看下后台日志,发送的sql是从b车库项目表中发送的
PS:查看发送的sql需要开启FineDirect日志级别directLoggerLevel为debug级别,具体见FineDirect引擎系统配置-http://help.finebi.com/doc-view-414.html
7.查询房产项目表,改变表名的值即可



编辑于 2017-12-11 10:44  


编辑于 2017-12-11 10:46  
编辑于 2017-12-11 16:03  
分享扩散:

沙发
发表于 2017-12-11 13:52:41
咦?这不是finereport吧?
板凳
发表于 2019-3-29 14:11:20
这个是基于finereport 然后集成finebi吧
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

2回帖数 1关注人数 8185浏览人数
最后回复于:2019-3-29 14:11

返回顶部 返回列表