Foxtable(狐表)用户栏目专家坐堂 → [求助]交叉查询


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

主题:[求助]交叉查询

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


加好友 发短信
等级:幼狐 帖子:87 积分:662 威望:0 精华:0 注册:2013/1/24 15:19:00
[求助]交叉查询  发帖心情 Post By:2013/2/19 17:14:00 [只看该作者]

求教lin老师一个问题:下表的3-4行是在交叉查询的时候出现的。我其实想要的是最后一行的格式。A列是水平分组列,是商品名称,垂直分组列是客户名称。统计列是数量,但是这个数量会有不同的计量单位。我采用了&的方式获得了4斤、3个,但是它不能放在统计列,它会计数而不是显示。求教老师有什么办法解决?
    单位    a  b    c  d   e           
 A     个      2      6            
 A   斤   4      3     5         
                              
 A     4斤    2个   3斤   6个   5斤         

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/2/19 18:05:00 [只看该作者]

 这种的话,你可以减少 单位 分组进行一次交叉统计,统计结束以后对统计表进行处理,加入单位列,修改对应值。

 你上传数据表吧。

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


加好友 发短信
等级:幼狐 帖子:87 积分:662 威望:0 精华:0 注册:2013/1/24 15:19:00
  发帖心情 Post By:2013/2/20 14:06:00 [只看该作者]

要处理的表是“销售订单汇总总表”,水平分组列为“原料名称”,垂直分组列为“单位简称”,统计列为“订单数量”&“订单单位”(或者“订单数量带单位”)


谢谢老师
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目5.rar


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/2/20 14:25:00 [只看该作者]

有一个问题。

如果同一个原料编码,不同的单位,单位简称都有数据,你怎么处理?

例如


 单位    a  b    c  d   e           
 A     个      2      6            
 A   斤   4   4   3   6  5


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


加好友 发短信
等级:幼狐 帖子:87 积分:662 威望:0 精华:0 注册:2013/1/24 15:19:00
  发帖心情 Post By:2013/2/20 14:28:00 [只看该作者]

不会有这种情况。A列是商品名称列,abcd是客户。客户和商品都不会有重复。


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


加好友 发短信
等级:幼狐 帖子:87 积分:662 威望:0 精华:0 注册:2013/1/24 15:19:00
  发帖心情 Post By:2013/2/20 14:32:00 [只看该作者]

重复的情况就再次合并,4斤+2个。偶尔也有这种情况。

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/2/20 15:07:00 [只看该作者]

 做一个按钮,把这段代码执行一下就行了。

Dim dt As DataTable = DataTables("销售订单汇总总表")

Dim dtb As New DataTableBuilder("分货表")
dtb.AddDef("原料编码", Gettype(String), 32)
For Each col As String In dt.GetUniqueValues("", "单位简称")
    dtb.AddDef(col, Gettype(String), 8)
Next
dtb.Build()

Dim t As Table = Tables("分货表")
For Each ylbm As String In dt.GetUniqueValues("", "原料编码")
    Dim r As Row = t.AddNew
    r("原料编码") = ylbm
    For i As Integer = 1 To t.Cols.Count - 1
        Dim colName As String = t.Cols(i).Name
        Dim filter As String = "原料编码 = '" & r("原料编码") & "' And 单位简称 = '" & colName & "'"
        Dim data As String = ""
        For Each dw As String In dt.GetUniqueValues(filter, "订单单位")
            data &= dt.Compute("Sum(订单数量)", filter & " And 订单单位 = '" & dw & "'") & dw & "+"
        Next
        r(colName) = data.Trim("+")
    Next
Next

MainTable = t

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


加好友 发短信
等级:幼狐 帖子:87 积分:662 威望:0 精华:0 注册:2013/1/24 15:19:00
  发帖心情 Post By:2013/2/20 15:10:00 [只看该作者]

谢谢lin老师。


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


加好友 发短信
等级:幼狐 帖子:87 积分:662 威望:0 精华:0 注册:2013/1/24 15:19:00
  发帖心情 Post By:2013/2/20 15:19:00 [只看该作者]

请老师给个按钮的链接,我学一下。

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/2/20 15:40:00 [只看该作者]

以下是引用ruanziming在2013-2-20 15:19:00的发言:
请老师给个按钮的链接,我学一下。


你直接设计一个窗口,或者设计一个菜单就行了。

http://www.foxtable.com/help/topics/0698.htm

 回到顶部