Foxtable(狐表)用户栏目专家坐堂 → 转置后的临时表怎么用


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

主题:转置后的临时表怎么用

帅哥哟,离线,有人找我吗?
fytea
  81楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:787 积分:6175 威望:0 精华:0 注册:2015/7/25 19:14:00
  发帖心情 Post By:2018/12/1 12:57:00 [显示全部帖子]


[此贴子已经被作者于2018/12/1 21:31:00编辑过]

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


加好友 发短信
等级:三尾狐 帖子:787 积分:6175 威望:0 精华:0 注册:2015/7/25 19:14:00
  发帖心情 Post By:2018/12/1 14:59:00 [显示全部帖子]


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


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

Dim t As Table = Tables("sp表")
Dim ls1 As new List(Of String)
Dim dt As Table = Tables("sp表")
For Each dc As Col In dt.Cols
    If dc.Caption.StartsWith("p") Then
        ls1.add(dc.name)
    End If
For Each r As Row In t.Rows
    Dim sum As Double = 0 'Double
    For Each c As String In ls1
        If r(c) = 1 Then
            sum + = t.Compute("sum(" & c & ")", "")
        End If
    Next
    Dim sum1 As Double = 1 'Double
    For Each c As String In ls1
        If r(c) = 1 Then
            sum1 + = t.Compute("sum(" & c & ")", "")
        End If
    Next
    r("c1") = sum -sum1
Next
Next


表中S,是学生姓名
[此贴子已经被作者于2018/12/3 10:25:56编辑过]

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


加好友 发短信
等级:三尾狐 帖子:787 积分:6175 威望:0 精华:0 注册:2015/7/25 19:14:00
  发帖心情 Post By:2018/12/2 10:41:00 [显示全部帖子]

甜老师,昨天你不在,有点蓝说出他看不懂,需要你

Dim ls As new List(Of String)
Dim dt As Table = Tables("sp表")
For Each dc As Col In dt.Cols
    If dc.Caption.StartsWith("p") 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("sum(" & ary2(i) & ")")
Next
array.sort(ary1, ary2)
For i As Integer = 0 To ary2.length-1
    Tables("sp表").Cols(ary2(i)).Move(1)
Next
Dim df As Double() = ary1
Dim rs As Integer = 15
Dim hj(rs) As String
For i As Integer = 0 To rs-1
    hj(i) = Tables("sp表").Rows(i)("合计")
Next
hj(rs) = 0
For i As Integer = 0 To ary2.length-1
    Dim idx = array.Indexof(hj, cstr(df.length-i))
    Dim s As Double = math.Abs(ls(i-1)-(idx))
    msgbox(s)
Next


此主题相关图片如下:图片1.png
按此在新窗口浏览图片

[此贴子已经被作者于2018/12/2 10:42:43编辑过]

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


加好友 发短信
等级:三尾狐 帖子:787 积分:6175 威望:0 精华:0 注册:2015/7/25 19:14:00
  发帖心情 Post By:2018/12/3 9:14:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:sp表分析.foxdb

命令在窗口1,D按钮是计算差异量的


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


加好友 发短信
等级:三尾狐 帖子:787 积分:6175 威望:0 精华:0 注册:2015/7/25 19:14:00
  发帖心情 Post By:2018/12/3 10:27:00 [显示全部帖子]

甜老师,149楼你帮我看看

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


加好友 发短信
等级:三尾狐 帖子:787 积分:6175 威望:0 精华:0 注册:2015/7/25 19:14:00
  发帖心情 Post By:2018/12/3 11:16:00 [显示全部帖子]

甜老师,就是求
图片点击可在新窗口打开查看此主题相关图片如下:图片3.png
图片点击可在新窗口打开查看


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


[此贴子已经被作者于2018/12/3 11:16:29编辑过]

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


加好友 发短信
等级:三尾狐 帖子:787 积分:6175 威望:0 精华:0 注册:2015/7/25 19:14:00
  发帖心情 Post By:2018/12/3 22:10:00 [显示全部帖子]

甜老师:s值如何合计

For i As Integer = 1 To ary1.length
    Dim idx = array.Indexof(hj, cstr(ary1.length-i))
    If idx >= 0 Then
        Dim s As Double = math.Abs(ary1(i-1)-(idx))
     End If
Next


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


加好友 发短信
等级:三尾狐 帖子:787 积分:6175 威望:0 精华:0 注册:2015/7/25 19:14:00
  发帖心情 Post By:2018/12/4 11:34:00 [显示全部帖子]

 

老师,不会举一反三啊,如果是找出P线上方0的学生得分,与P线下方1的学生得分呢


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


加好友 发短信
等级:三尾狐 帖子:787 积分:6175 威望:0 精华:0 注册:2015/7/25 19:14:00
  发帖心情 Post By:2018/12/5 12:57:00 [显示全部帖子]

耐点心甜老师,也不能光看不练啊,都是在老师指导下慢慢成长的。

帮我看看下面的问题

Dim ls As new List(Of String)
Dim dt As Table = Tables("sp表")
For Each dc As Col In dt.Cols
    If dc.Caption.StartsWith("p") 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("sum(" & ary2(i) & ")")
Next
array.sort(ary1, ary2)
For i As Integer = 0 To ary2.length-1
    Tables("sp表").Cols(ary2(i)).Move(1)
Next
Tables("sp表").sort = "得分 desc"
    Dim sum1 = 0
    Dim sum2 = 0
    For Each cr As Col In CurrentTable.Cols
    For j As Integer = 0 To ary2.length-1
        If ary2.length-j < cr("ary1") Then
            If cr(ary2(j)) = 0 Then
                sum1 += ary1(j)
            End If
        Else
            If cr(ary2(j)) = 1 Then
                sum2 += ary1(j)
            End If
                    End If
msgbox(sum1)
  
   Next
Next


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


加好友 发短信
等级:三尾狐 帖子:787 积分:6175 威望:0 精华:0 注册:2015/7/25 19:14:00
  发帖心情 Post By:2018/12/5 20:22:00 [显示全部帖子]

甜老师,我没说清楚,上面你做的是s线,我是让你看看我做的

P线上方0的学生得分,与P线下方1的学生得分

错在什么地方

 

Dim ls As new List(Of String)
Dim dt As Table = Tables("sp表")
For Each dc As Col In dt.Cols
    If dc.Caption.StartsWith("p") 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("sum(" & ary2(i) & ")")
Next
array.sort(ary1, ary2)
For i As Integer = 0 To ary2.length-1
    Tables("sp表").Cols(ary2(i)).Move(1)
Next
Tables("sp表").sort = "得分 desc"
    Dim sum1 = 0
    Dim sum2 = 0
    For Each cr As Col In CurrentTable.Cols   ‘遍历当前列是不是有问题?
    For j As Integer = 0 To ary2.length-1  ‘有没有问题?
        If ary2.length-j < cr("ary1") Then  ‘p线上方0的学生得分和
            If cr(ary2(j)) = 0 Then
                sum1 += ary1(j)
            End If
        Else
            If cr(ary2(j)) = 1 Then  ‘p线下方1的学生得分和
                sum2 += ary1(j)
            End If
                    End If

Next

output.show(sum1 & " " & sum2)

      Next


 回到顶部
总数 99 上一页 1 2 3 4 5 6 7 8 9 10 下一页