以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 统计问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=104921)
|
-- 作者:jackchan120925
-- 发布时间: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

|
-- 作者:有点甜
-- 发布时间: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
-- 发布时间:2017/8/8 16:40:00
--
大神,最后俩句代码中为什么有"\\"这个符号?这个符号平时代码里没怎么用的好像
|
-- 作者:jackchan120925
-- 发布时间:2017/8/8 16:56:00
--
不好意思,是打印出来的问题,打印出来有“\\”符号
|
-- 作者:有点甜
-- 发布时间:2017/8/8 17:03:00
--
以下是引用jackchan120925在2017/8/8 16:56:00的发言: 不好意思,是打印出来的问题,打印出来有“\\”符号
指哪里?如果还有问题,截图说明下。
|
-- 作者:jackchan120925
-- 发布时间:2017/8/8 19:38:00
--
已经解决,应该是我格式设置问题,非常感谢
|
-- 作者:jackchan120925
-- 发布时间:2017/8/9 12:49:00
--
请问下,之前已将把最便宜的快递费和快递名称提取出来了,有办法把第二便宜的快递费和对应的快递名称统计出来吗?入下图所示的格式。非常感谢!
此主题相关图片如下:snip20170809_9.png

[此贴子已经被作者于2017/8/9 12:49:53编辑过]
|
-- 作者:有点甜
-- 发布时间: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
-- 发布时间:2017/8/9 22:06:00
--
非常感谢
|