以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  分组统计能算平均单价吗?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=162257)

--  作者:天宇科技
--  发布时间:2021/4/10 21:51:00
--  分组统计能算平均单价吗?
想得到这张一张统计表,采用分组统计,出入库数量和出入库金额,应该行。但上月结存数量,结存金额,平均单价怎样才能算出来呢?分组统计是生的是临时表。是用查询表来做吗?

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

[此贴子已经被作者于2021/4/11 14:45:18编辑过]

--  作者:有点蓝
--  发布时间:2021/4/11 20:20:00
--  
在分组统计的基础上添加临时列,然后遍历所有行手工填充上月结存数量,结存金额,平均单价
--  作者:天宇科技
--  发布时间:2021/4/11 21:01:00
--  
蓝版,能给个帮助的链接吗?实现上述功能,学哪些地方。
--  作者:有点蓝
--  发布时间:2021/4/11 21:23:00
--  
比如:http://www.foxtable.com/webhelp/topics/0681.htm


--  作者:天宇科技
--  发布时间:2021/4/16 17:40:00
--  
蓝版,增加临时列,只能用表达式吗?不能用代码统计吗?
--  作者:天宇科技
--  发布时间:2021/4/16 17:47:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:信达食堂管理10.0.rar

蓝版,你能帮我写一段代码吗?我把源文件上传了。要从两张表里统计,我觉得蓝版的方法不能实现
分组统计生成的是临时表,不是数据表。并且分组统计,只能是从一张表里统计,我现在要从几张表里统计。我觉得只有查询表能解决。用增加临时列的办法,只能用表达式,这儿用表达式不行吧
[此贴子已经被作者于2021/4/16 21:06:23编辑过]

--  作者:有点蓝
--  发布时间:2021/4/17 13:41:00
--  

Dim g As New GroupTableBuilder("统计表1", DataTables("入库明细"))
g.Groups.AddDef("入库日期", DateGroupEnum.Year, "年")
g.Groups.AddDef("入库日期", "月")
g.Groups.AddDef("商品名称")
g.Totals.AddDef("入库数量")
g.Totals.AddDef("入库金额")
g.Totals.AddDef("入库单价",AggregateEnum.Average )
g.Filter = "商品名称 is not null"
Dim dt As DataTable = g.Build(True)


DataTables("统计表").DeleteFor("")
Dim dr As DataRow
For Each r As DataRow In dt.DataRows
    dr = DataTables("统计表").AddNew
    dr("年") = r("年")
    dr("月") = r("月")
    dr("商品名称") = r("商品名称")
    dr("本月入库数据") = r("入库数量")
    dr("本月入库金额") = r("入库金额")
    dr("本月入库平均单价") = r("入库单价")
Next
Tables("统计表").Sort = "年,月"

For Each r As Row In Tables("统计表").Rows
    Dim d As Date = new Date(r("年"),r("月"),1)
    dr = DataTables("统计表").Find("商品名称 = \'" & r("商品名称") & "\' And 年 <=" & r("年") & " and 月 <" & r("月") , "年 desc,月 desc")
    If dr IsNot Nothing Then
        r("上月结存数量") = dr("本月入库数据")
        r("上月结存金额") = dr("本月入库金额")
    End If
Next
MainTable = Tables("统计表")

--  作者:天宇科技
--  发布时间:2021/4/17 16:29:00
--  
蓝版:
1、Dim d As Date = new Date(r("年"),r("月"),1)
这句代码有什么作用,只看到在这儿设了一个变量,后面没有看到用这个变量。
2、我单独可以统计入库、出库的数据,现在蓝版把上月结存,本月入库写出来,我不知怎样把本月库存在你的代码里加去,加进去就报错。
请蓝版再把出库数量、出库金额的代码写一下。
[此贴子已经被作者于2021/4/17 16:32:30编辑过]

--  作者:有点蓝
--  发布时间:2021/4/17 16:42:00
--  
1、没什么用,去掉即可
2、把上面的分组统计改为这里的统计即可:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=162931

--  作者:天宇科技
--  发布时间:2021/4/17 16:58:00
--  
蓝版,我也是这样想的,实际上还有些困难,请你贴一份完整的代码