文本字段转化为时间字段

编辑
文档创建者:夏娃 (超级管理员 )     浏览次数:971次     编辑次数:9次     最近更新:doreen0813 于 2017-12-12     

1、描述编辑

通过时间类控件章节,我们知道可以直接通过该控件对时间类型的数据进行过滤,但是,实际上,数据库中存储的与时间相关的数据的数据类型不一定是时间类型的,很多时候会以文本类型存储到数据库中,此时就只能使用文本控件来进行过滤,导致数据显示性能差,使用不如时间类控件方便,那么如何才能使文本类型的时间数据使用FineBI的时间类控件进行过滤呢?

2、实现思路编辑

通过新增公式列,在原有的文本类型时间数据的基础上使用公式将其转换为时间类型字段,然后使用该转换后的字段进行数据分析。

3、数据准备编辑

存在需要转换类型的数据表,登录FineBI即时分析系统页面http://localhost:37799/WebReport/ReportServer?op=fs,点击数据配置>业务包管理,选择该数据表所在的业务包,点击该数据表。
222
数据表的添加步骤详细请查看数据表管理

4、新增公式列编辑

test数据表中有迁移时间字段,该字段里面显示的是时间数据,但其数据类型为文本类型,如下图:
222

222
下面我们演示将该字段文本类型转换为时间类型的操作。
在表数据配置页面的右侧ETL处理设置面板,点击表名称按钮,选择“对该表-新增公式列”,如下图:
222

4.1 公式转换
在公式列管理界面,点击“+新增公式列”按钮,在弹出的公式转换窗口中输入新增公式列名称,选择数据类型,并输入公式转换的公式,如下图:
222
222
注:FORMAT(object,format) : 返回object的format格式。object 需要被格式化对象,可以是String,数字,Object(常用的有Date, Time)。format 格式化的样式示例:
FORMAT(1234.5, "#,##0.00") => 1234.50
FORMAT(1234.5, "#,##0") => 1234
FORMAT(1234.5, "¥#,##0.00") => ¥1234.50
FORMAT(1.5, "0%") => 150%
FORMAT(1.5, "0.000%") => 150.000%
FORMAT(6789, "##0.0E0") => 6.789E3
FORMAT(6789, "0.00E00") => 6.79E03
FORMAT(date(2007,1,1), "EEEEE, MMMMM dd, yyyy") => 星期一,一月 01,2007
FORMAT(date(2007,1,13), "MM/dd/yyyy") => 01/13/2007
FORMAT(date(2007,1,13), "M-d-yy") => 1-13-07
FORMAT(time(16,23,56), "h:mm:ss a") => 4:23:56 下午
点击确定,重命名表名称为test_formula
其他相关公式请参考函数专题。

5、FineIndex更新编辑

保存业务包,回到数据配置界面,选择FineIndex更新设置,点击“立即更新多维数据库”按钮将数据库中的数据更新到FineIndex中。

6、效果查看编辑

点击新建仪表板,新建一个模板,拖曳一个组件至页面中可以看到,在业务包中刚刚新增的公式列显示为时间字段,有各个时间类型可以选择,可将其拖入时间控件中,如下图:
222

注:为时间类型控件绑定字段时,右侧的数据列表中只会显示时间类型的字段,如果没有对signTime字段进行数据类型的转化,那么该控件将无法与signTime进行绑定。

附件列表


主题: 新建仪表板
标签: 暂无标签 编辑/添加标签
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,请咨询帆软技术支持
关于技术问题,您还可以通过帆软论坛获取帮助,论坛上有非常多的大神,有些水平比帆软工程师还要高哦。
若您还有其他非技术类问题,可以联系帆软传说哥(微信ID:frbiaoge)

本文档是否有用?
谢谢! 我们非常感谢您的反馈。
提交反馈: