以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]交叉查询 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=28813) |
||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:ruanziming -- 发布时间:2013/2/19 17:14:00 -- [求助]交叉查询 求教lin老师一个问题:下表的3-4行是在交叉查询的时候出现的。我其实想要的是最后一行的格式。A列是水平分组列,是商品名称,垂直分组列是客户名称。统计列是数量,但是这个数量会有不同的计量单位。我采用了&的方式获得了4斤、3个,但是它不能放在统计列,它会计数而不是显示。求教老师有什么办法解决?
|
||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:lin_hailun -- 发布时间:2013/2/19 18:05:00 -- 这种的话,你可以减少 单位 分组进行一次交叉统计,统计结束以后对统计表进行处理,加入单位列,修改对应值。 你上传数据表吧。 |
||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:ruanziming -- 发布时间:2013/2/20 14:06:00 -- 要处理的表是“销售订单汇总总表”,水平分组列为“原料名称”,垂直分组列为“单位简称”,统计列为“订单数量”&“订单单位”(或者“订单数量带单位”) 谢谢老师
|
||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:lin_hailun -- 发布时间:2013/2/20 14:25:00 -- 有一个问题。 如果同一个原料编码,不同的单位,单位简称都有数据,你怎么处理? 例如
|
||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:ruanziming -- 发布时间:2013/2/20 14:28:00 -- 不会有这种情况。A列是商品名称列,abcd是客户。客户和商品都不会有重复。 |
||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:ruanziming -- 发布时间:2013/2/20 14:32:00 -- 重复的情况就再次合并,4斤+2个。偶尔也有这种情况。 |
||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:lin_hailun -- 发布时间: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 -- 发布时间:2013/2/20 15:10:00 -- 谢谢lin老师。 |
||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:ruanziming -- 发布时间:2013/2/20 15:19:00 -- 请老师给个按钮的链接,我学一下。 |
||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:lin_hailun -- 发布时间:2013/2/20 15:40:00 -- 以下是引用ruanziming在2013-2-20 15:19:00的发言: 请老师给个按钮的链接,我学一下。 你直接设计一个窗口,或者设计一个菜单就行了。 http://www.foxtable.com/help/topics/0698.htm |