免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3227 | 回复: 7
打印 上一主题 下一主题

请教,数据收集统计 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-03-13 20:53 |只看该作者 |倒序浏览
由于很长时间没有用perl了,工作也和编程不沾边,perl 忘记的厉害,自己写了很长时间没写出来。想来想去还是用二维数组比较好,还来请大神帮忙。
由以下两段,进行数据收集,然后进行汇总,得出第三段的结果。即各项数据一一相加,百分比的大神就可以忽略,后续我来做修改。

襄阳一部3月11日
今日实际申请14件
批款1件10万
通过1件 拒绝7件 通过率12%
签约8万
累计申请96件
累计签约放款80万
待签15万
签约达成率13%
当前人力55人
开单10人 开单率18%
明日预计申请12件


宜昌一部3月11日
今日实际申请7件
批款1件4万
通过1件 拒绝4件 通过率20%
签约7.6万
累计申请38件
累计签约放款42.8万
待签11万
签约达成率6.9%
当前人力40人
开单9人 开单率22.5%
明天预计申请10件



分中心3月11日
今日实际申请21件
批款2件14万
通过2件 拒绝11件 通过率15%
签约15.6万
累计申请134件
累计签约放款122.8万
待签26万
签约达成率10.5%
当前人力95人
开单19人 开单率20%
明日预计申请22件

论坛徽章:
0
2 [报告]
发表于 2016-03-13 21:33 |只看该作者
如果 大神 想帮到底,那就把 百分比的也写一下,通过率=通过/(通过+拒绝),达成率=签约放款/1170, 开单率=开单/当前人力。
另以后可能加入荆门、荆州等地区数据。
怎么给人积分?

论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
3 [报告]
发表于 2016-03-13 22:06 |只看该作者
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;
  4. use v5.14;

  5. local $/ = '';
  6. my @aStat;
  7. while (<DATA>){
  8.         my @aNums = m/[\d.]++(?!%)/g;
  9.         unless (@aStat){
  10.                 @aStat = @aNums;
  11.         }else{
  12.                 $aStat[$_] += $aNums[$_] foreach (2 .. $#aNums);       
  13.         }
  14. }

  15. say "分中心$aStat[0]月$aStat[1]日";
  16. say "今日实际申请$aStat[2]件";
  17. say "批款$aStat[3]件$aStat[4]万";
  18. printf "通过%d件 拒绝%d件 通过率%.2d%%\n", $aStat[5], $aStat[6], $aStat[5] / ($aStat[5] + $aStat[6]) * 100;
  19. say "签约$aStat[7]万";
  20. say "累计申请$aStat[8]件";
  21. say "累计签约放款$aStat[9]万";
  22. say "待签$aStat[10]万";
  23. printf "签约达成率%.1f%%\n", $aStat[9] / 11.7;
  24. say "当前人力$aStat[11]人";
  25. printf "开单%d人 开单率%d%%\n", $aStat[12], $aStat[12] * 100 / $aStat[11];
  26. say "明日预计申请$aStat[-1]件";
  27. __DATA__
  28. 襄阳一部3月11日
  29. 今日实际申请14件
  30. 批款1件10万
  31. 通过1件 拒绝7件 通过率12%
  32. 签约8万
  33. 累计申请96件
  34. 累计签约放款80万
  35. 待签15万
  36. 签约达成率13%
  37. 当前人力55人
  38. 开单10人 开单率18%
  39. 明日预计申请12件


  40. 宜昌一部3月11日
  41. 今日实际申请7件
  42. 批款1件4万
  43. 通过1件 拒绝4件 通过率20%
  44. 签约7.6万
  45. 累计申请38件
  46. 累计签约放款42.8万
  47. 待签11万
  48. 签约达成率6.9%
  49. 当前人力40人
  50. 开单9人 开单率22.5%
  51. 明天预计申请10件
复制代码
回复 2# jzp520520


   

论坛徽章:
0
4 [报告]
发表于 2016-03-14 11:21 |只看该作者
太感谢大神了,我先好好研究下! 回复 3# sunzhiguolu


   

论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
5 [报告]
发表于 2016-03-14 12:32 |只看该作者
可以用 splice 函数将数组再优化下, 方便输出.

论坛徽章:
0
6 [报告]
发表于 2016-03-14 14:14 |只看该作者
local $/ = ‘’;换成local $/ = "\n\n";也可以,但我就是看不懂local $/ = ‘’;是怎么回事,大神给解释下?回复 5# sunzhiguolu


   

论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
7 [报告]
发表于 2016-03-14 15:52 |只看该作者
回复 6# jzp520520
\n\n => \n\n
''     => \n+

   

论坛徽章:
0
8 [报告]
发表于 2016-03-14 16:38 |只看该作者
谢谢了!还以为要用二维数组呢,这么简洁的一句就解决了,佩服!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP