Foxtable(狐表)用户栏目专家坐堂 → 设计统计公式


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

主题:设计统计公式

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


加好友 发短信
等级:童狐 帖子:299 积分:1939 威望:0 精华:0 注册:2011/3/9 18:17:00
设计统计公式  发帖心情 Post By:2011/3/10 15:50:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:外发材料.table

在时间段内按客户名称统计不同品名的数量(品名1-品名8)

谢谢师傅!


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/3/10 16:14:00 [只看该作者]

直接通过代码统计的话,这样:

 

Dim g As New GroupTableBuilder("统计表1", DataTables("材料交货"))
g.Groups.AddDef("客户名称")
g.Totals.AddDef("数量1", "品名1")
g.Totals.AddDef("数量2", "品名2")
g.Totals.AddDef("数量3", "品名3")
g.Totals.AddDef("数量4", "品名4")
g.Totals.AddDef("数量5", "品名5")
g.Totals.AddDef("数量6", "品名6")
g.Totals.AddDef("数量7", "品名7")
g.Totals.AddDef("数量8", "品名8")
g.Build()
MainTable = Tables("统计表1")

 

其实可以用菜单中的分组统计命令直接统计。

另:数量6应该改为数值型

 

 

 

[此贴子已经被作者于2011-3-10 16:13:54编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/3/10 16:20:00 [只看该作者]

其实不用公式的,这种统计直接通过菜单就可以实现,你还可以将设置保存下来,以后只需在菜单中单击一个命令,即可自动完成上述统计。

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


加好友 发短信
等级:童狐 帖子:299 积分:1939 威望:0 精华:0 注册:2011/3/9 18:17:00
  发帖心情 Post By:2011/3/10 16:58:00 [只看该作者]

师傅你好:

统计的内容是按客户名称统计品名1-品名8列中不同类型的数量

具体格式:

客户名称 全木盘 铁木盘 等.......


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/3/10 17:03:00 [只看该作者]

你把你要的统计表格式设计好传上来看看。

你的数据表设计得不太规范,这样无法通过菜单统计,只能写代码。

向这样的结构,可能用关联表解决比较恰当,就像订单表和订单明细表的关系。


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


加好友 发短信
等级:童狐 帖子:299 积分:1939 威望:0 精华:0 注册:2011/3/9 18:17:00
  发帖心情 Post By:2011/3/10 17:47:00 [只看该作者]

师傅你好:我是易表注册用户,看到狐表界面比易表美观,就想换一个,具体不知道灵活性怎样。

上表是在易表上做的,具体就是品名1至品名8列中不同的类型名称反映在标题栏,按客户名称进行统计。

易表的统计公式是:If(Text([%开始日期%])="" Or Text([%结束日期%])="","",SingleFill("送货交接单","客户名称","客户名称","送货日期"," >= ",[%开始日期%],"送货日期"," <= ",[%结束日期%]) And Do(395) And Subtotal("","铁木盘,全木盘,胶木盘,多层板盘,瓦楞盘,平板盘,高速盘,铁盘片,木盘片,木条,芯条,封条,木板,木箱料,木板料,扇形板,三角木,木方子,包装箱,木托架,床架板,货架板,办公桌,更衣橱,工具橱,小方櫈,四方桌,角铁,钢管,情型钢,角铁料,铁板,垫铁,拉丝光元,铁圈,内圈,支撑,螺母,弹垫,垫片,母垫,毛巾,手套,香皂,洗衣粉,电焊手套,安全帽,油漆,锯片,刨刀,条帚,扫帚,畚箕,刀具,工作服,工作鞋,防毒口罩,口罩,轴承,轴套,三角带,割枪,割咀,气管,白玻璃,镜片,桶身,螺栓,铁修理桌,铁桌子,地沟盖板,总计","2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2"))


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


加好友 发短信
等级:童狐 帖子:299 积分:1939 威望:0 精华:0 注册:2011/3/9 18:17:00
  发帖心情 Post By:2011/3/10 17:51:00 [只看该作者]

通过这张表可以设置一张送货单


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/3/10 18:06:00 [只看该作者]

易表的长处在“易”,要说灵活,Foxtable要比易表灵活得多。

这样的统计,事先设计好统计表和动态生成统计表,是完全不同的。

 

 


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


加好友 发短信
等级:童狐 帖子:299 积分:1939 威望:0 精华:0 注册:2011/3/9 18:17:00
  发帖心情 Post By:2011/3/10 18:16:00 [只看该作者]

也就是说要先把统计表设计好后再统计


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/3/10 18:22:00 [只看该作者]

不先设计好统计表也行。

你先把数量6这一列改为整数型,在命令窗口执行下面的代码,即可动态生成你需要的统计表:

 

Dim khs As List(of String) = DataTables("材料交货").GetUniqueValues("客户名称 > ''", "客户名称")
Dim pds As List(of String) = DataTables("材料交货").GetUniqueValues("品名1  > ''", "品名1")
Dim dt AS New DataTableBuilder("统计表1")
dt.AddDef("客户", Gettype(String), 32)
For Each pd As String In pds
    dt.AddDef(pd, Gettype(Integer))
Next
dt.Build
Dim tb AS Table = Tables("统计表1")
For Each kh As String In khs
    Dim r As Row = tb.AddNew()
    Dim Sum AS Integer
    r("客户")  = kh
    For Each pd As String In pds
        sum = 0
        For i As Integer = 1 To 8
            sum = sum + DataTables("材料交货").Compute("Sum(数量" & i & ")", "品名" & i & " = '" & pd & "' And 客户名称 = '"  & kh & "'")
        Next
        r(pd) = sum
    Next
Next

[此贴子已经被作者于2011-3-10 18:22:45编辑过]

 回到顶部
总数 27 1 2 3 下一页