FineBI商业智能分析应用之字段关联类型不一致
1. 描述在手动建立关联关系章节中,我们介绍了如何手动通过数据表中的字段来建立关联关系,但是在这仅仅局限于同样字段类型的字段,比如说A表中的A1字段和B表中的B1字段建立关联,如果想要直接建立关联关系,则必须保证A1字段和B1字段的数据类型一直,而实际上,A1字段和B1字段的字段类型很可能会不一致,那么,此时,我们该如何来建立不同字段类型之间的关联关系呢?
我们可以通过新增公式列来对其中一个数据表的字段进行类型转换,生成一个新的字段,该字段类型与被关联数据表字段类型一致。
如下图,我们有一张数据表contact,该数据表中字段product为数值类型,另外一张数据表product_copy里面有一个字段productid,其数据类型为字符串类型,如下图:

此时,我们需要将这两个数据表进行关联。
2. 数据准备登录FineBI商业智能分析系统页面http://localhost:8080/FineBI/ReportServer?op=fbi,点击数据配置>业务包管理>常见应用业务包,将上述2个数据表添加到业务包中,如下图:

由于数据表中的两个字段类型不一致,故,我们要先对其中的一个表的字段进行新增公式列转换,转换其字段类型与另外一张表一致。
2.1 新增公式列
点击product_copy数据表,进入表数据设置界面,在ETL设置点击表名称,选择对该表-新增公式列,如下图:

进入公式列管理界面,点击添加公式列,新增一个公式列product,并输入转换的公式,如下图:

注:TOINTEGER(text): 将文本转换成Integer对象。Text:需要转换的文本。示例:TOINTEGER(“123″)等于 new Integer(123)。
点击确定,回到FineBI商业智能系统公式列管理界面,重命名表名为product_copy_转换,如下图:

点击保存。
3. 建立关联关系
product_copy数据表中的字段已经通过公式列进行类型转换了,原来的数据表名称变为product_copy_转换,且新增了一个字段product,该字段类型为数值类型,数据于原来的productID保持一致。
点击product_copy_转换,进入表数据设置界面,点击关联表对应的product字段后面的文本框,为该数据表建立关联表,如下图:

页面跳转到数据表字段选择界面,如下图,选中该业务包中的contract数据表中的product字段:

弹出product关联信息对话框,如下图:

点击保存。
4. Cube更新
回到数据配置界面,选择Cube更新设置,点击立即更新多维数据库按钮将数据库中的数据更新到Cube中。
5. 效果查看
Cube更新完成之后,再次点击业务包管理>常见应用业务包,选择关联视图,可以看到这两张数据表已经建立起关联关系了,如下图:
