模板迁移,查了文档、也搜了论坛,好几次,翻了好几回,发现都需要满足下面的条件,然而第2条感觉好像是需要重做表的ETL操作从而保持“表名和字段相同”,本人狠懒,查了文档感觉应该可以组装一下,试了下发现居然可以
准备
不同系统之间模板迁移需要有两个条件:
1、两个系统内数据配置>业务包下的表名和字段名相同;
2、两个系统的版本相同。
注:若不同系统数据源分别为Excel数据集和数据库表/sql数据集,尽管表名和字段名均相同,仍不能进行模板迁移。因其在系统中保存的数据结构不一致。
来自 <http://help.finebi.com/doc-view-505.html>
由于特殊原因,不能出现具体的包名、表名、字段等具体的各种名的名称、数据,当然也不方便截图了,但是下面的步骤是非常详细的,这个方法,测试目前没有发现什么问题,搞过去可以直接看到效果,不需要调整什么
测试环境:FineBI 4.1
下面的内容主要涉及 2个目录 8个文件,也可以说是5个文件:
1、\WebReport\WEB-INF\resources 目录下:
datasource.xml
biconnection.xml
2、\WebReport\WEB-INF\resources\fineConf目录下:
FineBusinessPackageAnalysis.xml
FineBusinessPackageConfig.xml
FineBusinessTableAnalysis.xml
FineBusinessTableConfig.xml
FineCubeTableAnalysis.xml
FineCubeTableConfig.xml
这些文件具体是干嘛的,这里就不在赘述了,请自行查阅 官方文档 .
FineBI工程目录结构:http://help.finebi.com/doc-view-374
有一点,从这6个文件的命名规则可以发现两两一组且分别为Package、Table、CubeTable命名,而且里面的内容两两也都是一样的
1、首先在测试系统里面,将系统再带的演示模板部分全部删除掉
1、删除目录管理里面的所有目录
2、删除仪表板中所有模板、文件夹
3、删除业务包管理里面的所有业务包
4、删除不必要的数据连接(也可以不用删)
5、更新FineIndex
2、检查上面8个文件里面的残留的配置行,无用的可以全部删掉
datasource.xml:文件下多余的 <Connection name="FNNN".......></Connection> 标签
biconnection.xml:里面是一条一条增加的,一眼就可以发现,可以不管
fineConf文件夹下
FineBusinessPackageAnalysis.xml 与 FineBusinessPackageConfig.xml 文件里面,只就下这些就可以了 - <?xml version="1.0" encoding="UTF-8" standalone="no"?>
- <Pool V="Default">
- <fineBusinessPackagePool>
-
- </fineBusinessPackagePool>
- </Pool>
复制代码
FineBusinessTableAnalysis.xml 与 FineBusinessTableConfig.xml 文件里面 ,只留下这些
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
- <Pool V="Default">
- <fineBusinessTablePool>
-
- </fineBusinessTablePool>
- </Pool>
复制代码
FineCubeTableAnalysis.xml 与 FineCubeTableConfig.xml 文件里面,只留下 - <?xml version="1.0" encoding="UTF-8" standalone="no"?>
- <Pool V="Default">
- <fineTablePool>
-
- </fineTablePool>
- </Pool>
复制代码
其实写到这里,应该有的番薯就懂了
步骤1、2 的操作,完全是为了保持一个空环境,以便于发现属于自己操作后而增量的配置行,当然如果自己能分清哪些是新增模板的配置,这两步可以不做。因为有些表、ETL配置确实很好分辨,仔细看看基本都可以摘出来的。
3、配置数据连接
配置完后,在发现:
datasource.xml 文件里面增加了一些配置,这些就是刚才的新增数据连接的配置
- <Connection name="FinBI_NNN" class="com.fr.data.impl.JDBCDatabaseConnection">
- <DatabaseAttr/>
- <JDBCDatabaseAttr url="jdbc:sqlite://${ENV_HOME}/../XXXXX.db" driver="org.sqlite.JDBC" user="" password="___" encryptPassword="true">
- <DBCPAttr testOnBorrow="false" timeBetweenEvictionRunsMillis="500000" minEvictableIdleTimeMillis="300000"/>
- </JDBCDatabaseAttr>
- </Connection>
复制代码
FNNN 为刚才新建的 数据库连接名称,这个很容易找
biconnection.xml 文件里面增加了一行
<conn name="FinBI_NNN" createBy="-999" initTime="1538147734664" database="其他"/>
3、新建业务包,添加表,ETL 各种操作搞起来
做完发现FineBusinessPackageAnalysis.xml 与 FineBusinessPackageConfig.xml 里面同时增加了
- <fineBusinessPackage>
- <packageID>65b9c71f24f53bc3</packageID>
- <packageName>FinBI_NNN</packageName>
- <owner>-999</owner>
- <position>1538148661335</position>
- <businessTables>
- <businessTableName>XXXXXX表1</businessTableName>
- <businessTableName>XXXXXX表2</businessTableName>
- <businessTableName>XXXXXX表N</businessTableName>
- </businessTables>
- </fineBusinessPackage>
复制代码
FineBusinessTableAnalysis.xml 与 FineBusinessTableConfig.xml 里面同时增加了
<fineBusinessTable>................</fineBusinessTable> 标签
这里就存储了具体的表名、字段 ,ETL增加的列名等,基本上都可以认出来,所以就不多说了
FineCubeTableAnalysis.xml 与 FineCubeTableConfig.xml 里面同时增加了
<fineCubeTable type="ETL">.........................</fineCubeTable> 标签
里面包含了,对标做的一些ETL操作,增加列、计算、公式啥的,可以看出来
这里要说明的是,我这边第3步和第2步是倒过来的,就是我先做好了模板,然后又删除了不需要的部分,因为我操作完第一步后,没有跟新FineIndex,所以有很多残留
4、模板迁移(关闭BI)
1、模板拷贝
拷贝模板等操作事项,就不说了,官方文档里面有
模板迁移:http://help.finebi.com/doc-view-505.html 具体去看一看
2、将刚才 8个配置文件里面的增加的内容,分别拷贝到需要迁移的工程里面对应的文件中,要注意标签的开始与,不要弄劈叉了
3、重新启动BI ,并更新FineIndex ,就可以查看迁移的模板了。就可以了,就可以了
番薯同胞们,如果觉得这些对你有帮助的话,可以下载一下doc文档版(66豆)赞助点豆子,嘿嘿嘿
如果有什么问题的话欢迎指正,当然如果有其它的办法也请告知一声,谢谢
|