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


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

主题:统计问题

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


加好友 发短信
等级:童狐 帖子:288 积分:2404 威望:0 精华:0 注册:2017/6/19 23:37:00
统计问题  发帖心情 Post By:2017/8/8 15:47:00 [只看该作者]

有表入附件一,表名“临时表”, 运行如下代码 Dim g As new CrossTableBuilder("统计", DataTables("临时表")) g.HGroups.AddDef("地区") g.VGroups.AddDef("sku型号") g.Totals.AddDef("运费",AggregateEnum.Min) g.build() MainTable = Tables("统计2") 可以得到名为“临时”的统计表,列出某个sku运到某个省的最低运费。 但我希望在"临时“表多加一列,能够显示出最低运费对应的快递。入附件,《目标表》所示,该如何操作呀? 谢谢
图片点击可在新窗口打开查看此主题相关图片如下:snip20170808_2.jpg
图片点击可在新窗口打开查看

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

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

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


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

要用代码生成表格。

 

Dim dtb As New DataTableBuilder("统计")
Dim dt As DataTable = DataTables("表A")
dtb.AddDef("地区", Gettype(String), 16)
Dim prds As List(of String) = dt.GetValues("型号")
For Each prd As String In prds
    dtb.AddDef(prd & "_最低运费", Gettype(Double))
    dtb.AddDef(prd & "_最低快递", Gettype(string))
Next
dtb.Build()
For Each cus As String In dt.GetValues("地区")
    Dim dr As DataRow = DataTables("统计").AddNew()
    dr("地区") = cus
    For Each prd As String In prds
        dr(prd & "_最低运费") = dt.Compute("min(费用)","地区 = '" & cus & "' And 型号 = '" & prd & "'")
        dr(prd & "_最低快递") = dt.GetComboListString("快递", "地区 = '" & cus & "' And 型号 = '" & prd & "' and 费用 = " & dr(prd & "_最低运费"))
    Next
Next
MainTable= Tables("统计")


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


加好友 发短信
等级:童狐 帖子:288 积分:2404 威望:0 精华:0 注册:2017/6/19 23:37:00
  发帖心情 Post By:2017/8/8 16:40:00 [只看该作者]

大神,最后俩句代码中为什么有"\"这个符号?这个符号平时代码里没怎么用的好像

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


加好友 发短信
等级:童狐 帖子:288 积分:2404 威望:0 精华:0 注册:2017/6/19 23:37:00
  发帖心情 Post By:2017/8/8 16:56:00 [只看该作者]

不好意思,是打印出来的问题,打印出来有“\”符号

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


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

以下是引用jackchan120925在2017/8/8 16:56:00的发言:
不好意思,是打印出来的问题,打印出来有“\”符号

 

指哪里?如果还有问题,截图说明下。


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


加好友 发短信
等级:童狐 帖子:288 积分:2404 威望:0 精华:0 注册:2017/6/19 23:37:00
  发帖心情 Post By:2017/8/8 19:38:00 [只看该作者]

已经解决,应该是我格式设置问题,非常感谢

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


加好友 发短信
等级:童狐 帖子:288 积分:2404 威望:0 精华:0 注册:2017/6/19 23:37:00
  发帖心情 Post By:2017/8/9 12:49:00 [只看该作者]

请问下,之前已将把最便宜的快递费和快递名称提取出来了,有办法把第二便宜的快递费和对应的快递名称统计出来吗?入下图所示的格式。非常感谢!
图片点击可在新窗口打开查看此主题相关图片如下:snip20170809_9.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2017/8/9 12:49:53编辑过]

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


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

Dim dtb As New DataTableBuilder("统计")
Dim dt As DataTable = DataTables("表A")
dtb.AddDef("地区", Gettype(String), 16)
Dim prds As List(of String) = dt.GetValues("型号")
For Each prd As String In prds
    dtb.AddDef(prd & "_最低运费", Gettype(Double))
    dtb.AddDef(prd & "_最低快递", Gettype(String))
    dtb.AddDef(prd & "_次最低运费", Gettype(Double))
    dtb.AddDef(prd & "_次最低快递", Gettype(String))
Next
dtb.Build()
For Each cus As String In dt.GetValues("地区")
    Dim dr As DataRow = DataTables("统计").AddNew()
    dr("地区") = cus
    For Each prd As String In prds
        dr(prd & "_最低运费") = dt.Compute("min(费用)","地区 = '" & cus & "' And 型号 = '" & prd & "'")
        dr(prd & "_最低快递") = dt.GetComboListString("快递", "地区 = '" & cus & "' And 型号 = '" & prd & "' and 费用 = " & dr(prd & "_最低运费"))
        Dim fdr As DataRow = dt.find("地区 = '" & cus & "' And 型号 = '" & prd & "'", "费用", 1)
        If fdr IsNot Nothing Then
            dr(prd & "_次最低运费") = fdr("费用")
            dr(prd & "_次最低快递") = dt.GetComboListString("快递", "地区 = '" & cus & "' And 型号 = '" & prd & "' and 费用 = " & fdr("费用"))
        End If
    Next
Next
MainTable= Tables("统计")

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


加好友 发短信
等级:童狐 帖子:288 积分:2404 威望:0 精华:0 注册:2017/6/19 23:37:00
  发帖心情 Post By:2017/8/9 22:06:00 [只看该作者]

非常感谢

 回到顶部