Foxtable(狐表)用户栏目专家坐堂 → 统计execl表中下级会员账号数量大于30个且下级会员账号多于3层的会员账号数量,统计上述会员账号按照证件号去重后的数量 该怎么操作呢?代码或者sql语句该怎么写呢?


  共有1745人关注过本帖树形打印复制链接

主题:统计execl表中下级会员账号数量大于30个且下级会员账号多于3层的会员账号数量,统计上述会员账号按照证件号去重后的数量 该怎么操作呢?代码或者sql语句该怎么写呢?

帅哥哟,离线,有人找我吗?
李孝春
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
统计execl表中下级会员账号数量大于30个且下级会员账号多于3层的会员账号数量,统计上述会员账号按照证件号去重后的数量 该怎么操作呢?代码或者sql语句该怎么写呢?  发帖心情 Post By:2019/7/9 11:06:00 [只看该作者]

统计execl表中下级会员账号数量大于30个且下级会员账号多于3层的会员账号数量,统计上述会员账号按照证件号去重后的数量
以admin为第一级为例 则要求admin直接推荐的用户要大于30个 且这写会员对应推荐的下级至少要有三层   如admin推荐了张三  张三推荐了李四 李四推荐了王五 王五推荐了麻子  
该怎么操作呢?代码或者sql语句该怎么写呢?

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20190709105852.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:附件2.xls



 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107756 积分:548119 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/9 11:25:00 [只看该作者]

要求admin直接推荐的用户要大于30个 -- 是指推荐人用户名等于admin的有30个?

还是说admin推荐了2个人a和b,a推荐了15人,b推荐了15人,那么admin直接推荐的是算2个人?还是算2+15+15=32?

 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)要求admin直接推荐的用户要大于30个 ...  发帖心情 Post By:2019/7/9 11:37:00 [只看该作者]

要求是admin直接推荐30及以上 符合条件的名单
然后这个名单又有不含本名单在内的下级三层名单
然后这个名单利用证件号码去重后
得到最后数据名单数量及列表

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107756 积分:548119 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/9 11:42:00 [只看该作者]

我现在搞不懂直接推荐是指什么?请回答2楼的问题。

 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)要求admin直接推荐的用户要大于30个 ...  发帖心情 Post By:2019/7/9 12:18:00 [只看该作者]

Excel数据是样本数据,建议导入狐表创建表格数据后操作
遍历整个Excel表格数据  只要任何一级名单满足下列条件,就筛选出来。
1、下级总数等于或大于30    
2、且满足下级下面又存其推荐1,被推荐人1又推荐2,被推荐人2又推荐3及以上,不少于三层会员的名单
3、利用证件号码对所得到的名单去重处理。

目的:从整个Excel表中的全部记录去查找满足这三个条件的数据。

admin推荐了2个人a和b,a推荐了15人,b推荐了15人,那么admin直接推荐的是算2+15+15=32

ab两个人下面又推荐发展了CD CD又推荐发展了ef ef又发展了gh 
[此贴子已经被作者于2019/7/9 12:37:58编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107756 积分:548119 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/9 14:20:00 [只看该作者]

去重怎么处理?

1、a推荐c,b也推荐c(马甲)
2、a推荐b,b也推荐a(马甲)
3、a推荐b,b推荐c, c推荐a(马甲)
4、a推荐b,b推荐c, a(马甲)推荐c
5、a推荐a(马甲)
6、a推荐b,重复了多次
7、a推荐b,b推荐c,c推荐d
     a推荐e,e推荐c的马甲,c推荐f
8、......

去重除非一刀切,只要重复就只取一个,否则无法使用程序判断。

 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)去重怎么处理?1、a推荐c,b也推荐c(...  发帖心情 Post By:2019/7/9 14:58:00 [只看该作者]

去重只需要在前面满足大于三十或者等于三十   且层级等于或者大于三层的数据筛选出来后  再直接用证件号码去重即可

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107756 积分:548119 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/9 16:59:00 [只看该作者]

内部函数:sumchild

Dim yh As String = args(0)
Dim lst As List(of String) = args(1)
Dim level As Integer = args(2)
Dim drs As List(Of DataRow) = DataTables("表A").Select("推荐人用户名='" & yh & "'")
If drs.Count = 0 Then Return level
Dim k As Integer
For Each dr As DataRow In drs
    If dr.IsNull("用户证件号") Then
        lst(0) = val(lst(0)) + 1
    Else
        If lst.Contains(dr("用户证件号")) = False
            lst.Add(dr("用户证件号"))
        End If
        k = Functions.Execute("sumchild",dr("用户名"),lst,level+1)
        If k > level Then level = k
    End If
Next

Return level

命令窗口调用
Dim dtb As New DataTableBuilder("统计")
dtb.AddDef("用户名", Gettype(String), 32)
dtb.AddDef("层次", Gettype(Integer))
dtb.AddDef("计数", Gettype(Integer))
dtb.Build()
MainTable= Tables("统计")

Dim lst As New List(of String)
For Each yh As String In DataTables("表A").GetValues("用户名")
    lst.Clear
    lst.Add("0")
    Dim k = Functions.Execute("sumchild",yh,lst,0)
    If k>=3 AndAlso (val(lst(0)) + lst.Count-1) >= 30
        Dim r As Row = Tables("统计").AddNew
        r("用户名") = yh
        r("层次") = k
        r("计数") = val(lst(0)) + lst.Count-1
    End If
Next


 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)内部函数:sumchildDim yh As String...  发帖心情 Post By:2019/7/9 18:03:00 [只看该作者]

谢谢有点蓝老师
层次是这个用户一共有多少个下级层次么?
计数是这个用户下的所有下级数据么?大于或者等于30的?
图片点击可在新窗口打开查看此主题相关图片如下:数据.png
图片点击可在新窗口打开查看

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107756 积分:548119 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/9 20:08:00 [只看该作者]

是的,自己核对一下

 回到顶部