帆软report传统性再学一次,刷新自己的认知
我已经学完报表工程师从入门到精通课程,详情请看:报表工程师从入门到精通·实战班
1.学习初衷
(1)个人背景:
从事数据分析行业12年,乙方工作经验7年(长期出差做项目,熟悉较多领域的可视化制作及方案拟定,项目管理),甲方5年(数据平台管理工作:负责数据门户建设和管理工作;负责各BI工具及平台的培训及推广;拟定开发规范拟定并监督执行;负责相关软件的性能优化工作)
(2)从哪里了解到的学习班、为何选择学习班
选择学习班前已经有帆软5年的开发经验,通过帆软BI大赛获得了学习基金,进行传统性的重新再学一次,帆软report能实现的功能较多,又比较友好,平常也有在线客服可以咨询相关问题,能高效的解决业务提出的相关需求,达成闭环。
2.学习经历
(1)熬夜学习、结交新朋友、感谢的人、有趣的事儿......
平常上班比较忙,隔天还需要加班,帆软report的学习大多数放在晚上或周末,有时候做着做着可能就到凌晨了,视频课件很受用,把自己已经会的知识点全部温习了一遍,但很多场景是之前没有遇到过的,自己也没有想到很多还可以这么来用,比如日历制作,层次等课件,刷新了自己的认知,发现新大陆一样,居然还可以这么来用,尤其是复杂填报,还可以做考试系统,这个太方便了,之后内部培训时,就可以直接题库导入数据库,直接引用了,扩开了自己很多思路。
(2)课程建议:对学习班的想法和建议、对讲课老师、班主任、助教老师想说的话、想吐槽的点......
学习节奏有点快,因年底比较忙,有点磨炼自己的毅力,全程13节作业提交跟进下来,讲课老师很专业,有些视频反复查看,把层级和填报的短板补足了,班主任每周都会有通知相关课件说明,平常有不懂的就在群里问助教老师,助教老师很积极响应,做出来了还会给同学们群里点赞,很受鼓舞,在一次一次作业中,每次都认证对待,大多数都得了满分的成绩,也为自己的努力坚持鼓掌。学习到最后感觉就是享受,有些知识点茅塞顿开了,会写一些小笔记记录下来,好记性不如烂笔头,之后在实际场景中遇到可以直接使用。
3.学习成果
(1)个人成长
l 本来有5年的开发经验,再结合新学的知识点,更明确了层级坐标的概念,填报的灵活应用,大屏的自适应逻辑等
l 印象深刻的内容:复杂填报的作业,考试系统,刚刚开始打开作业,一脸懵逼,看视频连续看了好几遍,才发现公式如此强大,帆软还能做到这么灵活的考卷,已直接应用到公司内部使用。
l 学习的初衷是想传统性的重新学习一遍,不想自己盲目的认为实现不了是工具的问题,大多数其实是自己没有换位思考导致的,
l 上个月刚刚拿下了帆软BI的FCP证书,帆软report的证书我也势在必得,感觉还是很有含金量的。
l 帆软FVS星秀,肯定会越来越好,自己也会不断的学习,不会停下脚步
l 坚持学习是一种美德,自己会永远保持初衷,不能盲目自大,活到老,学到老!
3.案例分享
大屏看板:帆软总体预警看板
场景说明:
1、基于帆软报表开发量越来越大(目前总数有),每个领域存在开发人员,各域自己使用FTP上传更新报表,没有任何质量监控,无法定位到服务器宕机或内存高的原因。
2、梳理能监控的指标,进行指标梳理
指标拟定及说明:
指标名
指标说明
例子/数据来源
数据连接命名规范
默认带出的名称都需要进行修改,避免运维量
例:数据集,服务器数据集等写法不能出现自带的ds1这种写法,
服务器数据源命名
数据库_领域_账号名
HANA:HANA_RETAIL_UM_DATA
跳转不跳出当前界面
跳转新窗口,URL是明码的,开模板认证能解决类似问题,但因很多系统对接,目前不能直接启用模板认证
明码地址,分享给别人谁都能打开
报表活跃率:
报表下架或超过90天未使用的进行删除或优化
帆软自带的log日志同步出来查看活跃率
报表访问时长超出规定范围
经营报表5秒内,普通报表8秒内,明细报表12秒内
帆软库里找到模板时长
帆软数据决策平台单独配置用户权限的
帆软决策系统,开放权限使用时,不能直接把权限加到用户上面,需配置到角色里分配相关报表权限
帆软库里找到对应的分配角色关系
3、基于不规范报表,进行分权管理员的通知整改方案:
4、基于很多领域把正式机当测试机使用的场景,公司采取收回正式环境的权限,测试机开发好后,走OA流程,拟定自动解析评审项,方便流程自动评审完后,管理员只需查看相关同步结果即可。
5、基于拟定的方案和指标,进行每个领域的总览界面权限控制配置
6、相关指标需要用python解析后再进行展现。
7、相关SQL说明:
(1)数据集不规范数
(2)模板SQL访问时长,需加上对应的权限控制:
(3)数据连接个数
(4)所有模块的文件夹总体规范概览:
(5)跳转不规范数
基于python解析结果,进行区分
(6)单独配置用户数
使用的是帆软资料库里的结果:
SELECT count(distinct 用户名) as YCS FROM (select
u.ID 用户ID,
u.USERNAME 用户名,
u.REALNAME 姓名
from kukafr.FINE_USER u
left join kukafr.FINE_USER_ROLE_MIDDLE rm on u.id=rm.userId
where 1=1
and enable='1'
) A
JOIN (
select
F.roleid,
f.AUTHORITYTYPE,
case when f.AUTHORITYTYPE='1' then '查看权限'
when f.AUTHORITYTYPE='2' then '授权权限'
when f.AUTHORITYTYPE='3' then '编辑权限'
when f.AUTHORITYTYPE='4' then '数据连接管理权限'
when f.AUTHORITYTYPE='101' then 'FineReport 模板认证权限'
when f.AUTHORITYTYPE='102' then 'FineReport 模板查看权限'
when f.AUTHORITYTYPE='103' then 'FineReport 模板填报权限'
when f.AUTHORITYTYPE='201' then '业务包使用权限'
when f.AUTHORITYTYPE='202' then '业务包管理权限'
when f.AUTHORITYTYPE='203' then 'BI报表导出权限'
when f.AUTHORITYTYPE='204' then 'BI仪表板分享权限'
when f.AUTHORITYTYPE='205' then 'BI模板认证权限'
when f.AUTHORITYTYPE='206' then 'BI模板查看权限'
when f.AUTHORITYTYPE='207' then 'BI模板导出权限'
when f.AUTHORITYTYPE='208' then 'BI仪表板分享角色控制权限'
when f.AUTHORITYTYPE='209' then 'BI仪表板分享功能权限'
when f.AUTHORITYTYPE='210' then 'BI仪表板公共链接功能权限' end 权限类型,
case when f.ROLETYPE='1' then '部门'
when f.ROLETYPE='2' then '角色'
when f.ROLETYPE='3' then '用户'
when f.ROLETYPE='4' then '职务' end 类型,
a.ID,
a.DISPLAYNAME 名称,
a.PATH 路径,
a.SORTINDEX,
a.PARENTID PARENTID0,
b.PARENTID PARENTID1,
c.PARENTID PARENTID2,
d.PARENTID PARENTID3,
e.PARENTID PARENTID4,
case when a.EXPANDTYPE='1' then '平台管理系统节点'
when a.EXPANDTYPE='2' then '首页'
when a.EXPANDTYPE='3' then '目录'
when a.EXPANDTYPE='5' then '链接'
when a.EXPANDTYPE='6' then '文件'
when a.EXPANDTYPE='101' then '上报流程'
when a.EXPANDTYPE='102' then 'FineReport报表'
when a.EXPANDTYPE='201' then 'BI报表'
end 权限目录类型,
case when a.DEVICETYPE='0' then '未勾选 '
when a.DEVICETYPE='1' then 'PC '
when a.DEVICETYPE='2' then '平板 '
when a.DEVICETYPE='3' then 'PC、平板 '
when a.DEVICETYPE='4' then '手机 '
when a.DEVICETYPE='5' then 'PC、手机 '
when a.DEVICETYPE='6' then '平板、手机 '
when a.DEVICETYPE='7' then 'PC 、平板、手机 ' end 适用平台,
a.SORTINDEX 排序顺序
from kukafr.FINE_AUTHORITY_OBJECT a
left join kukafr.FINE_AUTHORITY_OBJECT b on a.PARENTID=b.id
left join kukafr.FINE_AUTHORITY_OBJECT c on b.PARENTID=c.id
left join kukafr.FINE_AUTHORITY_OBJECT d on c.PARENTID=d.id
left join kukafr.FINE_AUTHORITY_OBJECT e on d.PARENTID=e.id
join kukafr.FINE_AUTHORITY f on f.AUTHORITY=2 and (a.id=f.AUTHORITYENTITYID or a.PARENTID=f.AUTHORITYENTITYID or b.PARENTID=f.AUTHORITYENTITYID or c.PARENTID=f.AUTHORITYENTITYID
or d.PARENTID=f.AUTHORITYENTITYID or e.PARENTID=f.AUTHORITYENTITYID)
order by a.PARENTID,a.SORTINDEX) B ON A.用户ID=B.roleid
where not exists (select 1 from kukafr.FINE_AUTHORITY f1 where f1.AUTHORITY=1 and (B.id=f1.AUTHORITYENTITYID or B.PARENTID0=f1.AUTHORITYENTITYID or B.PARENTID1=f1.AUTHORITYENTITYID or B.PARENTID2=f1.AUTHORITYENTITYID or B.PARENTID3=f1.AUTHORITYENTITYID or B.PARENTID4=f1.AUTHORITYENTITYID) and A.用户ID=f1.roleid and B.AUTHORITYTYPE=f1.AUTHORITYTYPE)
(7)按解析的结果,查看新增删除的修改趋势:
(8)总览表样式搭建:
(9)最终预览效果如下:
说明:在异常数据上加上预警,每个预警界面都可以点进去查看明细结果:
说明:基于一级目录文件夹的责任人,开放了填报入口,统计所有的责任人后,进行分权查看所有数据,并设置了填报同权权限,一个文件夹可以多人进行管理查看。