以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 关于多个联接列 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=78580) |
-- 作者:lgj716330 -- 发布时间:2015/12/11 22:38:00 -- 关于多个联接列 在测试过程中出现以下问题,不知如何解决,求助 1、联接而成的统计表的日期变了 2、主营业务收入在联接表中又变回了原列名“借方发生” 3、我希望联接表中的每一项“成本类别”都有对应的“主营业务收入”,此表中为“借方发生”,以能够求得各项成本类别占主营业务收入的比率 ![]() ![]() ![]() ![]() Dim bd2 As New GroupTableBuilder("统计表1",DataTables("费用明细附表")) Dim dt2 As fxDataSource bd2.Groups.AddDef("日期") bd2.Groups.AddDef("部门") bd2.Groups.AddDef("成本类别") bd2.Totals.AddDef("费用_本月") bd2.Totals.AddDef("费用_累计") dt2 = bd2.BuildDataSource() Dim bd1 As New GroupTableBuilder("统计表2",DataTables("利润表附表")) Dim dt1 As fxDataSource Dim dic As new Dictionary(of String, String) For Each c As Col In Tables("利润表附表").cols dic.add(c.Caption, c.name) Next bd1.Groups.AddDef("日期") bd1.Groups.AddDef("部门") bd1.Totals.AddDef(dic("主营业务收入_本月")) bd1.Totals.AddDef(dic("主营业务收入_累计")) dt1 = bd1.BuildDataSource() Dim nms As String() = {"日期","部门"} dt2.Combine(nms,dt1,nms) 如何解决这三个问题,或是有没有其他办法可以实现我计算每项成本类别占收入的比率
|
-- 作者:lgj716330 -- 发布时间:2015/12/11 22:40:00 -- 补充: 图555为费用明细附表,图666为利润表附表,图777为联接组合生成的表
|
-- 作者:Hyphen -- 发布时间:2015/12/12 10:32:00 -- Dim bd2 As New GroupTableBuilder("统计表1",DataTables("费用明细附表")) Dim dt2 As fxDataSource bd2.Groups.AddDef("日期",DateGroupEnum.None) bd2.Groups.AddDef("部门") bd2.Groups.AddDef("成本类别") bd2.Totals.AddDef("费用_本月") bd2.Totals.AddDef("费用_累计") dt2 = bd2.BuildDataSource() Dim bd1 As New GroupTableBuilder("统计表2",DataTables("利润表附表")) Dim dt1 As fxDataSource Dim dic As new Dictionary(of String, String) For Each c As Col In Tables("利润表附表").cols dic.add(c.Caption, c.name) Next bd1.Groups.AddDef("日期",DateGroupEnum.None) bd1.Groups.AddDef("部门") bd1.Totals.AddDef(dic("主营业务收入_本月"),"主营业务收入_本月") bd1.Totals.AddDef(dic("主营业务收入_累计"),"主营业务收入_累计") dt1 = bd1.BuildDataSource() Dim nms As String() = {"日期","部门"} dt2.Combine(nms,dt1,nms) |
-- 作者:lgj716330 -- 发布时间:2015/12/12 14:22:00 -- 嗯,谢谢Hyphen,前两个问题解决了,第三个问题没解决,偿试用提供的帮助里的信息试一下,有错误提示,帮忙看一下 Dim b As New SQLGroupTableBuilder("费用明细","费用明细附表") Dim Cols1() As String = {"日期","部门"} Dim Cols2() As String = {"日期","部门"} b.AddTable("费用明细附表",Cols1,"利润表附表",Cols2) b.Groups.AddDef("{费用明细附表}.日期") b.Groups.AddDef("{费用明细附表}.部门") b.Groups.AddDef("成本类别") Dim dic As new Dictionary(of String, String) For Each c As Col In Tables("利润表附表").cols dic.add(c.Caption, c.name) Next b.Totals.AddDef("费用_本月") b.Totals.AddDef("费用_累计") b.Totals.AddDef(dic("主营业务收入_本月"),"主营业务收入_本月") b.Totals.AddDef(dic("主营业务收入_累计"),"主营业务收入_累计") b.Build MainTable = Tables("费用明细") |
-- 作者:Hyphen -- 发布时间:2015/12/12 14:48:00 -- SQLGroupTableBuilder不支持临时表 |
-- 作者:lgj716330 -- 发布时间:2015/12/12 15:06:00 -- Dim bd2 As New GroupTableBuilder("统计表1",DataTables("费用明细附表")) Dim dt2 As fxDataSource bd2.Groups.AddDef("日期",DateGroupEnum.None) bd2.Groups.AddDef("部门") bd2.Groups.AddDef("成本类别") bd2.Totals.AddDef("费用_本月") bd2.Totals.AddDef("费用_累计") dt2 = bd2.BuildDataSource() Dim bd1 As New GroupTableBuilder("统计表2",DataTables("利润表附表")) Dim dt1 As fxDataSource Dim dic As new Dictionary(of String, String) For Each c As Col In Tables("利润表附表").cols dic.add(c.Caption, c.name) Next bd1.Groups.AddDef("日期",DateGroupEnum.None) bd1.Groups.AddDef("部门") bd1.Totals.AddDef(dic("主营业务收入_本月"),"主营业务收入_本月") bd1.Totals.AddDef(dic("主营业务收入_累计"),"主营业务收入_累计") dt1 = bd1.BuildDataSource() Dim nms As String() = {"日期","部门"} dt2.Combine(nms,dt1,nms)
|
-- 作者:Hyphen -- 发布时间:2015/12/12 15:13:00 -- 不明白您的业务逻辑 |
-- 作者:lgj716330 -- 发布时间:2015/12/12 15:19:00 -- 以下是引用Hyphen在2015/12/12 15:13:00的发言: 不明白您的业务逻辑 主要是想在后面增加一个表达式列,然后计算费用占收入的比率
|
-- 作者:Hyphen -- 发布时间:2015/12/12 15:36:00 -- http://www.foxtable.com/help/topics/2305.htm |
-- 作者:lgj716330 -- 发布时间:2015/12/12 16:30:00 -- 好吧,只是组合后的表收入列有些是空白的,在计算费用率的时候,不知如何取收入的值 ![]() ![]() |