数据的统计与分析

文献种类:专题技术文献;

开发工具与关键技术:Visual Studio 2015

作者: ;年级: ;撰写时间: 年 月 日

文献编号: ;归档时间: 月 日

                             		数据的统计与分析

开发工具与关键技术:Visual
Studio 2015   对查询出的数据进行统计与分析

作者:廖茂

撰写时间:2019年5月27日

查询这一个步骤,大多数的查询都是直截了当地查出需要的数据,较为简单,如果对查询出来的数据进行一些处理,这就需要用上一些较为繁琐的方法了。在这里,我们以考生成绩的处理为例,需要将“学号、姓名、性别、班级、考试次数、最有成绩、合格类型”这些数据进行统计与分析,并把这些数据放到表格里面显示到页面上,数据如下:
在这里插入图片描述

这是其中两条数据,查询条件为“学院、年级、班级”。我们需要实现的就是无论查询出来的数据是哪个年级、哪个班级的,都将查询出来的数据进行统计与分析,统计分析完毕所显示出来的表格如下:
在这里插入图片描述

接下来编写视图里面的方法,首先需要一个显示统计数据的表格,如下:

在这里插入图片描述

表格有四列,表头字段分别为“序号、统计类型、统计结果、参数详情”,表头已经有了,接下来给表格创建单元格并且赋值:
在这里插入图片描述

用post方发提交数据,并且把筛选条件的三个参数传到控制器,把对象data赋值给StatisticsData这个全局变量,接下来开始创建单元格并且赋值给一个变量:
在这里插入图片描述

这些单元格,都是统计类型这一列下面的单元格,用于对考生成绩的分类统计,设置完单元格后,对表格进行数据重载:

tabStatistics.reload({
	data: jsonData
});

这样视图中的方法就编写完毕了,接下来编写控制器中的控制流程代码:
在这里插入图片描述

首先,我们查询出来的数据是存放在变量listResult当中的,所以我们要对查询出来的数据进行处理的话就需要从这个变量中把数据给取出来。首先获取总人数,相当于查询出来的数据的总行数:

int totleCount = listResult.Count() == 0 ? 1 : listResult.Count();

在这里用到三目运算,如果数据的总行数等于零,就返回1,否则返回数据的总行数。接下来需要创建一个实体用于存放统计的数据,这个实体类包含了总人数、平均成绩、合格人数、合格比例、不合格人数、不合格比例以及各个分数段的人数及比例:

AchievementStatisticsVo listStatistics = new AchievementStatisticsVo();

然后获取总人数和总成绩,并且计算出平均成绩,如下:
在这里插入图片描述

先获取总人数,然后获取计算出总成绩,并且把总成绩赋值给浮点型的变量sumAchievement,

然后再将总成绩除以总人数获得平均成绩。完成以上步骤后,就计算出合格率这个统计类型的数据:

listStatistics.PassNumber = listResult.Count(m => m.Achievement >= 60);

listStatistics.PassNumberP = (float)listStatistics.PassNumber / totleCount * 100;

合格率是通过将合格人数除以总人数而的到的,所以需要先获得合格人数,然后再除以总人数,由于在视图中创建表头时,已经给存放数据的单元格添加了“%”这个符号,所以需要把合格人数除以总人数而得到的数据乘以一百。不合格率的计算和合格率的做法一样,各分段人数的比例的算法也相差无几,只是在获取人数时的获取条件不一样,获取成绩为100分的人数就是直接跟据“Achievement == 100”这个条件来获取,获取成绩为90分到100分之间的人数的条件就是“Achievement >= 90 && Achievement<100”。剩下的各分段人数获取方法皆是如此。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值