- 博客(30)
- 资源 (1)
- 收藏
- 关注
原创 报表资产管理
报表需求有规划的管理,称之为报表资产管理。是IT管理角度的信息:报表查看频率,报表查看时间,报表更新频率,报表更新时间,报表填报时间,报表实时性,指标编码,报表权限,数据来源系统,数据来源表,报表使用频率。报表资产可以和报表发布审批进行绑定,一旦报表发生变动发布就要更新报表资产,要做好报表资产发布管理。是从报表管理角度的信息:使用平台,使用部门,使用人,业务管理者,数据权限管理者,填报人,开发管理者,报表使用资产。是报表本身自带的信息:报表挂载路径,报表存储路径,是否填报,报表编码,报表名称,报表类型。
2024-04-15 10:13:48 199
原创 数仓规范管理
整个流程是,业务部门提出报表需求,然后开发调研,进行数仓开发,然后进行报表开发。可以将整个数据开发流程拆分成调研人员,数据架构师,数据建模师,数仓开发人员(数仓开发人员可以按照数据分层分为ods开发,dwd层开发,dws层开发),报表开发人员,数据测试人员。谈到数仓规范,我们都会讲到数据建模和数仓分层,讲数仓会做数仓横向做数仓分层用于降低数据开发复杂程度和数据复用。定规范:这里的规范就是数仓具体的规范,包含数仓建模规范,数仓分层规范,数仓命名规范, 数仓开发规范。
2024-01-10 11:37:00 448
原创 浅谈报表平台运营指标
报表的建设后要定期去看报表访问人数,访问部门,报表查看次数,使用的功能。为报表设计报表价值体系,去评估报表的价值,将低价值的报表清理掉,减轻运营成本。为报表设立报表入资,报表业务属性:使用目的、使用场景,业务更新时间,技术属性:报表类型(填报,填查,查)、数据更新时间,管理属性(报表使用部门,报表使用人,报表责任部门,报表开发角色),从技术角度查看报表访问权限。因此,在处理部门提出的报表需求时,必须谨慎地评估其业务价值。因此,在处理这些报表需求时,我们必须对实际情况进行全面考虑,以确保报表的质量和可靠性。
2024-01-10 10:48:57 530
原创 浅谈数据仓库运营
根据表引用次数进行排名,重点关注引用次数高的和次数低的,次数高的定期优化,确保任务执行失败,次数低的考虑数据架构是否合理,如果存在次数为0的说明未使用(很多业务调整但是表还没有拿掉,会存在很多僵尸表)。:检查数据库表是否存在循环写入(A->B,B->C,C->A),很多公司不存在数据架构师,往往为了实现报表需求,直接拿已经做好的指标,可能会存在循环写入的情况(A表用B表指标1,B表用A表指标2)企业每天都会产生大量的数据,随着时间增长,数据会呈现几何增长,尤其在系统基建基础好的公司。
2023-12-26 17:45:12 1459
原创 从报表需求到报表开发的流程
做好开发手册编写,要有报表设计和开发思路,以及重要功能。报表操作手册要包含管理者、开发者、使用人员、使用部门、数据更新时间、报表目录、使用方法、注意事项、使用场景、业务背景等等信息(详细可以见报表运营博客,os:还在编写中)。指标管理是报表管理很重要的一个方面,报表可以说是由指标组成,在集团性公司,会存在重复建设的情况,有些因为业务原因需要存在,大部分还是开发管理的问题导致重复建设。需求说明书:按照5W2H标准输出,要包含业务背景、业务提出人、调研人、数据架构师、数据建模师、数仓开发人、报表开发人。
2023-12-26 16:23:47 1595
原创 基于Kettle和帆软Finereport的血缘解析
然后输入如果是表输入,通过sql查询的,用sql parser解析获取到表和字段信息。可以找到数据集是存在<TableData>节点下,可以拿到查询的sql,然后用sql parser解析获取到表和字段,在<DatabaseName>里面可以拿到数据连接名,这里可以在帆软内置库中找到数据连接名的具体链接信息,用于打通和Kettle之间的联系。上面只讲了帆软FineReport,帆软还有FineBI,在FineBI里是有血缘的,如果要做整体的管理,可以考虑将FineBI的数据获取到和所有的血缘进行融合。
2023-12-24 14:55:03 1514
原创 pyinstaller 打包程序带上导入包下面的文件
Building prefix dict from the default dictionary ...Exception in Tkinter callbackTraceback (most recent call last): File "tkinter\__init__.py", line 1705, in __call__ File "DWTool.py", line 131, in <lambda> File "DWTool.py", line 43, in tran.
2021-05-04 16:54:02 631
原创 python jieba load_userdict 不起效果
如果字典是加载成功,没有报错,可能是自定义的词典词频不够高:可以看下jieba自带的词典中的词频,将自定义词典中词频调大如 word 999999999999 n。自定义词典格式 ,单词 词频 单词类型jieba 自带词典位置...
2021-05-04 15:06:54 2872
原创 2020-09-16
kettle 插入更新出现 插入 / 更新 1.0 - Duplicate entry ****** for key 'PRIMARY' 的问题在插入更新主键和表的主键都问题,在插入更新前有去重的动作,按道理不会出现这种错误,怀疑是切换版本的问题,先把原来的插入更新组件拿掉再新建一个,再跟踪问题。...
2020-09-16 08:53:05 649 1
原创 Mongodb查
1.select select * from people db.people.find()2.显示想要的字段 select name,age from people db.people.find({},{name:1,age:1,_id:0}) 第一个{}是进行过滤的地方,第二个{}是确认显示的字段3.过滤 select name from people where name='zhangsan' db.peo..
2020-09-15 16:32:06 135
原创 SQL server中字符串与数值比较存在的小问题
如果将 '8'与'20' 比较是 '8' 比较大,因为根据排序'8'是大于'20',所以应该按照数值来进行比较,下面的数值比较是对的是因为SQL server将字符串强转成数值进行比较,所以结果是对的。
2020-09-14 15:44:51 1441
原创 2020-09-12
HIVE-删除操作删除数据保留表 truncate table student;truncate table 表;tips: truncate操作相当于delete from table where 1=1 不能删除外部表,因为外部表数据并不是存放在Hive Meta store 删除表 drop table if exists table_name; 删除库 drop database if exists database_name;tips:如..
2020-09-12 10:20:38 239
原创 MySQL 去重两种方式的比较
第一种:使用distinct函数去重explain SELECT distinct ftype FROM `test_jndi`第二种:使用group by 来去重explain SELECT ftype from `test_jndi` group by ftype注意:查询的时候要清除缓存做比较,否则会影响结果...
2019-09-19 13:05:42 623
原创 kettle启动的时候一闪而过没有打开
原因可能是kettle强制关闭导致的问题,删除\data-integration\data-integration下面的.kettle文件夹就可以了
2019-09-19 07:54:44 2316 3
原创 kitchen在linux下启动 sh kettle
#!/bin/shROOT_TOPDIR=/usr/local/kettleexport ROOT_TOPDIRJAVA_HOME=/usr/local/jdk/jdk1.8.0_74PATH=$JAVA_HOME/bin:$PATHCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport JAVA_HO...
2019-08-23 10:38:53 1201
原创 工作中遇到的问题
问题:遇到主库与从从库数据不一致的问题,集群。问题:遇到数据库设计存在缺陷,导致报表填报小数位控制存在问题,无法填报成功,应该将数据库decimal设置与报表小数为控制的一样问题:finereport预览的时候字段名显示问号,如果能在navicat中运行,则可能是预览填入的数据格式不对导致的原因问题:kettle无法从表字段名为中文的数据库抽数据,解决的方法设置DB连接选项 useUni...
2019-08-09 09:47:00 329
原创 finereport如何联动实现控件值随着单元格的值改变而变化
有两种思路:第一个是使用控件下面的事件,有编辑前事件和编辑后事件,分别获取单元格的值进行比较,如果改变说明单元格值被修改。第二个是建一张中间表,通过编辑后事件获取单元格的值与中间表的值进行对比,判断是否修改。第一种思路的具体实现:首先得知道如何通过js获取单元格的值:如果获取当前单元格的值可以通过下面jsthis.getValue();如果想要获取指定单元格的值,则...
2019-07-11 16:04:18 5719
原创 MySQL与SQL server的差别1(双引号的差别)
select departmentname from HrmDepartment a inner join WCX_department b on a.id=b.bmwhere b.mainid=(select max(mainid) from WCX_department) and departmentname in("技术质量一部","设备一部","生产一部","技术研发部","设备开发部"...
2019-07-10 16:03:39 214
原创 6月末工作总结
芯棒气泡平均值转换问题总结: 第一,建立数据库连接忘记设置编码问题导致数据库写入中文乱码 第二,忘记改表字段导致无法更新插入芯棒延伸延伸芯棒检测转换问题总结: 第一,不理解列转行怎么用的,没有找到想要的字段(在II_DATA里面) 第二,转换运行时间过长,应考虑如何优化 第三,在插入更新中考虑其余的字段可以不更新,减少转换的时间气体露点点检表 第...
2019-07-03 15:08:38 136
转载 finereport 填报刷新
转载地址:http://blog.sina.com.cn/s/blog_9b99a56b0102xow6.html1、FineReport填报报表,提交后自动刷新提交后能够自动刷新页面,及时地看到更新之后的数据,而不需要再次刷新页面。(1)、刷新整个页面点击模板>模板web属性>填报页面设置,然后在事件设置中添加填报成功事件,在js脚本中输入:location.re...
2019-06-21 14:47:23 1881
原创 数据库一些问题
Oracle中timestamp日期格式,MySQL中没有对应的,需要进行格式转换,Oracle日期格式转换可以用to_charheto_date,mysq可以用date_format
2019-06-21 08:38:18 179
原创 finereport 使用中的小问题
在定义数据库连接的时候数据连接名要和在fineBI上面的数据连接中数据库起一样的名字。 如果有单元格想隐藏可以使用条件,设置行高和列宽为0,也可以右键选择隐藏。...
2019-06-21 08:28:04 576
原创 finereport 超链接地址如何写为相对地址
encodeURI("${servletURL}?viewlet=填报.cpt&op=write");假如访问的是http://localhost:8075/webroot/decision/view/report?viewlet=workbook1.cpt,servletURL指的是:/webroot/decision/view/report如果超链接到填报,要在超链接地址后面加...
2019-06-21 08:22:28 2738
原创 finereport填报数据提交到数据库中文乱码
mysql数据库中文乱码-https://help.finereport.com/doc-view-1127.html
2019-06-21 08:19:35 2220
原创 kettle抽取数据中文乱码
1 解决如何从一个表抽数据插入另一个数据库的中文乱码问题 在设置数据库连接的时候选项设置命名参数2 解决如何使一个表的输入作为另一个表输入sql语句中的问号在第二个表设置替换sql语句里的变量,从步骤插入数据选中注意事项:如果转换表要主要先转一部分,先查看数据库数据,发现有没有问题。...
2019-06-20 18:09:24 930
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人