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


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

主题:[求助]统计汇总

帅哥哟,离线,有人找我吗?
一只田鸡
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/14 16: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 t As Table = Tables("表A")
t.StopRedraw
t.DataTable.DataRows.Clear
For Each key As String In dic.Keys
    Dim nr As DataRow = t.DataTable.addnew
    nr("第一列") = key
    nr("第二列") = dic(key)
Next
t.ResumeRedraw
t.sort = "第二列 desc"

 回到顶部
帅哥哟,离线,有人找我吗?
小小白
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:6 积分:101 威望:0 精华:0 注册:2019/1/15 9:41:00
  发帖心情 Post By:2019/1/15 10:07:00 [只看该作者]

以下是引用有点甜在2019/1/14 16: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 t As Table = Tables("表A")
t.StopRedraw
t.DataTable.DataRows.Clear
For Each key As String In dic.Keys
    Dim nr As DataRow = t.DataTable.addnew
    nr("第一列") = key
    nr("第二列") = dic(key)
Next
t.ResumeRedraw
t.sort = "第二列 desc"
老师你好,我是个新手,请教一下,如果我想统计4位数组合出现的次数,上面的代码要怎么修改呀
例如这个表

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看
想要显示2,3,4,5   6次
   1,2,3,4   4次
   1,3,4,5   4次
       2,3,4,6   2次
           3,4,5,6  2次
   1,2,7,8 1次   
   1,2,7,9 1次
   2,7,8,9   1次
我用合并数组的方法,行不通图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/15 10:32: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")}
    For Each s As String In ary
        Dim ary1(3) As String
        Dim i As Integer = 0
        For Each s1 As String In ary
            If s <> s1 Then
                ary1(i) = s1
                i+=1
            End If
        Next
        array.sort(ary1)
        Dim str = String.Join(",", ary1)
        If dic.ContainsKey(str) = False Then
            dic.Add(str, 1)
        Else
            dic(str) += 1
        End If
    Next
Next
Dim t As Table = Tables("表A")
t.StopRedraw
t.DataTable.DataRows.Clear
For Each key As String In dic.Keys
    Dim nr As DataRow = t.DataTable.addnew
    nr("第一列") = key
    nr("第二列") = dic(key)
Next
t.ResumeRedraw
t.sort = "第二列 desc"

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


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

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

 回到顶部
帅哥哟,离线,有人找我吗?
小小白
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:6 积分:101 威望:0 精华:0 注册:2019/1/15 9:41:00
  发帖心情 Post By:2019/1/15 11:37:00 [只看该作者]

以下是引用有点甜在2019/1/15 10:32:00的发言:
    For Each s As String In ary
        Dim ary1(3) As String
        Dim i As Integer = 0
        For Each s1 As String In ary
            If s <> s1 Then
                ary1(i) = s1
                i+=1
            End If
        Next
        array.sort(ary1)
        Dim str = String.Join(",", ary1)
        If dic.ContainsKey(str) = False Then
            dic.Add(str, 1)
        Else
            dic(str) += 1
        End If
    Next
Next

谢谢老师。我想再显示一个3位数组合的次数,上面这段代码要怎么修改呀,我自己改不出来图片点击可在新窗口打开查看  把Ary(3)改成 Ary(2),显示“索引超出数组界限”


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/15 12:12: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")}
    For i As Integer = 0 To ary.length-1
        For j As Integer = i+1 To ary.length-1
            For k As Integer = j+1 To ary.length-1
                Dim ary1() As String = {ary(i), ary(j), ary(k)}
                array.sort(ary1)
                Dim str = String.Join(",", ary1)
                If dic.ContainsKey(str) = False Then
                    dic.Add(str, 1)
                Else
                    dic(str) += 1
                End If
            Next
        Next
    Next
Next
Dim t As Table = Tables("表A")
t.StopRedraw
t.DataTable.DataRows.Clear
For Each key As String In dic.Keys
    Dim nr As DataRow = t.DataTable.addnew
    nr("第一列") = key
    nr("第二列") = dic(key)
Next
t.ResumeRedraw
t.sort = "第二列 desc"

 回到顶部
帅哥哟,离线,有人找我吗?
小小白
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:6 积分:101 威望:0 精华:0 注册:2019/1/15 9:41:00
  发帖心情 Post By:2019/1/15 15:59:00 [只看该作者]

厉害了,谢谢老师指点。

 回到顶部
总数 18 上一页 1 2