Foxtable(狐表)用户栏目专家坐堂 → 专业报表问题(已解决)


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

主题:专业报表问题(已解决)

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


加好友 发短信
等级:婴狐 帖子:25 积分:318 威望:0 精华:0 注册:2012/2/10 21:02:00
专业报表问题(已解决)  发帖心情 Post By:2012/8/24 22:25:00 [只看该作者]

专业报表中,这个[Aggregates!数量总计.Value]值和[Aggregates!金额总计.Value]的值能进行加减乘除运算吗?如果能请指教如何相除?谢谢

[此贴子已经被作者于2012-8-26 22:56:28编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/8/25 8:29:00 [只看该作者]

Dim doc As New PrintDoc
Dim rt As New prt.RenderText
Dim Agg As New prt.DataBinding.Aggregate("GroupSum") '新定义统计的名称为GroupSum,名称随意即可.
rt.DataBinding.DataSource = BindTables("订单") '将容器绑定到订单表
rt.DataBinding.Grouping.Expressions.Add("Fields!产品.Value") '根据产品进行分组
rt.Text= "[Fields!产品.Value]: [Aggregates!GroupSum.Value] " '设置打印内容
doc.body.Children.Add(rt)
agg.DataBinding = rt.DataBinding 'Agg的DataBinding属性,应该设为打印对象的DataBinding
agg.Running = 1 '分组统计
agg.Expressi '统计字段
doc.DataSchema.Aggregates.Add(agg)'定义好的统计必须添加到报表的DataSchema中
doc.Preview()

 

 


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


加好友 发短信
等级:婴狐 帖子:25 积分:318 威望:0 精华:0 注册:2012/2/10 21:02:00
报表中,平均净重在怎么求?  发帖心情 Post By:2012/8/25 16:53:00 [只看该作者]

我的问题是:如图,按照如下代码平均净重不是一个数,报表的平均净重不知道怎么求?请指教!!

 

rt.Style.GridLines.All = New prt.Linedef(Color.Gray)
rt.CellStyle.Spacing.All = 1
rt.Cells(0,0).Text = "车 牌"
rt.Cells(0,1).Text = "车 型"
rt.Cells(0,2).Text = "车次合计"
rt.Cells(0,3).Text = "净重合计"
rt.Cells(0,4).Text = "毛重合计"
rt.Cells(0,5).Text = "平均净重"

 
rt.Cells(1,0).Text = "[Fields!车牌.Value]"                  
rt.Cells(1,1).Text = "[Fields!车型.Value]"
rt.Cells(1,2).Text = "[Aggregates!车次小计.Value]"
rt.Cells(1,3).Text = "[Aggregates!净重小计.Value]"
rt.Cells(1,4).Text = "[Aggregates!毛重小计.Value]"
rt.Cells(1,5).Text =  "[Aggregates!净重小计.Value] /[Aggregates!车次小计.Value]"


图片点击可在新窗口打开查看此主题相关图片如下:平均净重问题.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2012-8-25 17:18:56编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/8/25 17:18:00 [只看该作者]

不用绑定,直接计算

rt.Cells(1,0).Text = DataTables(“xxx”).Compute("Sum(列)", "条件表达式")。

 

类似:

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

 


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


加好友 发短信
等级:婴狐 帖子:25 积分:318 威望:0 精华:0 注册:2012/2/10 21:02:00
报表中小数位数怎么取舍?  发帖心情 Post By:2012/8/26 20:48:00 [只看该作者]

 rt.Cells(i+1,4).Text = Tables("称重数据").DataTable.Compute("Sum(净重)/Sum(车次)","车牌='" & Names(i) & "'")

 

用你的方法实现了数据相除,如图,非常感谢,但又有新问题:小数位数太多了,我想只要3位小数怎么办,我用format,和round方法,都不能加到上面的语句中,怎么才能解决报表中Sum(净重)/Sum(车次)的小数问题???在请您指教!!

 


图片点击可在新窗口打开查看此主题相关图片如下:小数位数多.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2012-8-26 21:21:17编辑过]

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2012/8/26 21:03:00 [只看该作者]

这样不行?

 

Math.Round(DataTables(“xxx”).Compute("Sum(列)", "条件表达式"),3)

[此贴子已经被作者于2012-8-26 21:04:00编辑过]

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


加好友 发短信
等级:婴狐 帖子:25 积分:318 威望:0 精华:0 注册:2012/2/10 21:02:00
  发帖心情 Post By:2012/8/26 22:51:00 [只看该作者]

4楼、6楼你们的方法正解,问题解决了!!图片点击可在新窗口打开查看

[此贴子已经被作者于2012-8-26 22:55:52编辑过]

 回到顶部