Foxtable(狐表)用户栏目专家坐堂 → [求助]统计汇总


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

主题:[求助]统计汇总

帅哥哟,离线,有人找我吗?
一只田鸡
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:33 积分:379 威望:0 精华:0 注册:2018/8/28 16:39:00
[求助]统计汇总  发帖心情 Post By:2019/1/14 9:08:00 [显示全部帖子]

请教各位老师,

如果我想根据开奖号码分布列,统计各种排列出现的次数,该怎么设置汇总模式,或者怎么写按钮代码呀
统计结果按次数从多到少排列。


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2019/1/14 9:33:09编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
一只田鸡
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:33 积分:379 威望:0 精华:0 注册:2018/8/28 16:39:00
  发帖心情 Post By:2019/1/14 9:54:00 [显示全部帖子]

请问老师 这些代码有案例吗

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


加好友 发短信
等级:婴狐 帖子:33 积分:379 威望:0 精华:0 注册:2018/8/28 16:39:00
  发帖心情 Post By:2019/1/14 10:12:00 [显示全部帖子]

以下是引用有点甜在2019/1/14 9:43:00的发言:

参考

 

Dim ls As new List(Of String)
Dim dt As Table = Tables("表A")
For Each dc As Col In dt.Cols
    If dc.Caption.StartsWith("第") Then
        ls.add(dc.name)
    End If
Next
Dim ary1(ls.count-1) As Double
Dim ary2 = ls.ToArray
For i As Integer = 0 To ary2.length-1
    ary1(i) = dt.compute("count(_Identify)", ary2(i) & " is not null")
Next
array.sort(ary1, ary2)
For i As Integer = 0 To ary2.length-1
    dt.Cols(ary2(i)).Move(0)
Next


有点看不懂,甜老师能不能给个例子 或者 帮忙修改一下呀图片点击可在新窗口打开查看,先谢谢老师。

比如说,点击按钮后,显示 1 2 4 7 10出现次数:1 

   1 2 4 5 8 出现次数:1

......

[此贴子已经被作者于2019/1/14 10:17:39编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
一只田鸡
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:33 积分:379 威望:0 精华:0 注册:2018/8/28 16:39:00
  发帖心情 Post By:2019/1/14 10:46:00 [显示全部帖子]

以下是引用有点甜在2019/1/14 10:35:00的发言:
上传具体项目测试。
好的老师。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:11选5新.foxdb

[此贴子已经被作者于2019/1/14 14:28:23编辑过]

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


加好友 发短信
等级:婴狐 帖子:33 积分:379 威望:0 精华:0 注册:2018/8/28 16:39:00
  发帖心情 Post By:2019/1/14 11:39:00 [显示全部帖子]

以下是引用有点甜在2019/1/14 11:21:00的发言:

这个意思?

 

Dim dt As Table = Tables("information")
Dim dic As new Dictionary(of String, Integer)
For Each r As Row In dt.Rows
    Dim ary() As String = {r("开奖号码_A"),r("开奖号码_B"), r("开奖号码_C"), r("开奖号码_D"), r("开奖号码_E")}
    array.sort(ary)
    Dim str = String.Join(",", ary)
    If dic.ContainsKey(str) = False Then
        dic.Add(str, 1)
    Else
        dic(str) += 1
    End If
Next
Dim ary1(dic.Keys.count-1) As String
Dim ary2(dic.Keys.count-1) As Integer
Dim i As Integer = 0
For Each key As String In dic.Keys
    ary1(i) = key
    ary2(i) = dic(key)
    i += 1
Next
array.sort(ary2, ary1)
For i = ary2.length-1 To 0 Step -1
    output.show(ary1(i) & ":" & ary2(i))
Next


上面代码我在本机运行,没反应。


其实就是像下图,我想统计出开奖号码分布列(11列)里各种组合出现的次数,

比如下图,统计结果就是:

1 2 3 4 5 出现4次,

2 3 4 5 6出现2次,

1 2 7 8 9出现1次


图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
一只田鸡
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:33 积分:379 威望:0 精华:0 注册:2018/8/28 16:39:00
  发帖心情 Post By:2019/1/14 16:04:00 [显示全部帖子]

以下是引用有点甜在2019/1/14 11:50:00的发言:

output.show,显示在命令窗口里面的

 

http://www.foxtable.com/webhelp/scr/2642.htm

 

谢谢甜老师

再麻烦老师一下,怎么把output.show的内容,放到一个表上显示呀


我现在只会用messagebox.show显示前几的数据,


array.sort(ary2, ary1)

i = ary2.length-1

messagebox.show(ary1(i) & "出现次数:" & ary2(i) _

& Chr(9) & ary1(i-1) & "出现次数:" & ary2(i-1) _

...

& Chr(13) & ary1(i-8) & "出现次数:" & ary2(i-8) _

& Chr(9) & ary1(i-9) & "出现次数:" & ary2(i-9) ,"出现次数前十的组合")


现在要把前200的数据放到一个新窗口上显示,我要做那些设置呀。


array.sort(ary2, ary1)

For i = ary2.length-1 To ary2.length-200 Step -1

    output.show(ary1(i) & ":" & ary2(i))

Next

[此贴子已经被作者于2019/1/14 16:11:54编辑过]

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


加好友 发短信
等级:婴狐 帖子:33 积分:379 威望:0 精华:0 注册:2018/8/28 16:39:00
  发帖心情 Post By:2019/1/15 11:37:00 [显示全部帖子]

谢谢甜老师图片点击可在新窗口打开查看

 回到顶部