以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]交叉统计分组行份额问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=157298)

--  作者:lgj716330
--  发布时间:2020/10/11 17:46:00
--  [求助]交叉统计分组行份额问题
不生成汇总模式
b.HorizontalTotal=True
b.VerticalTotal = True
b.HorizontalProportion=True

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


生成汇总模式
b.HorizontalTotal=True
b.VerticalTotal = True
b.Subtotal=True
b.HorizontalProportion=True

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


当不生成汇总模式的时候,总计行是可以生成份额的,但如果生成汇总模式,汇总行的份额就无法生成了,这个怎么解决呢

--  作者:有点蓝
--  发布时间:2020/10/11 21:04:00
--  
明天我反馈一下
--  作者:有点蓝
--  发布时间:2020/10/11 21:10:00
--  
手工汇总吧:http://www.foxtable.com/webhelp/topics/3290.htm
Dim b As New CrossTableBuilder("统计表1", DataTables("订单"))
b.HGroups.AddDef("产品")
b.VGroups.AddDef("客户")
b.Totals.AddDef("数量", "数量")
b.HorizontalTotal=True
b.HorizontalProportion=True
b.Build()

With Tables("统计表1")
    .SubtotalGroups.Clear() \'清除原有的分组
    Dim g As New Subtotalgroup \'定义一个新的分组
    g.GroupOn = "产品" \'分组列为客户列
    Dim s As String
    For Each c As Col In Tables("统计表1").Cols
        If c.IsNumeric Then
            s = s & "," & c.Name
        End If
    Next
    s = s.Trim(",")
    g.TotalOn = s
    .SubtotalGroups.Add(g) \'加入刚刚定义的分组
    g = New Subtotalgroup
    g.GroupOn = "*"
    g.TotalOn = s
    .SubtotalGroups.Add(g)
    .Subtotal() \'生成汇总模式
End With
MainTable = Tables("统计表1")

--  作者:lgj716330
--  发布时间:2020/10/11 21:50:00
--  
手工汇总提示以下错误,这是什么意思

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


--  作者:有点蓝
--  发布时间:2020/10/11 21:52:00
--  
代码???
--  作者:lgj716330
--  发布时间:2020/10/11 23:01:00
--  
手工生成汇总不符合要求,份额是不能直接汇总的,要计算的,看来只好通过自定义汇总方式实现了