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


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

主题:关于多个联接列

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


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

仔细看帮助,isnull

Tables("窗口1_Table1").DataSource = dt1 '将统计结果绑定到Table
With 
DataTables("窗口1_Table1").DataCols  '用表达式列计算库存数据
    
.Add("库存_数量",Gettype(Integer), "IsNull([进货_数量],0) - ISNULL([销售_数量],0) - ISNULL([退货_数量],0)")
    
.Add("库存_金额",Gettype(Double), "[库存_数量] /[进货_数量] * [进货_金额]"
End With

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


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

嗯,可能你没明白我的意思,我自己研究先,看看用compute能不能解决

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


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


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

Dim bd1 As New GroupTableBuilder("统计表1",DataTables("费用明细附表"))
Dim dt1 As fxDataSource
bd1.Groups.AddDef("日期",DateGroupEnum.None) 
bd1.Groups.AddDef("部门") 
bd1.Groups.AddDef("成本类别") 
bd1.Totals.AddDef("费用_本月") 
bd1.Totals.AddDef("费用_累计") 
dt1 = bd1.BuildDataSource()

Dim bd2 As New GroupTableBuilder("统计表2",DataTables("利润表附表"))
Dim dt2 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
bd2.Groups.AddDef("日期",DateGroupEnum.None) 
bd2.Groups.AddDef("部门") 
bd2.Totals.AddDef(dic("主营业务收入_本月"),"主营业务收入_本月") 
bd2.Totals.AddDef(dic("主营业务收入_累计"),"主营业务收入_累计") 
dt2 = bd1.BuildDataSource() 


Dim nms As String() = {"日期","部门"} 
dt1.Combine(nms,dt2,nms)

Tables("费用占比_fyzb").DataSource = dt1 '将统计结果绑定到Table
For Each nm As String In DataTables("费用占比_fyzb").GetValues("日期")
For Each nm1 As String In DataTables("费用占比_fyzb").GetValues("部门")
With DataTables("费用占比_fyzb").DataCols  '
    .Add("费用率_本月",Gettype(Double), ""费用_本月"/"Compute("Sum("主营业务收入_本月")", "日期 = '" & nm & "' And 部门 = '" & nm1 & "'")")
End With
Next
Next

我要计算如图中的费用率,以上代码还是有问题,求大神修正一下 

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/13 23:24:00 [只看该作者]

上传项目

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


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

请帮忙看看,谢谢
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目5_201512141057.zip



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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/14 11:21:00 [只看该作者]

Dim bd1 As New GroupTableBuilder("统计表1",DataTables("费用明细附表"))
Dim dt1 As fxDataSource
bd1.Groups.AddDef("日期",DateGroupEnum.None)
bd1.Groups.AddDef("部门")
bd1.Groups.AddDef("成本类别")
bd1.Totals.AddDef("费用_本月")
bd1.Totals.AddDef("费用_累计")
dt1 = bd1.BuildDataSource()

Dim bd2 As New GroupTableBuilder("统计表2",DataTables("利润表附表"))
Dim dt2 As fxDataSource
bd2.Groups.AddDef("日期",DateGroupEnum.None)
bd2.Groups.AddDef("部门")
bd2.Totals.AddDef("主营业务收入_本月")
bd2.Totals.AddDef("主营业务收入_累计")
dt2 = bd2.BuildDataSource()


Dim nms As String() = {"日期","部门"}
dt1.Combine(nms,dt2,nms)
dt1.Show("统计表1") '显示统计结果

Dim t As Table = Tables("统计表1")
Dim n1,n2 As Double
For Each r As Row In t.Rows
    If r.IsNull("主营业务收入_本月") = False Then
        n1 = r("主营业务收入_本月")
        n2 = r("主营业务收入_累计")
    Else
        r("主营业务收入_本月") = n1
        r("主营业务收入_累计") = n2
    End If
Next
t.DataTable.DataCols.Add("费用率_本月",Gettype(Double), "iif([主营业务收入_本月] = 0, null, IsNull([费用_本月],0) / [主营业务收入_本月])")
t.DataTable.DataCols.Add("费用率_累计",Gettype(Double), "iif([主营业务收入_累计] = 0, null, IsNull([费用_累计],0) / [主营业务收入_累计])")

t.DataTable.DataCols("费用率_本月").SetFormat("0.00%")
t.DataTable.DataCols("费用率_累计").SetFormat("0.00%")


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


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

真是太感谢大神了,好好消化一下,这个代码要经常用到

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


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

追问一下,我增加了汇总行,发现这里的收入的汇总是重复计算的,这个如何解决呢,代码该如何改呢

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/14 14:21:00 [只看该作者]

篡改一下汇总行的值即可。

 

http://www.foxtable.com/help/topics/1911.htm

 


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


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

主营业务收入列汇行总的实际金额,等于现有计算出来的金额-原空白区域所增加的金额
不知道如何计算原来空白区域所增加的金额,对于汇总行来说,这部分是重复的。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目5.foxdb


再次麻烦一下

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