记一次报表导出项目中遇到的部分问题

1.数据对接不及时

需要对接的数据不够及时,需要不断地再次明确需求,日报数据库需要的表和字段名进行了整理
把能用到的数据库表和字段都进行了统计,没找到的也进行了统计,放在表格中,询问需求方,还有关于报表中的百分比,再次提出询问是否有规定的计算公式。

2.遇到sql报错

先用少量数据跑出专报表格,但中间遇到了许多问题,一点一点地试错,虽然还是有许多东西不是完全理解,但还是临摹出了一个成功的结果。然后再往里加入更多的数据,但在需要查询的数据多起来之后,在mapper.xml中sql语句的编写也遇到了些问题,明天计划解决掉这个困难。在这里插入图片描述 这是一个典型的sql语法错误,在mapper.xml文件中编写sql语句时存在错误的语法
把所有变量都填充完成,业务逻辑也大致跑通了,mapper中查询的都是简单的一致的数据,最终抛出了这样一个结果。中间遇到了很多次数据库的报错,在mapper中编写查询语句时,我还有许多短板,比如子查询的一些注意格式等,还有在sql中计算的问题。中间解决也是求助于通义灵码,但还是有许多不懂得地方,下来继续补上学习
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/299f177a32d7427f9815f516474eb280.png#pic_center

3.查询到的数据错误

1.对于原来日报周报台账信息中所使用的查询和业务逻辑也写地方不明白,他那个有些的方法不能直接用,比如台账top3只取了前三个的数据,我需要做出一些改动使他列出所有的数据,所以面对一些数据我还需要想其他办法查询。
2. 台账占比成功写好了查询,也跑通了逻辑。中间也遇到了不少问题,但现在很清楚地用通义灵码帮我不断地修改代码。
3.还有一个问题就是,周报中的一些变量是可以直接用的,但是我跑出来之后发现他全是已经设置好的默认值,我去询问森哥,他告知我需要断点去测试为什么跑到了默认值。断点我还不懂,需要学习。
4.进行断点测试后发现,在调用getDefaultData之前,变量是有数据的不为null,但是0
在这里插入图片描述5.但是经过在mapper.xml中修改sql的查询语句,使查询简单些、限制条件少些,发现也是能传出来数据的。原来采用默认值应该是因为,测试用的数据库中数据数量不够多,导致在各种限制条件下只能查到0条,故而采用了默认值。
在这里插入图片描述

4.小数取值

1.对于专报中台账类型占比的统计,在mapper.xml中进行了改正,使其保留两位小数ROUND()2,在 SQL 中,ROUND() 函数用于四舍五入一个数值到指定的小数位数。如果你希望将比率值保留到小数点后两位,并进行四舍五入处理,你可以使用 ROUND 函数并指定第二参数为 2。
2.有的数据取到小数点后两位,而有的数据只取一位,且相加离100%有一定差别。
在这里插入图片描述

3.这是改正后的代码,先乘以100,再取两位小数,保证了数据的精准和取两位小数的要求。

在这里插入图片描述

5.默认数据取值

1.这是修改前的代码,在查询时,只匹配了对应字段中值=“某类”的数据,导致可能匹配三年的时间段还是找不到对应的数据。
在这里插入图片描述2.这是修改后的代码,采用模糊匹配的方式,即字段中存在例如“问题咨询”即匹配为问题咨询类,修正了查询匹配的范围,最后跑出来正确的数据。
在这里插入图片描述
最后,暂时跑出了正确的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值