http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 2140|回复: 3

[其他] 老大给个思路。谢谢!数据统计的!

[复制链接]
发表于 2013-12-9 10:11:37 | 显示全部楼层 |阅读模式
本帖最后由 ゞ⑧鸢の翔 于 2013-12-9 10:13 编辑

555555.jpg
要统计收看湖南卫视的用户的个人,如图所示,比如统计00:00-01:00之间收看湖南卫视的人数。怎样防止重复统计啊。
我是先一行中湖南卫视收看的次数,若大于0,则用户数加1,可是统计都不对。应该是重复统计了。
[Bash shell] 纯文本查看 复制代码
 for (int i = 0; i <= dt.Rows.Count - 1; i++)
            {
                bool flag = true;               //统计收看次数
                for (int j = TimeStart; j<= TimeEnd && flag;j++)
                {
                    switch (dt.Rows[i][j].ToString())
                    {
                        #region
                        case "CCTV-1": Channel_1[0]++; break;
                        case "CCTV-2": Channel_1[1]++; break;
                        case "CCTV-3": Channel_1[2]++; break;
                        case "CCTV-4": Channel_1[3]++; break;
                        case "CCTV-5": Channel_1[4]++; break;
                        case "CCTV-6": Channel_1[5]++; break;
                        case "CCTV-7": Channel_1[6]++; break;
                        case "CCTV-8": Channel_1[7]++; break;
                        case "CCTV-9": Channel_1[8]++; break;
                        case "浙江卫视": Channel_1[9]++; break;
                        case "东方卫视": Channel_1[10]++; break;
                        case "安徽卫视": Channel_1[11]++; break;
                        case "北京卫视": Channel_1[12]++; break;
                        case "辽宁卫视": Channel_1[13]++; break;
                        case "山东卫视": Channel_1[14]++; break;
                        case "天津卫视": Channel_1[15]++; break;
                        case "宁夏卫视": Channel_1[16]++; break;
                        case "河南卫视": Channel_1[17]++; break;
                        case "湖北卫视": Channel_1[18]++; break;
                        case "四川卫视": Channel_1[19]++; break;
                        case "江西卫视": Channel_1[20]++; break;
                        case "贵州卫视": Channel_1[21]++; break;
                        case "广东卫视": Channel_1[22]++; break;
                        case "吉林卫视": Channel_1[23]++; break;
                        case "河北卫视": Channel_1[24]++; break;
                        case "重庆卫视": Channel_1[25]++; break;
                        case "广西卫视": Channel_1[26]++; break;
                        default: break;
                        #endregion
                    }                    
                    if (j == TimeEnd)
                    {
                        flag = false; break;
                    }
                }[/i][i]//统计人数【这里不对】
                if (flag==false)
                {
                    for (int k = 0; k < 27; k++)
                    {
                        if (Channel_1[k] > 0)
                        {
                            PerChannelUsers[k]++;
                        }
                        else
                        {

                        }
                    }
                }

谢谢!



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2013-12-9 10:47:50 | 显示全部楼层
不对是什么效果统计的多是吗?你有没有调试看看怎么执行的。
if (flag==false)不需要这个,先都统计,最后直接去一下重复就行了吧,先把数据原中的用户去重复,然后不再进行统计。数据源中如果是一张表,可以直接查出来不重复的用户。建议用Sql语句成这样效率高
 楼主| 发表于 2013-12-9 16:17:32 | 显示全部楼层
站长苏飞 发表于 2013-12-9 10:47
不对是什么效果统计的多是吗?你有没有调试看看怎么执行的。
if (flag==false)不需要这个,先都统计,最 ...

[backcolor=white !important]
[C#] 纯文本查看 复制代码
          [/font][/backcolor]
[backcolor=white !important][font=Consolas,]if (flag==false)
               {
                   for (int k = 0; k < 27; k++)
                   {
                       if (Channel_1[k] > 0)
                       {
                           PerChannelUsers[k]++;[/font][/backcolor]
[backcolor=white !important][font=Consolas,]                         // 【[color=#000]Channel_1[k]=0;[/color][backcolor=white]】少了这一句花了好几个小时找问题。。。。。[/backcolor][/font][/backcolor]
[backcolor=white !important][font=Consolas,]                       }
                       else
                       {
 
                       }
                   }
               }

[backcolor=white !important]看来调试工作很重要啊!{:soso_e113:}

发表于 2013-12-9 16:27:09 | 显示全部楼层
有问题第一时间先调试,大部分问题要吧通过调试来解决
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-6-9 22:41

© 2014-2021

快速回复 返回顶部 返回列表