历史版本26 :4.1-5.1升级后报错及注意事项 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1、数据更新编辑

1. 内置DEMO更新

           若升级工程包含4.1的内置DEMO,升级后进行数据更新,会报错如下,该问题不影响5.1正常使用,为4.1内置DEMO的配置bug,忽略即可。

222

2、数据准备编辑

1. SQL: orderby、注释语句

SQL数据集中若使用了orderby 、注释等5.1不支持的语句,若非ETL表,需要在升级后的5.1工程中修改;若为做了ETL操作的表,因为升级后仅显示为结果集,因此需要在升级前的4.1工程中做修改,去掉不支持语句;

2. 字段类型改变

若在4.1中使用直连数据库的数据表,在升级到5.1后,表预览失败显示空白的情况,可以比较升级后该表的字段类型与4.1中的对应表的字段类型。若出现不一致的情况,可能是直连的数据库中数据进行过字段类型的改变。比如下面的costtime字段在升级后的5.1工程中识别为了数值字段:

222

但是原始的4.1工程中的字段类型为文本字段。若为数据库中字段类型的变化,我们需要在5.1工程中对该表点击编辑,进入表编辑后重新获取数据进行预览;

3. ETL表名称过长

升级后,仪表板字段显示均为空,如下图。可去4.1工程下查看升级前该仪表板使用的是否为ETL表,使用的字段是否过长,超过100后可能由于名称太长导致配置无法保存。该问题需要在升级后的5.1工程中,手动重新添加该表,并重做该仪表板。

222

4. logdb、finedb取数方式变化

5.1与4.1连接logdb、finedb的取数方式不同,在升级后,需要重新配置,5.1可联系技术支持获取连接取数方式;

5. 手动指定关联

升级后,在5.1中若组件显示为空组件,则可去该组件对应的4.1工程中,查看是否组件添加的是手动指定关联的字段。目前这种情况升级至5.1暂时不支持,需要为添加的字段在业务包中添加关联,再至组件中手动添加指定字段;

6. 数据迁移、同步数据集

升级前,在4.1工程做了数据迁移或者同步数据集;升级到5.1后,相关的配置内容均仅会写到本地的embed文件夹中,若使用其他数据库,需要在5.1中重新配置数据迁移和同步数据集,5.1可参考配置外接数据库用户同步数据集

7. 直连自助数据集切换

5.1版本由于组件不能从多张表选择字段,这些组件在升级兼容后,会自动生成新的自助数据集。而5.1版本直连的自助数据集性能比较差,此时我们建议优先使用抽取数据的方式,即在升级以后将直连数据库的自助数据集改为数据抽取。

此处提供了批量转换直连为抽取的工具:ajax.html,下面我们介绍一下该工具的使用方法。

  • a. 在浏览器打开该html文件,输入对应的URL、token和params,如下图:

    1.png

    URL:该数据决策系统的对应URL,例如:http://localhost:37799/webroot/decision/v5/api/conf/update/table

    token:从数据决策系统访问Cookie获取的fine_auth_token,如下图:

    222

    params:isSpider=false

  • b. 输入对应值以后,点击下方的submit按钮,执行完成后出现如下图的404报错,则表示执行成功,数据计算模式即切换成功。              222

3、仪表板编辑

1. 管理员仪表板都没了

若升级后,管理员登录系统,发现仪表板都没了。此时,可检查升级前的4.1工程,看../WEB-INF/resources/目录下是否有privilege.xml文件;若4.1工程中没有该文件,则在升级后也会丢失管理员信息,导致管理员仪表板都没空。

解决方案:

可启动升级前的4.1工程,重新配置上系统管理员信息,再进行工程升级操作;

2. 大量仪表板、组件为空

升级后发现系统中大量的仪表板都为空,大量仪表板中都为空白的组件。

解决方案:

  • 此时,首先检查工程之前是否有正常抽取数据,即是否进行过全局更新操作;

  • 若抽数正常,则继续检查升级前的4.1工程../WEB-INF/resources/fineConf下的各项配置,检查各个xxxxxConfig和xxxxxAnalysis是否内容一致,配置是从配置从Analysis文件中取,因此需要确保xxxxxAnalysis配置正确;若不一致,可将xxxxxConfig内容复制到xxxxxAnalysis中,再进行升级;

    222

3. 数值默认分组方式变动

4.1维度中数值字段默认分组方式是自动,升级后在5.1中,维度中数值字段默认分组方式是自定义,此处需要在升级后的工程中手动调整;

升级前4.1中:

222

升级后5.1中:

222 

222

4. 仪表板布局逻辑

4.1的布局逻辑和5.1的布局逻辑不一致,需要手动调整一下,5.1的仪表板布局逻辑可参考仪表板布局;

5. 通用查询控件过滤的数据不一致

问题现象:

在升级前后,查看仪表板时,发现经过通用查询控件过滤出的数据不一致,如下图:

222

222

此时,可以去升级后5.1中的通用查询控件中,查看拖入的过滤字段,并查看组件中拖入的字段,确认两者间是否存在关联关系。

比如,上述例子中,销售出库明细表与销售订单回款汇总表做的这两张表是N:1的关联,组件拖入的是自助数据集关联继承的和销售订单回款汇总表的N:1,与销售出库明细表没有关联;而控件拖的是销售出库明细表的字段;因此控件的过滤字段与组件的字段没有任何关联,在升级后的5.1中,通用查询控件未成功实现条件过滤效果,导致了数据与升级前不一致。

解决方案:

在通过查询控件中,重新选择与组件使用数据有关联的自助数据集字段即可;比如上述例子中,我们为通用查询控件选择自助数据集中对应的字段,如下图:

222

6. 计算指标公式不合法

若计算指标公式中存在==null,在升级后会提示该公式不合法,如下图,需要将其手动修改为==0。

222

7. 预览报错超多最大行限制

升级后,仪表板在预览的时候报错:out of max row size limitation,如下图:

222

解决方案:

此种情况,可以去管理系统>系统管理>常规中,修改数据访问量的值,如下图:

222

8. 过滤后指标为空

问题现象: 

升级后,在5.1中分组表显示数据为空,如下图,但是该组件使用的表在业务包中数据显示正常,且在升级前的4.1工程中数据也显示正常。

222

222

此时,可以查看该分组表中的指标是否添加了过滤条件,若添加了过滤条件,如下图:

222        

检查在该过滤条件下的指标是否存在,若不存在,则在5.1下,分组表中就不会显示过滤后指标为空的字段。

解决方案:

此时,我们可以为该组件新增一个没有过滤条件的字段,添加至结果过滤器中,如下图:

222

注:目前升级工具默认升级至2019.3.5的5.1stable版本,不支持直接添加字段不勾选。在3.28之后的5.1版本中,可直接支持添加字段不勾选;

9. 默认排序方式变化

4.1中默认按照中文排序,而5.1中默认为ASCII排序,工程在升级后都会按照5.1的逻辑进行排序,若需调整,可至管理系统>系统管理>常规下,开启中文排序,重启FineBI并重新进行数据更新。

222

10. 明细表展示数据量

在升级后的5.1工程中,明细表默认展示1000条数据,升级后需要手动调整展示的数据量。在仪表板的明细表编辑页面,在组件样式>格式>总行数处,调整展示数据量,如下图,且5.1中编辑状态下最多展示10000条,预览时抽取数据和实时数据仍然展示设置的总行数。

222          

11. 未勾选字段

在4.1仪表板维度和指标中未勾选的字段,升级后默认会添加至5.1仪表板的结果过滤器中,如下图,升级后可视情况进行调整。

222

12. 计算指标中的记录数

5.1中计算指标公式中不再支持添加记录数字段,对于4.1中已添加的计算指标需要修改公式,可参考COUNT_AGG使用;

13. 过滤结果区别

当时间维度过滤条件为“不属于”,且不选择过滤值时,4.1显示全部数据,5.1则显示空;

当时间维度过滤条件为“不属于”,4.1的过滤结果不包含空值,5.1则包含;

14. 树标签控件

在4.1中,树标签控件支持完全不相关的表放在一起,这种情况升级到5.1是选一个单表来升级字段,在此表找得到字段的就会展示,找不到就不会展示;

15. 模板跳转

老一些版本的4.1,BI模板的id是可以重复的(同用户的模板不重复)。这种情况在升级后,可能出现跳转无法找到对应的模板实际应该是哪个的情况,这种情况需要在5.1中重新配置模板跳转,可参考组件跳转

16. 过滤组件值同区间、上一区间

在4.1中为指标字段添加的,属于过滤组件值(日期控件)的相同步长的上一区间和同一时间段,如下图,在5.1中不支持;

222

同样,该种情况下按照组件值的同一区间、上一区间,在升级后也不支持;

17. 分组表合计

分组表中的合计,记录数按字段记录,这里的合计默认在升级后,为自动合计,可能和4.1直连的合计值不一致;

18. 横向滚动条

5.1页面无横向滚动条,4.1原来存在横向滚动条的模板升级后无横向滚动条,可能组件大小变小了,但是相对位置不变。

需要在升级后视情况调整组件布局位置,5.1的仪表板布局逻辑可参考仪表板布局;

19. 全局样式

升级后,仪表板原先为深色,升级后变为浅色了。此种情况下,可以查看4.1工程中,该仪表板背景是否勾选了图片,但没有上传图片。

此种情况下载4.1中读的是预设样式的主题色深色,升级后,主题色为浅色,效果发生了变动。需要在5.1中手动切换一下仪表板样式

20. FR模板地图组件

若在升级前的4.1工程中挂出了FineReport的模板,且该模板包含了地图组件,则在升级后,需要手动将4.1工程目录%FineBI%/webapps/WebReport/WEB-INF/assets/map/geographic中的json文件拷贝至5.1工程%FineBI%/webapps/webroot/WEB-INF/assets/map/geographic中;

21. 百分比仪表盘颜色

百分比仪表盘在4.1中自动为三个颜色区间,指标值在哪个区间图形就会显示对应的区间颜色;升级至5.1后,指标字段会添加至颜色属性中,会根据指标值自动划分5个区间,所以升级后的仪表盘有5个色阶,如下图。若不想要五个颜色区间,可至组件中颜色属性下手动调整;

222

22. 未生成dashboards文件夹

在升级之后,发现在../webroot/WEB-INF下没有生成用于存储模板的dashboards文件夹,且报错如下:

[ERROR]Special char prohibit! com.fr.decision.webservice.exception.general.SpecialCharProhibitException: Special char prohibit! at com.fr.schedule.feature.service.v10.ScheduleTaskService.addTask(Unknown Source) at com.fr.decision.v10.upgrade.action.schedule.ScheduleUpgradeAction.transferScheduleTask(ScheduleUpgradeAction.java:211) at com.fr.decision.v10.upgrade.action.schedule.ScheduleUpgradeAction.processUpgrade(ScheduleUpgradeAction.java:108) at com.fr.decision.v10.upgrade.action.AbstractUpgradeAction.upgrade(AbstractUpgradeAction.java:45) at com.fr.decision.v10.upgrade.UpgradeContext$3.run(UpgradeContext.java:184) at java.lang.Thread.run(Thread.java:748) [ERROR]Special char prohibit! com.fr.decision.webservice.exception.general.SpecialCharProhibitException: Special char prohibit! at com.fr.schedule.feature.service.v10.ScheduleTaskService.addTask(Unknown Source) at com.fr.decision.v10.upgrade.action.schedule.ScheduleUpgradeAction.transferScheduleTask(ScheduleUpgradeAction.java:211) at com.fr.decision.v10.upgrade.action.schedule.ScheduleUpgradeAction.processUpgrade(ScheduleUpgradeAction.java:108) at com.fr.decision.v10.upgrade.action.AbstractUpgradeAction.upgrade(AbstractUpgradeAction.java:45) at com.fr.decision.v10.upgrade.UpgradeContext$3.run(UpgradeContext.java:184) at java.lang.Thread.run(Thread.java:748)

解决方案:

该问题是由于定时调度任务的名称中有非法字符导致的,需要进入管理系统>定时调度,将任务名称中的非法字符删除,比如空格。定时调度任务名称允许输入的字符为:字母、汉字、数字和“_”、“.”。

4、权限编辑

1. 普通用户创建的业务包

在4.1中普通用户创建的业务包,升级至5.1后,需要管理员将业务包的管理权限重新分配给该普通用户,参考业务包权限管理

2. 数据连接权限

在4.1中分配给普通用户的数据连接权限,升级至5.1后,需要管理员重新分配。数据连接权限分配可参考数据连接控制

3. 链接形式挂出的仪表板

在4.1中以链接形式挂出的仪表板,升级到5.1中不再支持。升级后5.1工程目录中不显示的仪表板,去4.1中查看是否是以链接形式挂出的,若为链接挂出则在5.1中重新配置,参考目录管理

4. 普通用户分享给我的模板

5.1普通用户分享给我的模板,不受用户权限影响,4.1会受普通用户权限影响,升级后按照5.1的逻辑展示;

5、其他编辑

1. 数据迁移插件

4.1安装过数据迁移插件的工程,在升级至5.1后,需要将该数据迁移插件删除。5.1中不需要该数据迁移插件了,可至%FineBI%/webapps/webroot/WEB-INF/plugins中删除;

2. 工程启动不了

若升级后,工程启动不了,可至工程目录%FineBI%/webapps/webroot/WEB-INF/lib下查看是否有Hive的连接驱动jar包:hive-jdbc-1.2.1000.2.5.3.0-37-standalone.jar,若包含该jar,可参考Hadoop Hive数据连接重新下载驱动替换原先的jar包进行连接;

3. 单点登录

在4.1中若做过单点登录的,在升级后的5.1工程中,需要先将单点登录删除,否则工程启动后无法登录成功。单点登录删除的操作为:

修改finedb里面的fine_conf_entity表,将AppearanceConfig.loginType改为0;(修改操作参考如何使用第三方管理软件连接报表内置hsql数据库finedb

若在5.1中还需要设置单点登录,可联系帆软技术支持重新设置;

4. 用户无法登录

升级后,数据决策系统除了管理员外,其他用户都无法登录。可能原因是使用了同步数据集且开启MD5加密,而4.1 版本 FineBI 内置的 MD5 加密方式不区分密文大小写,5.1 版本 FineBI 适配的 MD5 加密方式区分大小写。FineBI 升级后会内置一个小写MD5的 class,如果用户使用的是大写密文,升级后就不能登录,需要手动替换大写 class:

1)点击下载class 文件:MD5UpperCasePasswordValidator.rar

2)将该class文件放入工程目录%FineBI%\webroot\WEB-INF\classes\com\fr\decision中;

3)进入管理系统>用户管理>全局设置,在用户同步数据集下选择加密方式,重新选择上述添加的类并点击保存,触发同步后,用户即可登录;