本周知识分享会议总结
2020年7月第三周知识分享汇总
- DQ的项目经验分享
- 项目过程的介绍
- 项目中遇到的问题
- 项目中的知识分享
- 项目中的工具分享
- HXD的数据仓库知识分享
- 数据仓库
- ETL的概念
- kettle的案例
- 课程质量测试
- CPD的Kettle 案例分享
- 什么是ETL
- ETL的目的
- ETL实现方式
- Kettle案例
- GMR的FR知识分享
- 帆软设计器
- 服务器(决策平台)
- 其他JavaScript案例
- 外置图片插件
- GZZ的FR知识分享
- FR设计器
- 项目案例分享
- WDD的技术分享--单点登陆
- LL的FR知识分享
- FR功能讲解
- 项目经验分享
- ZT的项目经验分享
- 需求场景描述
- 分析设计过程
- 需求盘点和主要解决方案规划
- 设计解决方案
- 落地设计
- 结束语
- 本周培训会议总结
本周开始的知识分享会议已经进行了一轮,在这一轮知识分享会议中,各位都通过自身的实践总结了一大批的经验,在这里总结以下自己的收获。
涉及具体姓名均以代号表示,涉及具体项目不予展示。
DQ的项目经验分享
通过项目完整实施过程中遇到的真实案例讲解了如何进行项目管理。
项目过程的介绍
主要内容有
启动:项目开始
计划:项目的各个节点任务
执行:项目的执行过程
控制:对执行过程进行监督
收尾:交付成果解散项目组
项目中遇到的问题
为了使项目更好的控制,那么需要注意以下方面
1.项目启动会是为了让项目组成员了解自己在项目中的职责,如果未进行的话会导致项目进度很难推进。
2.对于之前的项目中的可以提前判断的内容可以写到工作规范里面去。对于可能会导致后期大量的重复工作的内容,例如:字体样式未统一出现的页面阅读不美观导致的重复劳动;对于可能会影响二期工程的事情,例如:文档的不规范,开发过程不规范;
3.为了增加项目组成员的责任意识,对于会产生工作量新增的事情都需要正式通过邮件告知;
4.对于核心的边界文档需要由用户进行签字确认;
5.对于需要交付的成果需要进行验证测试。
项目中的知识分享
1.服务器数据集,将通用、常用的形态或数据字典,放到服务器数据集,减少重复使用模板数据集,如需调整,修改服务器数据集即可
2.通用熟悉规范,字体样式
3.备份管理
4.多级上报案例分享
项目中的工具分享
1.资料共享使用了腾讯文档,客户提供的网盘
2.会议记录使用了windows 的OneNote
HXD的数据仓库知识分享
主要讲解了数据仓库的基本概念与ETL的概念,最后分享了一个kettle 的使用案例
数据仓库
- 数据仓库的基本概念
- 数据仓库的特点
- 数据仓库的分层结构
- 数据仓库有哪些优势
ETL的概念
- 什么是ETL
- ETL的作用
- 关于数据抽取
- 数据转换和加工
- 常见的数据质量问题
- 主流ETL工具
- ETL工具如何选择
kettle的案例
通过httpClient 调用外部百度地图API实现将文本地址转换未经纬度信息,从而实现数据满足地图报表展示。
课程质量测试
根据课程内容编制相关测试题目,用以检测大家的学习程度。
CPD的Kettle 案例分享
什么是ETL
Extract-Transform-Load,将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。
ETL中花费时间最长的是Transform,也就是转化、清洗的过程。
ETL的目的
使用ETL的目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。
ETL实现方式
- 借助ETL工具实现
- 使用SQL实现
- 工具与SQL相结合
Kettle案例
- 使用Kettle对数据进行抽取转换
- kettle实现增量更新(较为复杂)
GMR的FR知识分享
主要讲解了FR设计器的一些使用技巧,服务器(决策平台)的使用技巧。
帆软设计器
- 跨Sheet页取数
- 跑马灯实现自动轮播报表展示数据
- 点击弹出iframe窗口展示报表
- 更改控件底色
- 内置数据集复制,通过打开报表文件复制
- 通过超级链接跳转访问Sheet页内报表
服务器(决策平台)
通过图片名称更改标签页logo
其他JavaScript案例
不点击查询,JS实现自动查询
给下拉框控件和日期控件等,添加编辑后事件:_g().parameterCommit();
参数面板JS:
JS清空(重置)条件:https://help.finereport.com/doc-view-1196.html
多参数不能同时为空:http://bbs.fanruan.com/wenda/question1/75269.html
填报相关JS:
使用填报页面控件查询:https://help.finereport.com/doc-view-1828
删除行按钮只有一行时不能删除: https://help.finereport.com/doc-view-2150.html
删除行前提示确认删除:https://help.finereport.com/doc-view-627
填报成功后关闭窗口:https://help.finereport.com/doc-view-618.html
参数界面JS:
单选按钮必须选一个:https://help.finereport.com/doc-view-2027
外置图片插件
外置图片插件主要解决设计过程中资源过大导致的设计器崩溃问题,衍生知识点:在进行预览前如果不进行保存的话也容易导致FR设计器崩溃。
GZZ的FR知识分享
FR设计器
介绍了FR设计器的模块功能
项目案例分享
使用多个统计图实现复杂功能
使用图片来最为折现标记点
通过颜色来实现瀑布图
通过js遍历加
实现文字竖向排列通过折线图对每个柱状图增加汇总数字
WDD的技术分享–单点登陆
通过FR内置接口实现单点登陆。
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ page import="java.util.Map" %>
<%@ page import="java.net.*" %>
<%@ page import="java.io.*" %>
<%@ pageimport="com.fr.data.NetworkHelper, com.fr.decision.authority.data.User,com.fr.decision.mobile.terminal.TerminalHandler,com.fr.decision.webservice.exception.user.UserNotExistException,
com.fr.decision.webservice.utils.DecisionServiceConstants,com.fr.decision.webservice.v10.login.LoginService,com.fr.decision.webservice.v10.login.TokenResource,com.fr.decision.webservice.v10.user.UserService,
com.fr.general.ComparatorUtils,com.fr.log.FineLoggerFactory,com.fr.security.JwtUtils,javax.servlet.ServletException,javax.servlet.ServletRequest,javax.servlet.ServletResponse,javax.servlet.http.HttpServletRequest,
javax.servlet.http.HttpServletResponse,java.io.IOException"%><%String login = request.getParameter("login");//登陆账号if(!"".equals(login)){//适用于FR 10.0try {String token = LoginService.getInstance().login(request, response, login); if (token == null) {//改成自己的登录界面response.sendRedirect("http://localhost:8080/webroot/decision/url/mobile");return;}session.setAttribute(DecisionServiceConstants.FINE_AUTH_TOKEN_NAME, token);response.sendRedirect("http://localhost:8080/webroot/decision/url/mobile");return;} catch (Exception e) {e.printStackTrace();}}%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body >
</body></html>
LL的FR知识分享
FR功能讲解
- EXCEL导入清空
- 批量删除
- 删除的时候弹窗提示
- 邮箱配置定时调度
- 定时刷新网页框架
- 单元格横向滚动
项目经验分享
- 填报完成刷新页面或者刷新数据不刷新参数面板
- sql书写规范
- 不要直接使用隐藏单元格功能,尽量用条件属性进行隐藏单元格
ZT的项目经验分享
讲述了从需求分析到设计完成组织结构树状报表的过程
需求场景描述
在实际项目过程中,有一个项目需求场景如下:
客户有一系列大屏展示需求,但是数据是通过填报形式录入,需要使用excel批量导入功能,但是线下收集的excel数据,是由不同业务部门填写,其中,组织信息的填写各不相同,且信息处多次强调后,下次提交的数据依然存在命名规则不一致情况,所以希望通过系统来控制标准,来统一数据录入时,关键的组织数据的规范性;而且组织数据在年度末时,可能会有架构调整,希望历史数据汇总显示可以根据新架构显示,还需要一个可以所见即所得的组织编辑维护界面;
异常数据如下,不同部门对同一公司的数据命名各不相同,如不能统一维度,会给后续分析带来很大困扰
分析设计过程
需求盘点和主要解决方案规划
通过分析客户需求痛点,主要总结以下几点待解决问题:
1、填报导入时,如果通过系统手段,规范不同业务部门填报数据?
2、组织更新时,历史数据如何实现动态切换?
3、组织更新时,需要所见即所得的编辑页面?
系统中创建标准的组织数据,以此为基准,在填报导入时,判定导入组织数据是否符合规范,对不符合规范的部门,限制导入提交,并提醒异常数据位置!
业务部门excel导入数据,维护的组织信息肯定是中文名称,所以在维护组织信息时,需要考虑增加主键信息,填报时,将每条组织数据对应的组织主外键录入数据库,数据汇总过滤时,按组织表外键分类汇总;
参考常规业务系统的组织维护界面,设计树形组织报表,展示组织数据,并开发新建组织表和维护组织表,与树形表关联,实现组织数据的维护操作。
设计解决方案
作为组织数据的验证的基准和填报时需要转换的外键,第一步需要考虑设计的就是组织数据的设计;
创建数据库表(可以跟客户确认或者包含核心需要内容即可)
包含主键、外键、部门名称、组织类型、上级部门、主要负责人、组织级别、排序号等信息即可;
设计树形展示报表和组织新增表、组织编辑表
树形表主要展示组织信息,添加超链,链接新增表和编辑表;
填报导入添加状态判定和提交校验
判断状态用来判定导入数据是否符合标准,且将符合标准的组织数据,转换出组织外键,提交校验用来限制数据存在异常的用户提交;
落地设计
树形报表设计
1、增加树节点按钮;
2、增加单元格数据过滤并去除父格自动过滤;
3、手动设置左父格;
4、确认集团层级显示位置;
5、添加超链按钮
组织新增表
报表为常规填报报表开发,注意交互和用户体验即可:
不过添加了三个功能点;
当前填报层级说明
自定义字母+自动递增组织序号+自动递增层级
父窗口刷新
组织编辑表
组织编辑表主要实现数据更新操作,需要与新增表做
以下区分
编辑组织为树形表中的,当前组织,参数为组织编号
编号和id支持更新;
更新上级部门会导致组织架构的变化,为防止失误操作
批量导入控制
根据导入数据组织名称,查询组织表code,名称符合
规范,返回code,否则为空;
添加判定条件,实现定点提示功能
结束语
客户需求中,提取关键问题,并思考解决方案
树形报表开发流程和配置项;
常规填报报表开发流程及悬浮提示功能配置;
灵活使用SQL函数,实现自定义编号功能
数据校验定点提示方法;
常用的子填报父刷新功能使用;
本周培训会议总结
本周知识分享会议需要重点学习的内容:项目管理过程中的细节,多级上报的实现,Kettle增量更新的实现,树形报表的实现。
本周知识分享会议总结相关推荐
- 关于软件公司如何进行知识分享的一些讨论
问题搜集 你认为知识分享对你的工作是否带来了帮助?如果是,麻烦列举一些具体的点.如果觉得没有帮助,麻烦列举一些原因,比如是内容太浅,还是讲的东西和自己工作关联不大,等等. 你希望将来继续按照现在这个形 ...
- 重磅!AI与区块链技术知识分享交流会!特邀贾志刚老师、双一流211高校研究生!
重磅 AI与区块链技术第一次知识交流分享会即将拉开帷幕! 本交流会旨在分享交流人工智能.区块链相关内容(包括基础知识分享.前沿论文分享.具体项目实战),提供一个相同领域学者.工作人员在线交流机会. ...
- 基于JAVA法律知识分享平台计算机毕业设计源码+系统+数据库+lw文档+部署
基于JAVA法律知识分享平台计算机毕业设计源码+系统+数据库+lw文档+部署 基于JAVA法律知识分享平台计算机毕业设计源码+系统+数据库+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语 ...
- 创立创造创建的区别_【干货|知识分享】Solidworks与Rhino有什么区别呢?
## [干货|知识分享]Solidworks与Rhino有什么区别呢? 三维建模软件有很多,其中常用.功能相似的就是Solidworks和Rhino,这两个对于大学生们最为熟悉的.最开始接触的三维建 ...
- 关于域用户的离线缓存登录知识分享
关于域用户的离线缓存登录知识分享 微软设计缓存登录的目的? 缓存登录主要是为了解决当公司域控制器发生故障联系不上DC或用户拿笔记本电脑回家不拔×××的情况下,依然能够登录到系统,进行办公.如果用户登录 ...
- Osmocom-BB 相关资源、知识分享
Osmocom-BB 相关资源.知识分享 1.在layer1层添加了解析sniffer的代码 参考http://git.osmocom.org/osmocom-bb/log/?h=luca/gsmma ...
- vba 跳到下一个循环_VBA野知识分享:从一个数组中取部分值生成新数组,不使用循环的思路...
从一个数组中取部分值生成新数组,要实现此需求通常都是采用循环的方法来完成,那有没有更简易的思路呢? 借用jscript可以实现,直接取值,不用循环.例如从100000万中元素是取8000个值出来生成新 ...
- ddns 被解析为127.0.0.1_我为北京冬奥加油,2020.2.1-2.10冬奥知识分享
2020.02.01 中国冬梦,世界飞跃,我是果雪儿小小志愿者仇懿琛,我为北京冬奥加油,今天冬奥知识分享--冬奥会历史上那些非凡而又卓越的运动员(十一)明星运动员:米特迈尔 第十二届冬季奥运会 时间: ...
- 大数据包围你我,技术人如何走知识分享之路
本期推荐:[云享人物·大咖面对面]华为云首席产品官方国伟独家专访:当下云发展有待突破的并不是技术问题:现在为什么是#华为云# 的最佳时机:以不变应万变,什么是云产品规划的三个关键出发点:生态对于云的意 ...
最新文章
- 学习sql注入:猜测数据库_对于SQL的热爱:为什么要学习它以及它将如何帮助您...
- c是编译语言吗,将语言编译为C是一个好主意吗?
- dubbo-go 白话文 | 从零搭建 dubbogo 和 dubbo 的简单用例
- 6.2、Android Studio内存
- 最详细的java泛型详解
- JavaSE——面向对象基础(思想、类与对象、构造方法、重载、匿名对象)
- 【HTML5】HTML5事件属性总结
- c语言技术课第一次作业
- 功能表单之智能选择字段类型的使用——JEPLUS软件快速开发平台
- oracle索引实现方式,Oracle中的索引原理(1)
- 【跨境电商学习指南】
- 服务器带宽打开网页很慢,移动宽带打开网页慢?两招治本移动宽带打开网页速度慢的解决方法...
- Java Socket 网络编程
- 详解:分治算法【Java实现】——汉诺塔问题
- 计算机科学家与科学之路----2000年图灵奖得主美籍华人姚期智院士特邀报告
- matlab表示颜色的词语三个字,三个字的形容颜色的词语
- 计算机显示在手机桌面上怎么解除,桌面布局已锁定怎么解除 桌面布局已锁定解除办法...
- spring boot 采坑
- 网络游戏外挂编写原理
- 原生 js 实现无缝滚动轮播