Foxtable(狐表)用户栏目专家坐堂 → 甜哥帮我一下


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

主题:甜哥帮我一下

帅哥,在线噢!
有点蓝
  31楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106688 积分:542629 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/12/10 22:58:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目6(1).zip


 回到顶部
美女呀,离线,留言给我吧!
yfy13338431925
  32楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:512 积分:4492 威望:0 精华:0 注册:2018/12/5 23:10:00
  发帖心情 Post By:2018/12/10 23:00:00 [只看该作者]


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

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


加好友 发短信
等级:超级版主 帖子:106688 积分:542629 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/12/10 23:08:00 [只看该作者]

看31楼

 回到顶部
美女呀,离线,留言给我吧!
yfy13338431925
  34楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:512 积分:4492 威望:0 精华:0 注册:2018/12/5 23:10:00
  发帖心情 Post By:2018/12/10 23:11:00 [只看该作者]

值您已经算出来了,就是没有对应到列上,最后一步就是把温落差的列从大到小从左向右排序,


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


加好友 发短信
等级:狐神 帖子:4633 积分:33809 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2018/12/11 8:10:00 [只看该作者]

18楼的结果没错

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/11 8:56:00 [只看该作者]

以下是引用yfy13338431925在2018/12/10 23:11:00的发言:

值您已经算出来了,就是没有对应到列上,最后一步就是把温落差的列从大到小从左向右排序,

 

参考8楼的代码。你要学会看代码和运用代码啊,不是每一个功能都要别人帮你做好的啊。不然下次、下下次还要依照你的公式帮你计算?

 

[此贴子已经被作者于2018/12/11 8:56:09编辑过]

 回到顶部
美女呀,离线,留言给我吧!
yfy13338431925
  37楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:512 积分:4492 威望:0 精华:0 注册:2018/12/5 23:10:00
  发帖心情 Post By:2018/12/11 10:19:00 [只看该作者]

甜哥,这次你先帮帮我,我还是想要你做的那种,有点蓝做的也可以迂回用,但没你那种看起来更好更专业

我也试着做做看


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


加好友 发短信
等级:狐神 帖子:4633 积分:33809 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2018/12/11 10:32:00 [只看该作者]

这是一种生成临时表的方法,参考一下。
Dim jb As New SQLJoinTableBuilder("查询表1","脱毒马铃薯培养基15x14正交试验数据")
jb.AddCols("培养基编号")
Dim lst As new List(of String)
For i As Integer = 1 To 14
    jb.AddCols("Val(培养皿_" & i & ") As 培养皿_" & i)
    lst.add("Val(培养皿_" & i & ")/14")
Next
jb.AddCols(String.join("+",lst.ToArray) & " as 均值")
jb.Filter = "培养基编号 not in( '平均群落','温落比','显著性描述')"

Dim jb1 As New SQLJoinTableBuilder("查询表1","脱毒马铃薯培养基15x14正交试验数据")
jb1.AddCols("'平均群落' as 培养基编号")
lst.Clear
For i As Integer = 1 To 14
    jb1.AddCols("Sum(Val(培养皿_" & i & "))/15 As 培养皿_" & i)
    lst.add("Sum(Val(培养皿_" & i & "))/14")
Next
jb1.AddCols(String.join("+",lst.ToArray) & " as 均值")
jb1.Filter = "培养基编号 not in( '平均群落','温落比','显著性描述')"
jb.Union(jb1)
jb.Build()

Dim dr As DataRow = DataTables("查询表1").DataRows(DataTables("查询表1").DataRows.Count-1)
Dim lsts As new List(of Double)
For i As Integer = 1 To 14
    lsts.add((dr("均值")/dr("培养皿_" & i))/15)
Next
dr("均值") = Nothing
lsts.sort
lsts.Reverse
dr = DataTables("查询表1").AddNew
For i As Integer = 1 To 14
    dr("培养皿_" & i ) = lsts(i-1)
Next
dr("培养基编号") = "温落比"
Tables("查询表1").AutoSizeCols
MainTable = Tables("查询表1")
[此贴子已经被作者于2018/12/11 10:32:11编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/11 10:51:00 [只看该作者]

参考代码,细节自己调整

 

Dim t As Table = Tables("脱毒马铃薯培养基15x14正交试验数据")
t.DataTable.DeleteFor("培养基编号 in ('平均群落', '温落比')")
Dim ary(t.Rows.count-1) As Double
Dim ii As Integer = 0
For Each r As Row In t.Rows
    Dim sum1 As Double = 0
    Dim count1 As Double = 0
    For Each c As Col In t.Cols
        If c.name.StartsWith("培养皿_") Then
            sum1 += val(r(c.name))
            count1 += 1
        End If
    Next
    r("均值") = sum1 / count1
    ary(ii) = sum1 / count1
    ii += 1
Next
Dim nr1 = t.AddNew
nr1("培养基编号") = "平均群落"
Dim nr2 = t.AddNew
nr2("培养基编号") = "温落比"
For Each c As Col In t.Cols
    If c.name.StartsWith("培养皿_") Then
        Dim sum1 As Double = 0
        Dim count1 As Double = 0
        For Each r As Row In t.Rows
            If r("培养基编号") <> "平均群落" AndAlso r("培养基编号") <> "温落比" Then
                sum1 += val(r(c.name))
                count1 += 1
            End If
        Next
        nr1(c.name) = sum1 / count1
        Dim sum As Double = 0
        For Each a As Double In ary
            sum += a / (sum1 / count1)
        Next
        nr2(c.name) = format(sum / ary.length, "0.0000")
    End If
Next

Dim ls As new List(Of String)
Dim dt As Table = Tables("脱毒马铃薯培养基15x14正交试验数据")
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) = val(nr2(ary2(i)))
Next
array.sort(ary1, ary2)
For i As Integer = 0 To ary2.length-1
    dt.Cols(ary2(i)).Move(1)
    If val(nr2(ary2(i))) > 0.8 Then
        nr2(ary2(i)) = nr2(ary2(i)).trim("*") & "**"
    End If
Next

 


 回到顶部
美女呀,离线,留言给我吧!
yfy13338431925
  40楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:512 积分:4492 威望:0 精华:0 注册:2018/12/5 23:10:00
  发帖心情 Post By:2018/12/11 12:43:00 [只看该作者]

高手好多啊,谢谢大家帮助

 回到顶部
总数 61 上一页 1 2 3 4 5 6 7 下一页