客户那边有很多表结构一模一样,但是存的业务类型不一样。但是在前端需要统计的业务是一样的,此时不想再根据业务不同做很多业务逻辑相同的模板。此时可以用来直连参数来解决举例: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
|