找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,极速登录

请上传宽度大于 1200px,高度大于 164px 的封面图片
    调整图片尺寸与位置
    滚轮可以放大缩小图片尺寸,按住图片拖动可调整位置,多余的会自动被裁剪掉
取消
luojian0323(uid:169914)
来了老弟~ 职业资格认证:FCBP | FCRP | FCAP
拿下帆软三证后的分享
      三年时间,每年一个高级证书,先后拿下了FCBP,FCRP,FCAP。没有想到,本来以为拿下一个高级证书都很难的我,已经拿到了三个了。这听起来好像很容易吧,是的,只要下定决定要拿到。努力到位了,就一定能拿到。       分享一点我从一个小白中的小白,怎么一步步拿到这三个证书的经历吧。时间要从2018年说起,那时候刚来到上海一年时间,做的 是跟自己所学专业不相关的工作,收入一直都在1W以下。转眼到了快结婚的年龄,也跟女朋友定好了结婚日期,女朋友倒是没有因为我工资不高嫌弃我,但是自己有时候就会在思考:这个收入很难面对女方家长吧?什么时候才能买得上房?结婚后这个收入怎么在大上海生活呢?      不甘现状的我开始在工作之余(其实基本没什么余,那时候在门店上班,早6点到晚6点。)重新拾起自己所学,不过那个时候,是以提高自己工作效率为目的去学习的。有时候学会了些新东西会兴奋的发朋友圈。刚好被领导发现了,觉得可以让我尝试一下挖掘公司的数据,就把我从门店提到了后台办公室。经过三个月时间的摸索与研究,我利用帆软的两个产品(Finereport、FineBI)为公司制作了一系列的统计报表和主题分析报表。当时公司并没有给我提供后台数据,我居然用python把公司销售平台上的数据给爬了下来放在自己的数据库中,这样才完成的适用于帆软报表的数据。这样,第一年,我坚持了下来,稳定了自己的新岗位。      到了第二年,我觉得自己要有提升,公司也对我有了更高的要求,希望 我能够完成从0到1,从1到更多的突破。所以我决定通过学习来提升自己。2019年,我报名参加了BI线上学习班。经过5周的学习。我顺利结业,并拿到班级第三名的成绩,获得了500F币(价值500元)的奖励。这对我是 一次激励,我决定,考FCBP,拿下证书。       2019 年5月5号,我用奖学金花了399F币报名参加了第1904期的FCBP考试,4天后收到了考试通过通知。我兴奋极了。这表明我这段时间的学习没有白费,也证明了自己努力就会有收获。      我本想着把FCRP也一起考了,但当时由于下半年工作较多,每天下班比较晚,加上觉得FCRP还是有些难度的,而且Finereport不像fineBI,当时帆软并没有开Finereport学习班,就没有继续考。直到2020年,我觉得无论如何都要验证一下自己所学,不然对不起自己的努力。不图别的,就是考验一下自己。我的Finereport都是在论坛问答区加上自己平时工作需要研究一些东西出来。而且无论是Finereport还是FineBI都有帮助文档可以搜,这个还是挺方便的。另外我的报名费是在问答区通过回答别人问题获得采纳得到到奖励。在考FCRP之前,已经积累了一些。所以考FCRP的时候,我并没有自己出钱。而是用了自己在贡献值换到的F币参加的考试。这点对于不想出钱,或者觉得考试费比较贵的同学可以借鉴一下。      2020年6月2号,我参加了第2005期 FCRP认证考试。一周后,我收到了90分通过的通知,心里的石头终于放了下来。这一周其实也是很紧张的。看到自己的失分项,原来有一题没有提交模板,导致直接扣10分,也懊悔自己的粗心。不过结果也还是满意的。       之后的9月,我换到了现在所在的公司,由于上面获得的两个证书,也顺利的获得了自己期望的薪资(猜猜比原来翻了多少倍?)。新工作也十分考验Finereport和FineBI水平。甚至还考验了对于项目实施的水平,这个我以前不经常做实施的工作,但在这个新工作中,得到了一次锻炼,加上新公司比原来更大,在数据治理 这方面 更严谨和专业、Finereport和FineBi的使用频度更高,我的工作能力又得到了进一步的提升。这中间有段小插曲,由于大公司在软件选择方面 从来都不是一家独大,在选择帆软产品之前会和其他几家产品PK,甚至会和自己公司开发的产品PK。而且上面还有大领导压着,要求使用别家公司的产品,结果我们在顶着上层领导压力和一线业务需求压力的情况下,顺利得取得的优先权。这也证明了帆软产品的实力以及该公司的远见。      20年底,帆软在搞一次线上BI大赛活动,我想大家都知道吧。没错,我也参加了,当时就是想凑一下热闹。到任务提交的最后一天晚上才完成作品,真的比较惊险。要知道超时提交任务会被扣信用分的。这个年代信用是很重要的,怎么能被扣信用分呢。结果出来后比较惊喜也 比较意外,居然得到了优秀参与奖,不但有500F币的奖励,还是1000元的助学金呢。其他还有证书啊,大礼包什么的。这一次的奖励成为我后面考FCAP的基础。       时间到了今年(2021年),我拿了冬季挑战赛的1000元助学金,加上在帆软论坛积累下来的F币,报名学习了帆软数据运营官课程,这个课程对我最大的帮助是教会我如何理解需求,和如何处理需求,以及如何分析公司现状,根据现状来制定数据解决方案。让我从全新的视角了解自己的工作,也给自己未来的发展提供了方向。随时随地都有需求,任何人都可以有需求,但是需求需要有效的管理,才能有规矩,不混乱,即能给业务提供反向需求参考,也能让开发人员省时省力,达到共赢的效果。当然这是一个大课题,不是简单几句话的事情,但至少有了专业的知识,可以能够让自己有勇气,有能力面对更多的挑战,从而抓住更多 的机遇。       此次课程,我以全班第三名的成绩顺利结业,并拿到奖学金1000元和FCAP的免费考试券一份。       今年7月30号,我报名参加了第2107期 FCAP考试。10 天后,我再次收到了 94分考试通过的邮件通知。这次等待时间比原来更长,我也比原来更紧张一些,因为这次考试不像前两次那样几乎是有固定答案的。这次考试都是根据业务场景写方案。而且有字数要求。真的是难到我这个平时都不写作的人。经过了两天两晚上的奋战才写完考试答案。所以这次更加没什么底气,不知道自己能不能通过。加上这次并没有像上两次那样几天内就有结果了,这次足足等了10天。最后的结果,我是很满意的,我不是完美主义者,凡事求满分。我是及格万岁呀。而且这次分数比前两次都高一些。所以也对得起我这段时间的努力啦。       虽然拿到这些证书,证明不了自己能力就一定很强了,但是这些都是对自己努力学习的一个交待。至少让自己的努力不要白费。也养成活到老学到老的习惯。总之,这一切我觉得都是值得的。你觉得呢?       编辑于 2021-8-14 21:26
回答区的评论中会自动添加反斜杠问题
在别人提问时,有时需要根据提问者的追问,继续追评。为了方便 一般都会在追问下方追评,但是只要一输入代码或者公式, 带引号部份就会自动填充反斜杠,让提问者搞不清到底要不要加这个反斜杠。 尤其是在用到sql函数或者js代码时,反斜杠是不能乱加的。希望这个问题可以尽快解决。谢谢。 145121
JS实现打开对话框后主窗口虚化及窗口关闭监听效果
1. 概述1.1 应用场景 本文将要介绍JS打开iframe对话框后,父窗口模糊效果,及iframe窗口的关闭监听效果。看完本文,你还可以举一反三实现更多,更灵活的窗口效果.1.2 实现思路利用JS在打开窗口时,给父窗口添加模糊遮罩效果.在父窗口的加载结束事件中重写子窗口关闭按钮的点击事件,并用JS去掉父窗口的模糊遮罩。 2. 示例2.1 设计模板新建2-3个cpt模板. 分别命名为:iframe关闭监听-父窗口.cpt,iframe关闭监听-子窗口.cpt,iframe关闭监听-孙窗口.cpt并将模板保存在 报表目录的demo文件夹下。在父窗口中添加一个按钮,按钮名称命名为:打开.在子窗口中添加三个按钮,分别命名:关闭,打开,全部关闭在孙窗口中添加两个按钮,分别命名:关闭,全部关闭在上述几个cpt模板中全部添加纸张背景,选择一个纹理图案(为了测试窗口模糊效果)2.2 添加事件2.2.1在父窗口的打开按钮中添加点击事件,JS代码如下:$(".content-container").css("filter","blur(2px)")//父窗口遮罩 //以下代码是实现打开iframe窗口 var $iframe = $(""); $iframe.attr("src", "${servletURL}?reportlet=/demo/iframe关闭监听-子窗口.cpt&op=write"); var o = { title:"iframe子窗口" , width : 400,height: 400}; FR.showDialog(o.title, o.width, o.height, $iframe,o); https://help.fanruan.com/finereport/uploads/20210506/1620283698H5YV.png2.2.2在子窗口的关闭按钮中添加点击事件,JS代码如下:parent.$(".content-container").css("filter","none")//清除父窗口遮罩 parent.FR.closeDialog();//关闭父窗口打开的对话框; parent.FR.destroyDialog();//销毁父窗口打开的对话框;这段代码不加,关闭对话框,有可能鼠标还是处于拖动窗口状态,对话框的虚线框还存在。 https://help.fanruan.com/finereport/uploads/20210506/16202840691673.png2.2.3子窗口的打开按钮,添加点击事件,JS代码如下: $(".content-container").css("filter","blur(2px)")//父窗口添加模糊遮罩 //以下代码是实现在子窗口中打开iframe窗口 var $iframe = $(""); $iframe.attr("src", "${servletURL}?reportlet=/demo/iframe关闭监听-孙窗口.cpt&op=write"); var o = { title:"iframe孙窗口" , width : 300,height: 300}; FR.showDialog(o.title, o.width, o.height, $iframe,o); https://help.fanruan.com/finereport/uploads/20210506/1620284194dEs8.png2.2.4子窗口的全部关闭按钮中,添加点击事件,JS代码如下: parent.$(".content-container").css("filter","none")//清除父窗口遮罩 top.parent.$(".content-container").css("filter","none")//清除顶层父窗口遮罩 top.parent.FR.closeDialog();//关闭顶层父窗口打开的对话框;注意区别关闭按钮中的点击事件,这里加上top,是从最顶层的父窗口中直接关闭对话框。下同 top.parent.FR.destroyDialog();//销毁顶层父窗口打开的对话框; https://help.fanruan.com/finereport/uploads/20210506/16202844991olp.png2.2.5在父窗口cpt和子窗口cpt的模板web属性设置中的填报页面设置中添加加载结束事件,代码如下:setInterval(function(){ $(".fr-core-panel-tool-close").mousedown(function(){//重写窗口右上角的关闭按钮点击事件 $(".content-container").css("filter","none")//清除父窗口的模糊遮罩 window.FR.closeDialog();//关闭对话框 }); },1000); https://help.fanruan.com/finereport/uploads/20210506/1620284802nUhM.png2.2.6在孙窗口中对关闭按钮添加点击事件,JS代码如下://方法同子窗口中的关闭按钮 parent.$(".content-container").css("filter","none") parent.FR.closeDialog(); parent.FR.destroyDialog(); 2.2.7 在孙窗口中对全部关闭按钮添加点击事件,JS代码如下://方法同子窗口中的全部关闭按钮 parent.$(".content-container").css("filter","none") top.parent.$(".content-container").css("filter","none") top.parent.FR.closeDialog(); top.parent.FR.destroyDialog(); 2.3 效果预览https://help.fanruan.com/finereport/uploads/20210506/1620285783313404.gif注:此方法涉及jqurey方法,仅在PC端Chrome浏览器测试有效. 3. 注意事项其他浏览器未做测试。不保证有效. 有兴趣的朋友可以试一下。 编辑于 2021-5-21 14:09
有冻结列的报表点击行变色效果
话接一篇文档:JS实现鼠标点击行变色。 有蕃署提问说,带有冻结列的情况下,点击行变色,会被截断,像这样:143082143083 此帖可解决这个问题 设置重复冻结列: 143084 然后在模板web属性中的分页预览中添加加载结束事件: $(".x-table tr").mousedown(function() { if (this.id !== 'r-0-0') { var row = $(this).attr("tridx") $(".x-table tr").each(function() { if (this.id !== 'r-0-0') { if (row != $(this).attr("tridx")) { $(this).children("td").each(function() { $(this).css("background-color", 'white'); }); } else { $(this).children("td").each(function() { $(this).css("background-color", 'rgb(255, 255,0)'); }) } } }); } });预览后效果: 编辑于 2021-4-20 11:01
【产品测评】FineBI5.1.8功能测评报告
测评功能1:维度、指标字段优化展示 测评维度维度说明 业务场景使用*1、在功能优化前,数据集中字段较多显得有点杂乱,不易整理字段.2、在功能优化后,可在数据准备处对字段进行分组管理,在自助数据集和仪表板处使用.142924 功能体验交互*这个功能十分有用,金融行业维度复杂,指标也较多,通过字段分组以后,能快速添加自己想要的维度和指标数据,对业务来说操作也会变得十分便捷。提高工作效率。 产品功能建议*是否可以考虑每个分组也添加一个全选/不选 功能. 其他测评维度数据集字段整理后创建仪表板,发现仪表板中是没有字段分组的。能否继承上面的分组呢?或者有什么其他办法像分组一样管理仪表板中想要的数据。 综合满意/推荐度*满意度:(5颗星)推荐度:(5颗星)评价理由:从低版本用到高版本,功能真得是越做越强大。     而且以上测评真的有惊到我。之前的苦恼也终于被解开,真的是用心在做产品。 测评功能2:【新增】控件作为参数应用 测评维度维度说明 业务场景使用*1、在功能新增前,想要通过自己定义的指标/维度 去筛选数据,操作比较复杂,只能在仪表板组件中做明细过滤,或者在组件的维度中过滤,不够灵活。2、在功能新增后,可以自定义一些指标/维度 段,通过自定义的下拉框做为参数快速筛选目标数据,十分方便.142925 功能体验交互*功能操作易用性和可用性都不错,也比较符合自然操作习惯,比过去实现同样效果在操作上有些简化。 产品功能建议*对于自定义下拉框,希望增加必选功能,一旦设置必选,点击清空筛选不能把必选项清空了。 其他测评维度测试了一下复选和单选,在自定义值的时候,最好即能手动输入,也可以从字段中添加。 综合满意/推荐度*满意度:(4颗星)推荐度:(4颗星)评价理由:仪表板的简化操作无论是对于数据开发还是业务的数据自主分析,都是非常提倡的。这一块做得很好。  测评功能3:【新增】联动组件高亮显示 测评维度维度说明 业务场景使用*1、在功能新增前,点击表格数据或者地图数据联动,经常不知道点到了哪里,甚至有时候都不知道产生了联动,就只看到了数据不对,而且虽然有清除所有联动按钮,但是在右上方不易发现.2、在功能新增后,数据联动十分清晰一目了然,即使是第一次使用该平台的人也能想到是产生了数据联动。知道产生了数据联动,自然也就知道了要清除联动。142926142927 功能体验交互*功能操作易用性和可用性都不错,比较符合自然操作习惯,能够快速达到想要的效果,也能有效提醒关联的数据。提交了数据的可观察性。 产品功能建议*表格的数据联动较以往是有了提醒的效果。但不是很明显,建议加上整行提醒。 其他测评维度无 综合满意/推荐度*满意度:(5颗星)推荐度:(5颗星)评价理由:可视化分析,数据联动是非常关键的操作。能做到这一步非常可贵。非常值得推荐。 测评功能4:【优化】组件导出 Excel 测评维度维度说明 业务场景使用*1、在功能优化前,当组件存在多个指标、细粒度相同且没有特殊显示时,原来一个指标导出一个sheet2、在功能优化后,可以合并在一个sheet中了.142928 功能体验交互*功能操作易用性和可用性,比较符合自然习惯,简化了操作就能实现所需要效果 产品功能建议*对于图表数据导出,有些情况下需要用到图表,比如在PPT中展示。目前图表清晰度好像有些改善,但还是略微有些模糊。 其他测评维度地图数据导出。图表比较奇怪。出现了错位. 综合满意/推荐度*满意度:(5颗星)推荐度:(5颗星)评价理由:数据分析常常伴随着分析报告。数据的正常导出和图表的正常导出,实用性是不言而喻的。这个功能十分推荐。 测评功能5:【新增】仪表板计算指标支持输出非数值类型 测评维度维度说明 业务场景使用*1、在功能新增前,想通过指标数据或者维度数据通过计算字段生成非指标数据,难以实现,只能回到数据集中添加。比较费工费时。灵活性较差.2、在功能新增后,可以在仪表板中快速添加计算字段,可以自由选择维度数据,或者指标数据.142929 功能体验交互*功能操作易用性和可用性,比较符合自然习惯,可以通过较少的指令和操作就能实现所需效果 产品功能建议*对于计算后的指标数据,希望可以实现对计算后的结果做明细过滤。 其他测评维度无 综合满意/推荐度*满意度:(5颗星)推荐度:(5颗星)评价理由:可以在仪表板中操作的,尽量在仪表板中实现,此功能简化了数据配置工作,从业务的角度来说更加人性化。操作也更便捷。 测评功能6:【新增】组件切换数据集保留组件配置 测评维度维度说明 业务场景使用*1、在功能新增前,仪表板一旦要更改数据源,是致命的,等于仪表板组件配置要重新来过。然而更改数据源却又十分常见,一度成为一个产品缺陷。2、在功能新增后,配置好的仪表板如需更改数据源,只要字段名称不变,可以继续保留源字段就可以替换数据源。仪表板组件再也不需要重新配置。142930 功能体验交互*功能操作易用性和可用性,十分符合自然习惯,可以通过较少的指令和操作就能实现所需效果 产品功能建议*既然数据源做了切换,自然用到的字段是相同或者类似的希望能够保留源数据的基础上添加一个新数据源,使得可以在两个数据源或多个数据源之前自由切换。 其他测评维度无 综合满意/推荐度*满意度:(5颗星)推荐度:(5颗星)评价理由:此功能十分有推荐性。这个功能可以让FineBI变得非常强大。我知道的其他BI产品已经越来越无法跟FineBI相比了。 测评功能7:【新增】支持数据条样式显示 测评维度维度说明 业务场景使用*1、在功能新增前,单元格数据条样式一度在FR中,想搬到BI中来却非常不方便。2、在功能新增后,表格中终于可以实现数据的进度条展示142939 功能体验交互*功能操作易用性和可用性,比较符合自然习惯,可以通过较少的指令和操作就能实现所需效果 产品功能建议*对数据条样式增加更多展示样式,比如渐变色,图形填充等。 其他测评维度无 综合满意/推荐度*满意度:(4颗星)推荐度:(4颗星)评价理由:增加了表格的数据条样式,使得FineBI中的表格不再单调。更加丰富多彩,可读性也大大增强。 测评功能8:【新增】一键取消联动 测评维度维度说明 业务场景使用*1、在功能新增前,做一个多维度的图表数据分析。尤其是组件较多,且不想组件之间相互联动。只能一个个设置跟其他组件之间的联动关系,组件越多,设置越繁索。2、在功能新增后,可在仪表板最上方一键关闭:开启默认联动的复选框。142932 功能体验交互*功能操作易用性和可用性,较符合自然习惯,能够通过较少的指令和操作就能实现所需效果 产品功能建议*功能比较完善,无其他建议.唯一一点,就是不看帮助文档,几乎不知道有这个功能,比较隐蔽。 其他测评维度无 综合满意/推荐度*满意度:(5颗星)推荐度:(5颗星)评价理由:对于组件较多,希望设置较少联动或者不设置联动来说,此功能意义较大。方便快捷。 测评功能9:【新增】维度支持设置表格属性 测评维度维度说明 业务场景使用*1、在功能新增前,想要对某些维度做醒目提醒,几乎无计可施。2、在功能新增后,可根据条件设置维度属性,如前景色,背景色142933 功能体验交互*功能操作易用性和可用性,较符合自然习惯,能够通过较少的指令和操作就能实现所需效果 产品功能建议*希望增加可根据条件对整行设置属性的功能。 其他测评维度无 综合满意/推荐度*满意度:(5颗星)推荐度:(5颗星)评价理由:维度的属性设置可以使数据的可读性变强,让数据一目了然,突出重点。强烈推荐。 测评功能10:【优化】图表易用性,所有图表类型无灰化状态,无论是否配置数据,都可正常选择 测评维度维度说明 业务场景使用*1、在功能优化前,当组件中的维度或指标不满足某个图表类型条件时,图表类型变灰无法选择2、在功能优化,可先选择图表类型,再添加数据字段,或者先添加字段,再选择图表类型,图表类型全部可选择.142934 功能体验交互*功能操作易用性和可用性,较符合自然习惯,能够通过较少的指令和操作就能实现所需效果 产品功能建议*部份图表随意切换类型以后,有些图表无法显示图例,最后找到原因是有些图表切换后指标名称被自动去掉了,导致图例无法显示142935. 这一块建议优化。 其他测评维度无 综合满意/推荐度*满意度:(5颗星)推荐度:(5颗星)评价理由:软件的可用性在于让使用者方便快速配置自己想要的图表类型和数据展现方式。这一功能已经变得非常强大。 测评功能11:【新增】支持多tab组件 测评维度维度说明 业务场景使用*1、在功能新增前,特别希望能有个TAB页能在同一个位置切换展示各类图表数据,尤其是做数据大屏,需求更迫切。2、在功能新增后,终于可以让数据大屏展示方式更加丰富。142936 功能体验交互*功能操作易用性和可用性,较符合自然习惯,能够通过较少的指令和操作就能实现所需效果 产品功能建议*这个TAB组件还比较mini,同一个tab页只能放一个图表组件,不能放多组件。建议优化. 其他测评维度TAB组件的风格样式偶尔出现异常。删除后重新创建TAB又正常了。另外这条细细的白线,建议可自由设置或者去掉142937 综合满意/推荐度*满意度:(5颗星)推荐度:(5颗星)评价理由:此功能十分强大,再也不用羡慕Fr中的tab组件功能。做大屏展示数据更加丰富多样。强烈推荐。 测评功能12:【优化】表/业务包搜索支持显示路径 测评维度维度说明 业务场景使用*1、在功能优化前,表/业务包可以搜索到,但没有具体路径2、在功能优化后,解决了上述问题。效果明显142938 功能体验交互*功能操作易用性和可用性,较符合自然习惯,能够通过较少的指令和操作就能实现所需效果 产品功能建议*建议仪表板,挂载的目录都增加搜索后可查看具体路径功能 其他测评维度无 综合满意/推荐度*满意度:(5颗星)推荐度:(5颗星)评价理由:工程庞大以后,搜索功能用的越来越多,能够准确定位表/业务包/仪表板/挂载目录的位置,十分重要。强烈推荐! 编辑于 2021-4-8 17:01
[语音播放]-开启报表有声模式
最近偶见论坛有番薯们 发需求说想要实现的报表的语音播报功能。我仔细看一了一下,发现帮助文档里确实有类似文档,一个是通过条件属性中的新值,添加语音播放。 (https://help.fanruan.com/finereport/doc-view-1982.html) 一个是在查询数据后,播放报警提示音 (https://help.fanruan.com/finereport/doc-view-1982.html) 受此启发。我联想到有时候报表需求,需要播报一些内容,这些内容可能除了数字以外,还有其他信息,比如需要一段文字+数字的语音提示。 还有一种语音播报的需求,就是运用在图表中,当图表数据是动态刷新的,并且达到预警值时,希望立即播报预警声音,以达到及时提醒的效果。 接下来我们就来看看第一情况实现方法. 场景一:报表伴随文字+数字的语音播报(例如业绩播报,事件处理播报,消息提醒等) 1. 1假设现在有一个需求,需要提醒目前有几条消息待处理,普通的数字,并不能达到有效提醒效果。但是语音循环播报能有效实现。 为了模拟数据,我们可以在报表中用公式创建随机整数,加上文字。 "您有" + RANDBETWEEN(1, 10) + "条消息,请注意查收." 139994 接下来,只需配上一段代码,就可以实现我们想要的循环播报效果,在模板web属性中的分页预览设置中,添加加载结束事件:function playAudio(text) { const url = "http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&per=1&text=" + encodeURI(text);//lan=zh:语言是中文,如果改为lan=en,则语言是英文,ie=UTF-8:文字格式,spd=2:语速,可以是1-9的数字,数字越大,语速越快,text=**:这个就是你要转换的文字。 const audio = new Audio(url); audio.src = url; audio.play(); return audio; } setTimeout(function() { setInterval(function() { var wb=FR.remoteEvaluate('=A1')//数据在哪个单元格,就指定哪个单元格 playAudio(wb) }, 8000);//8秒循环播报一次,时间可以自己改. }, 100);//稍微延时一下,附上代码抛错。 预览报表,当看到页面标签上有小喇叭时,代表语音开始播报了。 139995 1.2:对上述的提醒 觉得还不够,我们可能会遇到这样的情况,就是当浏览器上的页面标签闪动的情况下,我们常常会不自觉的优先点击一下,或者刷新一下页面。这就是提醒 的效果。140011 下面我们就在原来 的基础上实现它: 更改上述代码: function playAudio(text) { const url = "http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&per=1&text=" + encodeURI(text);//lan=zh:语言是中文,如果改为lan=en,则语言是英文,ie=UTF-8:文字格式,spd=2:语速,可以是1-9的数字,数字越大,语速越快,text=**:这个就是你要转换的文字。 const audio = new Audio(url); audio.src = url; audio.play(); return audio; } var timer; var title=document.head.getElementsByTagName("title").innerHTML setTimeout(function() { setInterval(function() { var wb=FR.remoteEvaluate('=A1')//数据在哪个单元格,就指定哪个单元格 playAudio(wb) function tixing(timer){//定义页面标签提醒函数 var index = 0; clearInterval(timer); timer = setInterval(function() { if(index%2) { document.head.getElementsByTagName("title").innerHTML = '【   】'+ title; }else { document.head.getElementsByTagName("title").innerHTML = '【'+wb+'】'+ title; } index++; if(index > 20) { clearInterval(timer); } }, 500); } tixing (timer); //执行页面提醒 }, 8000);//8秒循环播报一次,时间可以自己改. }, 100);//稍微延时一下,附上代码抛错。 更改代码后效果: 140012 1.3 :上述只是实现了语音播报的第一步,其实你会发现,上面的代码,语音会一直播报,如果在不关闭页面的情况下,想取消语音播报,或暂停一会再播报怎么办呢?,接下来,就来实现它: 同样在报表单元格中模拟一下数据,在A1单元格中添加公式:"您有" + RANDBETWEEN(1, 10) + "条消息,请注意查收." 然后在B1单元格中添加一个按钮,按钮名称定义为:暂停139996 此时对这个按钮,添加两个事件, 1.初始化后事件:function playAudio(text) { const url = "http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&per=1&text=" + encodeURI(text);//lan=zh:语言是中文,如果改为lan=en,则语言是英文,ie=UTF-8:文字格式,spd=2:语速,可以是1-9的数字,数字越大,语速越快,text=**:这个就是你要转换的文字。 const audio = new Audio(url); audio.src = url; audio.play(); return audio; } setTimeout(function() { setInterval(function() { var wb=FR.remoteEvaluate('=A1') var bf=contentPane.getWidgetByCell(FR.columnRow2CellStr({ col:1,//按钮在第二列,这里数值为1 row:0//按钮在第一行,这里数值为0 })) var bf1=bf.getText() if(bf1=='暂停'){ playAudio(wb) } else{ } }, 5000); }, 500); 2.按钮点击事件:if (this.getText() == "播放") { this.setText("暂停") } else if (this.getText() == "暂停") { this.setText("播放") } 模板web属性不再需要任何js代码,此时用填报预览,预览一下效果(填报预览在单元格中才能使用按钮控件),发现页面加载后,声音就开始播报了。点击一个按钮试一下:: 139997 发现按钮的名字变了。页面标签上的小喇叭 也不见了。此时页面停止播报。再次点击按钮后,发现页面又开始继续播报了。 139998 1.4 :上述代码同样可以添加页面标签闪烁提醒,修改原代码如下: function playAudio(text) { const url = "http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&per=1&text=" + encodeURI(text);//lan=zh:语言是中文,如果改为lan=en,则语言是英文,ie=UTF-8:文字格式,spd=2:语速,可以是1-9的数字,数字越大,语速越快,text=**:这个就是你要转换的文字。 const audio = new Audio(url); audio.src = url; audio.play(); return audio; } var timer; var title=document.head.getElementsByTagName("title").innerHTML setTimeout(function() { setInterval(function() { var wb=FR.remoteEvaluate('=A1') var bf=contentPane.getWidgetByCell(FR.columnRow2CellStr({ col:1,//按钮在第二列,这里数值为1 row:0//按钮在第一行,这里数值为0 })) var bf1=bf.getText() if(bf1=='暂停'){ playAudio(wb) function tixing(timer){//定义页面标签提醒函数 var index = 0; clearInterval(timer); timer = setInterval(function() { if(index%2) { document.head.getElementsByTagName("title").innerHTML = '【   】'+ title; }else { document.head.getElementsByTagName("title").innerHTML = '【'+wb+'】'+ title; } index++; if(index > 20) { clearInterval(timer); } }, 500); } tixing (timer);//执行页面标签提醒 } else{ document.head.getElementsByTagName("title").innerHTML = title;//还原页面标题 } }, 5000); }, 500); 预览后效果:140013 场景二:大屏数据图表中,数据动态刷新,当图表中的数据,达到预定值时,立即播放语音提醒。(适用于生产数据监控,车间设备监控等)我们在决策报表中添加一个绝对画布块,然后 新建一个报表块,在A1单元格中模拟一个随机数据: RANDBETWEEN(110,999)139999 接下来,添加一个180度仪表盘,数据来源指定报表块中的数据: 140000 并对仪表盘设置一个区间颜色: 140001 对图表添加一个初始化后事件: var form = this.options.form; var mm=800//设定预警值,此处也可通过参数传递预警值。 var $alramDiv; setInterval(function() { form.getWidgetByName("report0").gotoPage(1,"{}",true);//刷新报表块 var num=FR.remoteEvaluate("=report0~A1");//监测值,并读取 //判断报警提示alarmDiv是否存在,如果不存在,则初始化 if($("#alarmDiv").length>0){ $alramDiv=$("#alarmDiv"); } else{ $alramDiv=$('').appendTo($(document.body)); } //清空报警对象,防止多次刷新后造成多次播放 $alramDiv.empty(); if(num>=mm){ if(FR.Browser.isIE()){//如果是IE浏览器,执行下面这句 //loop="-1"表示声音无限循环,可以指定数字来控制循环次数 $('').appendTo($alramDiv); } else {//如果不是IE浏览器,执行下面这句 //loop="true"表示声音无限循环,去掉则播放一次 $('' ).appendTo($alramDiv); } } }, 5000); 此时可以对报表块,设置不可见: 140003 预览后效果: (未达到预警) 140004 (达到预警) 140005 预警声音文件放在 webapps\webroot\scripts 目录下 编辑于 2020-12-10 17:58
【2020冬季挑战赛】2020世界幸福指数报告
1 个人简介 1.1 自我介绍帆软社区用户名:luojian0323职业简介:现就职于一家上市公司,做BI工程师一职,日常做一些数据分析及报表开发工作。 1.2 与FineBI相识与FIneBI相识是在2018年初,当时想了解一些比较先进的数据可视化工具,当时一眼就喜欢上了FineBI。经过一番培训,终于拿下了FCBP。今年又拿下了FCRP。可以说工作已经离不开FineBI了。 1.3 参赛初衷参加这个活动主要也想考验下自己的分析能力,以及数据可视化的展现能力。还想借着这个平台多多学习。交流知识经验。 2 作品介绍2.1 主题介绍/数据来源 本次分析的主题是:2020世界幸福指数报告 数据来源:使用官方提供的活动数据 2.2 分析思路拿到数据以后,快速理清数据结构,围绕主要维度找出可分析的指标。问题1:世界范围内,幸福指数总体是什么样的? 分析这个问题,我的思路是通过地图展现,把世界各个国家/地区通过较直观的方式把幸福度表达出来。 问题2:幸福指数最高的是哪此国家/地区,有什么特点? 分析这个问题,我的思路就是先做个幸福排名,把排名靠前的国家/地区 展示出来,并进一步分析这些国家/地区幸福度高的理由可能会是什么。 问题3:亚洲范围内幸福指数排名怎么样?中国处于什么样的世界水平? 分析这个问题,我的思路是在分析前面问题的基础上,把亚洲的国家/地区 单独拎出来,分析这些国家/地区的排名情况,再跟排名靠前的几个国家对比,分析差异。 问题4:排名最后有哪些国家/地区,这些国家/地区是怎样的情况? 分析这个问题,用相同思路,找出排名最靠后的国家/地区。分析这些国家/地区 幸福指数低的原因。 2.3 数据整理 2.3.1为了直观一点展示数据,又为了方便中国人的看数据习惯,我把原数据中的英文字段名称和国家/地区,名称做了翻译 139038 接下来导入到BI服务器的数据集中,并在自助数据集中做加工处理:139046139047139048139049139050 2.3.2 接下来,对数据再做一次独立加工,将人均GDP,社会支持,健康的预期寿命,自由选择生活,慷慨和腐败 六个指标单独取出并上下合并。具体做法是取出国家/地区字段,相应指标数据,新增一列:因素,并给当前指标命名对应的指标名,并计算该指标在国家/地区中的排名. 分别取出并计算后再合并.139058139059139060139061139062 2.3.2 接下来通过左右合并将前面2.3.1中做好的数据集关联进来,添加 幸福指数字段,洲内排名字段,大洲字段,国家/地区字段 .最后保存为:影响幸福感因素分析139063数据整理完毕。 2.4可视化分析 2.4.1 仪表板主题 选择一个深色背景主题,并且组件背景设置为透明: 139066 2.4.2制作模板标题. 添加一个文本组件,打上本次分析 的主题内容,再添加一个标题背景图片趁于下方:139073139074 2.4.3 制作幸福指数情况分布地图,将世界幸福指数分为三个区间,用类似人的表情图标,表示幸福度,同时对世界前十名国家/地区 做闪烁标记,另外对排名第一,和排名倒数第一另做提示。139075 2.4.4 制作幸福指数前十名排名图表,并对数据对应的国家/地区,在条形图上用国旗标记:139080 2.4.5 制作世界幸福指数排名首位和末位的指标卡:139084 2.4.6 制作其他维度的幸福指数分析图表,139155139159 2.4.7 接下来分别制作三个交叉图表,北欧国家和非北欧最富有国家幸福感因素表, 亚洲国家/地区幸福感因素表,幸福感排名后10位国家/地区幸福感因素表,设计重点是通过这些国家/地区的关键因素的各自排名情况,分析国家/地区 幸福感的主要来源:139098139102139107 2.4.8 最后对前面做好的各分析图表和表格,加上分析说明及分析结论。 2.5 最后结果呈现 139166 2.6 结论 通过这次分析,第一个感受到了帆软产品的进步与强大,增强了比过去更丰富和更人性化的图表和表格展示效果。让我的分析变得清晰透彻。接着就是在分析数据的过程中,感受到祖国的不易,和对美好生活的珍惜。虽然这次世界幸福指数报告,不能完全贴近现实,但至少给我们中国人敲响警钟,中国正在快速发展,我们没有享受懈怠的资本,美好生活需要我们每个中国人的努力和打拼,机会总是留给有准备的人。 140408
【BI可视化精选】第13期:DB百货营销复盘分析分享
1 个人简介 1.1 自我介绍1.1.1 帆软社区用户名:luojian03231.1.2 职业简介:目前在一家上市公司做BI工程师的工作。 1.2 与FineBI相识与FineBI相识是在2018年初,因工作需要想了解一些比较流行的数据可视化工具,当时就看中了FineBI。先是考下了FCAA,FCBA,FCRA一些初期证书,小试牛刀后觉得自己还需要一些提升经过一番培训,最终考了全班前三名,后来又拿下了FCBP。今年又拿下了FCRP。可以说工作已经离不开帆软软件了。 1.3 参与初衷参加此次活动主要也想考验下自己的分析能力,以及数据可视化的展现能力。 更多培养自己对数据的洞察,觉得大有益处。 2作品介绍 2.1 主题介绍/数据来源 2.1.1本次分析的主题是 准备在即将到来的大促销活动前,分析DB百货公司往年的营销数据,从中找到一些具有参考价值的数据和营销思路。2.1.2 数据来源:使用官方提供的活动数据 2.2分析思路 2.2.1拿到数据以后,首先研究活动中提到的三个大问题,以及大问题中的部分分支问题,然后观察官方提供的数据,找出数据之间的关联。 2.2.2 问题1:优惠券都去哪了?分析这个问题,很明显要围绕优惠券这个主题来分析,问题中提到,以往很多优惠券发放不合理,导致门店亏本卖货。是哪些门店在亏本卖货?在接下来的活动中要继续发放优惠券,应该针对哪些品类发放哪些优惠券比较合适?虽然数据表中没有直接给出优惠券使用数据,但是从用券金额来看,还是能看出一些端倪。着重从门店亏本的记录中排查用券金额情况,就很容易发现是哪些门店在亏本卖货。再根据以往销售数据进行归类分析,得到不同品牌的价格区间,对不同价格区间的产品给出不同的优惠券发放方案。 2.2.3问题2:如何合理投放网站广告?分析这个问题,我的理解是找出不同年龄段不同性别的喜欢产品品类,分析这些销量好的产品在哪些价格区间,从销量最多的里面筛选前几类产品,做网站投放广告。 2.2.4哪些业绩优秀的门店品牌可邀请进行经验分享?这个问题的初衷是在元旦假期出现亏本以后,出现业绩显著回升的现象。从中找出哪些门店业绩做的最好,销量最好的是哪些品类及品牌。找出代表性的品牌以供案例经验分享。 2.3 数据整理 2.3.1思路分析以后接下来就是对数据进行整理,通过自助数据集将有关联的表字段进行关联合并,比如销售信息表与会员卡类型可通过会员卡类型编码,会员卡类型进行关联。136897销售信息表跟会员卡信息表也有关联,可在自助数据集中对关联字段进行关联合并 136898 以及销售信息表与门店品牌表的数据关联合并136899 还需要提前对客户偏好品类产品做价格区间分析,我的思路是另存为一份上面做好的自助数据集,然后过滤掉一些毛利为负的不良记录及部份数据有缺失的数据。然后通过销售额/销售数量 得到产品的销售单价,再对这个价格做一个价格区间分析(图一)。然后按照年龄段,品类名,性别价格区间对销售数据汇总(图二)。再按照组内排名的方式得到不同性别,年龄段,和品类下销量最好的销量及所属价格区间(图三)。最后把组内销量最好的数据筛选出来,保存当前自助数据集为:不同年龄性别各品类购买偏好分析。并关联到上面的原自助数据集中(图四).我把它命名为:销售信息合并图一:136900图二:136901图三:136902图四:1369032.3.2 接下来是对品牌销售成本表和门店品牌表的关联合并136904用相似的方法计算出产品的单价136905和产品的价格区间 ,并保存命名自助数据集为:品牌销售成本合并136906 2.3.3另存为一份上面的自助数据集,命名为:建议优惠券分析2.3.3.1首先过滤掉毛利为负的数据,然后根据价格区间,品类名 对去券销售额,销售数量数据进行汇总136907然后按品类名计算出组内销量排名136908筛选出组内销量最高的数据,对其价格区间做优惠券发放建议 136923 2.3.4 再创建一个自助数据集,并将品牌销售成本表和门店品牌表关联合并。此时筛选18年1月22号-18年2月4号的数据供后面业绩回升分析使用136924接着对品类,品牌下的销售数据汇总136925用组内排名的方法算出品类下销售额最高的品牌销售数据,并将排名为1的数据筛选出来。保存当前自助数据集,命名为: 18年1月22-18年2月4号期间不同品类下的品牌销售排名136926数据整理完毕。 2.4 可视化分析 2.4.1先从品牌销售成本合并数据集中创建一个公司整体去券销售额及毛利率情况。并将毛利为负做闪烁标记。 136927 2.4.2从上一个图中,容易发现公司业绩下滑甚至亏本的重点时间段在18年1月1号-4号。也就是元旦期间。可能是由于活动举办不当,甚至可以说是出现失误导致。进一步拉取门店的亏本金额及用用券次数情况发现问题门店136928136929接下来重点观察亏本的几天内门店用券情况136930发现东亭店,在元旦期间内大量使用优惠券,且因优惠券设置不合理,导致活动期间亏本严重。2.4.3了解了上述情况后,要想对后面的活动优惠券使用如何安排合理。可通过历史数据分析不同品类的产品应该发放哪些优惠券。下面将前面做好的建议优惠券分析数据集中的数据创建一个仪表板用来展示相关信息在下图中,将各品类按销量在柱状图做展示,并将对应的价格区间及建议优惠券在图中展示出来。这样给出的建议优惠券和当前品类下的销量最好的价格区间,一目了然。136931 2.4.4接下来是对合理投放广告的分析将销售信息合并数据集中的数据创建一个如下图的柱状图。通过多分类多系列的方式,配合标签显示不同品类,各个年龄段和不同性别下,分析销量最好的品类,从中筛选前3个品类展示。并将不同品类,不同年龄段,不同性别下的品类价格区间在标签中展示。 136936 这样就分析出:化妆品部,运动部,针棉纹胸部 三个类别较适合投放网站广告 ,并给出了价格定位建议。 2.4.5 接下来分析公司业绩提升,是哪些门店,做的哪些可推荐方案,可邀请进行经验分享呢?通过前面第一个公司销售额及毛利分析总体图可知,公司业绩提升明显的是在18年1月22号至18年2月4号之间。抽取这个时间段的数据时行 分析136937分析发现这个时间段业绩突出的是东亭店和南陵店136938从:18年1月22-18年2月4号期间不同品类下的品牌销售排名 这个数据集中,创建一个仪表板组件,得到下图数据,从中筛选前5个品类下的品牌展示。得到销售额最高的品牌:Burberry,和毛利最高的品牌:NIKE136939最终效果图下图所示:136940 2.5 总结 带着问题先观察整体数据 发现异常数据,向明确目标钻取 通过分析手段挖掘隐藏的有价值数据 用分析出来的结果验证事实真相
大事记
看到论坛有小伙伴说想要事件记录型模板。 本人也是在网上找了,但多数不满足自己想要的,或者说拿过来不能直接用。 于是花了两天时间,在FR模板上做出来一个。 先看效果: 135373 看看有多少人喜欢。 好评多的话,发模板{:4_120:} 让大家久等了,在此奉上发布好的文档地址: https://bbs.fanruan.com/thread-133001-1-1.html 编辑于 2020-9-11 11:34
听说手机提问发图不能显示?
大屏数字增长效果
编辑于 2020-7-24 16:56 135110相信小伙伴们在帆软论坛上还有其他网站上经常会看到上图这样的,数字快速增长效果. 这两天想研究一下.毕竟自己做出来的比用别人的插件更方便些.上图是别人的网站,用的是js插件,代码几百行.而且新手也不容易看懂. 那我们想用在大屏上怎么办,插件拿过来改吗?相信很多人不愿意改,估计也不会改. 于是我就自己写了一个. 想要快速,还是慢速,自己任意调整.非常方便. 135111 上附件.研究了两天.灰常不容易.支持一下{:4_120:} 制作过程已经写到文档,大家可以来瞅瞅,戳我直达:https://help.finereport.com/doc-view-3564.html 编辑于 2020-10-3 17:10 编辑于 2020-10-3 17:11
移动端表单分页效果
最近论坛有个朋友找到我,问移动端表单分页怎么做,一开始,我也建议他用系统自带的工具栏按钮,但是当报表内有其他图表和报表块的时候,发现工具栏不显示了,需要放大报表块才能分页.而有些用户是希望直接在报表块上点击上一页,下一页,首页,末页,怎么办?于是就突发其想做了个,希望对有些朋友有帮助.首次发贴,希望大家支持一下.{:4_120:}135063 编辑于 2020-7-19 17:12
强烈建议BI对话框大小支持自定义!!!
这太小了。根本显示不了多少内容。  131829
下拉复选框问题
下拉复选框组件直接选择可以正常选择,搜索选择,选不上。选择后,自动被清空。 不知道是否和代码有关。但是在9.0中。使用没有问题。到10.0中就出现这样的问题。126224
BI图表向FR报表传参异常
FineBI 版本5.1 FineReport版本10.0 FineBI表格向FR报表传参正常。但是图表向FR报表传参就出现图中的异常现象。
移动端bi表格滑块移动无效
在移动端,当页面显示不了全部表格内容时,会出现滑块。但是在IPAD设备上无法通过移动滑块来展示数据。 测试中4.1版本和5.1版本都有这个问题。
填报界面出错BUG
连接远程服务器.运行Cpt 填 报 点击查询后,经常出现 Comparison method violates its general contrac 错误. 刷新后错误又没了.但会反复出现.
个人成就
社区核心粉丝
内容被浏览115,108
加入社区3年120天
贡献:11892

联系社区管理员|联系帆软|《帆软社区协议》|手机版|帆软社区|Copyright © 帆软软件有限公司 ( 苏ICP备18065767号-7 )

GMT+8, 2021-11-28 16:33 , Processed in 0.424535 second(s), 95 queries , Gzip On.

返回顶部