Foxtable(狐表)用户栏目专家坐堂 → 关于多个联接列


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

主题:关于多个联接列

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


加好友 发短信
等级:六尾狐 帖子:1309 积分:10117 威望:0 精华:0 注册:2013/11/8 15:27:00
关于多个联接列  发帖心情 Post By:2015/12/11 22:38:00 [只看该作者]

在测试过程中出现以下问题,不知如何解决,求助
1、联接而成的统计表的日期变了
2、主营业务收入在联接表中又变回了原列名“借方发生”
3、我希望联接表中的每一项“成本类别”都有对应的“主营业务收入”,此表中为“借方发生”,以能够求得各项成本类别占主营业务收入的比率

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


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


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


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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1309 积分:10117 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2015/12/11 22:40:00 [只看该作者]

补充:
图555为费用明细附表,图666为利润表附表,图777为联接组合生成的表

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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By: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
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1309 积分:10117 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By: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("费用明细")

图片点击可在新窗口打开查看此主题相关图片如下:222.jpg
图片点击可在新窗口打开查看
我的费用明细附表本身也是统计出来的

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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2015/12/12 14:48:00 [只看该作者]

SQLGroupTableBuilder不支持临时表

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


加好友 发短信
等级:六尾狐 帖子:1309 积分:10117 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2015/12/12 15:06:00 [只看该作者]

哦,明白了,那只有通过组合了。
那我想把某个部门某个日期的收入都填入对应的各种成本类别里,下面的代码应该如何修改呢,如图

此主题相关图片如下:3333.jpg
按此在新窗口浏览图片


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
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2015/12/12 15:13:00 [只看该作者]

不明白您的业务逻辑

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


加好友 发短信
等级:六尾狐 帖子:1309 积分:10117 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2015/12/12 15:19:00 [只看该作者]

以下是引用Hyphen在2015/12/12 15:13:00的发言:
不明白您的业务逻辑
主要是想在后面增加一个表达式列,然后计算费用占收入的比率


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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2015/12/12 15:36:00 [只看该作者]


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


加好友 发短信
等级:六尾狐 帖子:1309 积分:10117 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2015/12/12 16:30:00 [只看该作者]

好吧,只是组合后的表收入列有些是空白的,在计算费用率的时候,不知如何取收入的值
图片点击可在新窗口打开查看此主题相关图片如下:3455.jpg
图片点击可在新窗口打开查看

 回到顶部
总数 47 1 2 3 4 5 下一页