- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
大数据 BI FineBI 的文本类型时间字段如何过滤
1. 描述
通过时间类控件章节,我们知道可以直接通过该控件对时间类型的数据进行过滤,但
是,实际上,数据库中存储的与时间相关的数据的数据类型不一定是时间类型的,很多时
候会以文本类型存储到数据库中,此时就只能使用文本类型控件来进行过滤,导致数据显
示性能差,使用不如时间类控件方便,那么如何才能使文本类型的时间数据使用 FineBI 的
时间类控件进行过滤呢?
2. 实现思路
通过新增公式列 ,在原有的文本类型时间数据的基础上使用公式将其转换为时间类型
字段,然后使用该转换后的字段进行数据分析。
3. 数据准备
登录 FineBI 即时分析系统页面
http://localhost:37799/WebReport/ReportServer?op=fs ,点击数据配置业务包
管理BiDemo 业务包,添加一个数据表,如下图
数据表的添加步骤详细请查看数据表管理。
4. 新增公式列
签约事实表数据表中有 LOAD_DATE ,AUDITINGDATE 字段,该字段里面显示的是
时间数据,但其数据类型为文本类型,如下图:
下面我们将该字段类型转换为时间类型。
在右侧的 ETL 设置面板中,点击表名称按钮,选择对该表-新增公式列 ,如下图:
4.1 公式转换
在公式列管理界面,点击添加公式列按钮,在弹出的公式转换窗口中输入新增公式列
名称,选择数据类型,并输入公式转换的公式,如下图:
注: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 下午
点击确定,重命名表名称为签约事实表_formula。
其他相关公式请参考函数专题。
5. Cube 更新
保存业务包,回到数据配置界面,选择 Cube 更新设置 ,点击立即更新多维数据库按
钮将数据库中的数据更新到 Cube 中。
6. 效果查看
点击新建分析,新建一个名为 time 的即时分析,拖曳一个年月控件至即时分析页面,
点击控件右上角的按钮进行数据绑定页面,如下图:
注:为时间类型控件绑定字段时,右侧的数据列表中只会显示时间类型的字段,如果
没有对 signTime 字段进行数据类型的转化,那么该控件将无法与 signTime 进行绑定。
文档评论(0)