Foxtable(狐表)用户栏目专家坐堂 → 统计问题


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

主题:统计问题

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


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


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


加好友 发短信
等级:五尾狐 帖子:1011 积分:6507 威望:0 精华:0 注册:2015/2/25 23:14:00
  发帖心情 Post By:2017/3/10 9:00:00 [只看该作者]

老师好,我必须用代码写,下面是分别统计的代码,结果是对的,但是我如何将统计的结果按要求存放以得到所需要的表。

Dim dt As DataTable = DataTables("daytj")
Dim Total As Integer
Dim Customers,Customers2 As List(Of String)
Customers = dt.GetValues("Category")
For Each Customer As String In Customers
    Total = dt.Compute("Sum(Hours)", "[Category] = '" & Customer & "'")
    Output.Show(Customer & ":" & Total)
Next


Dim dt2 As DataTable = DataTables("daytj")
Customers2 = dt2.GetValues("OperationDetail")
For Each Customer2 As String In Customers2
    Total = dt2.Compute("Sum(Hours)", "[OperationDetail] = '" & Customer2 & "'")
    Output.Show(Customer2 & ":" & format(Total,"00.000"))
Next


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


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


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


加好友 发短信
等级:五尾狐 帖子:1011 积分:6507 威望:0 精华:0 注册:2015/2/25 23:14:00
  发帖心情 Post By:2017/3/10 10:44:00 [只看该作者]

老师好,我知道帮助文件里的意思,但是那是手工输入后触发表事件,然后按照帮助里的代码可以分组统计。我的问题是
怎么用代码根据表daytj里的信息自动输入表dayresult的Category列。我的思路是按照筛选的办法输入,但是不对,您看怎么改。

Dim TimeDay1 As DataTable = DataTables("daytj")
Dim TimeDay2 As DataTable = DataTables("Dayresult")
Dim TimeDayrow As DataRow 
Dim nr As DataRow
TimeDayow =DataTables("Dayresult").AddNew()
Tables("daytj").Filter = "[Category] = 'Acquisition'"
Dim Customers,Customers2 As List(Of String)
Customers = TimeDay1.GetValues("Category")
TimeDayrow("Category")=Customers 


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/10 10:52:00 [只看该作者]

Dim TimeDay1 As DataTable = DataTables("daytj")
Dim TimeDay2 As DataTable = DataTables("Dayresult")

For Each c As String In TimeDay1.GetValues("Category")
    Dim ndr As DataRow = timeday2.AddNew
    ndr("Category") = c
next


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


加好友 发短信
等级:五尾狐 帖子:1011 积分:6507 威望:0 精华:0 注册:2015/2/25 23:14:00
  发帖心情 Post By:2017/3/10 11:22:00 [只看该作者]

谢谢老师指导。根据您的指导我更改了一下代码,红色部分得不到结果,代码的意思是根据c的结果再提取不重复的列输入到表Dayresult的Category列。你看怎么改?


Dim TimeDay1 As DataTable = DataTables("daytj")
Dim TimeDay2 As DataTable = DataTables("Dayresult")
For Each c As String In TimeDay1.GetValues("Category")
    Dim ndr As DataRow = timeday2.AddNew
    ndr("Category") = c
   Dim ndr2 As DataRow = timeday2.AddNew
  For Each b As String In TimeDay1.GetValues("OperationDetail","[Category]=' c '")
   output.show(b)
   ndr2("Category") = b
   
  Next

Next

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/10 11:29:00 [只看该作者]

Dim TimeDay1 As DataTable = DataTables("daytj")
Dim TimeDay2 As DataTable = DataTables("Dayresult")
For Each ary As String() In TimeDay1.GetValues("Category|OperationDetail")
    Dim ndr As DataRow = timeday2.AddNew
    ndr("Category") = ary(1)
Next

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


加好友 发短信
等级:五尾狐 帖子:1011 积分:6507 威望:0 精华:0 注册:2015/2/25 23:14:00
  发帖心情 Post By:2017/3/10 14:05:00 [只看该作者]

老师您好,根据您的代码,结合我的虽然达到了目的,但是又超出了要求,应该是下面的输出结果,按照您的多出了许多。
Prime Line Change、Production Prime、Production Infill是属于Acquisition类的。Transit 、Port call是属于Mobilization类的,client equest、Weather、float是属于Standby类的,Noise、source、Nav system是属于Downtime类的。下面的是我的要的目标。


For Each b As String In TimeDay1.GetValues("OperationDetail","[Category]=' c '"),这句话的比较符合我的要求,但是[Category]=' c '该如何改?因为c是一个集合,改成一个动态表达式。


Acquisition
Prime Line Change
Production Prime
Production Infill
Mobilization
Transit 
Port call
Standby
client equest
Weather
float
Downtime
Noise
source
Nav system

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/10 17:00:00 [只看该作者]

Dim TimeDay1 As DataTable = DataTables("daytj")
Dim TimeDay2 As DataTable = DataTables("Dayresult")
For Each c As String In TimeDay1.GetValues("Category")
    Dim ndr As DataRow = timeday2.AddNew
    ndr("Category") = c
    Dim ndr2 As DataRow = timeday2.AddNew
    For Each b As String In TimeDay1.GetValues("OperationDetail","[Category]='" & c & "'")
        ndr2("Category") = b
    Next
Next

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


加好友 发短信
等级:五尾狐 帖子:1011 积分:6507 威望:0 精华:0 注册:2015/2/25 23:14:00
  发帖心情 Post By:2017/3/10 18:30:00 [只看该作者]

老师好,按照您的代码执行结果如下,为什么加载的不全?缺少一些,应该加载完整?代码没问题,可结果不是语气的。


Acquisition
Production Prime
Downtime
source
Mobilization
Transit
Standby
Weather

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