再请教各位:交叉报表问题合计一行求平均问题

liangsir5 2010-10-19 07:54:53
数据库字段有:部门名称、升职人数、部门总人数、时间期间

公式字段:升职人数/部门总人数 = 升职率

交叉表情况:
============
行:部门名称

列:时间期间

汇总字段为:升职人数(的和)、部门总人数(的和)、升职率(的平均值)

============
例:
============
--------|----------------------------|
部门名称 | 2008年4月 |
| 升职人数 部门总人数 升职率|
--------|----------------------------|
生产部 | 2 4 0.50 |
--------|----------------------------|
质量部 | 3 10 0.30 |
--------|----------------------------|
合计 | 5 14 0.40 |
--------|----------------------------|

问题:1、合计的升职率应为5/14=0.3571,而交叉表的结果如上图为0.40,即(0.50+0.30)/2=0.40

2、如何在:“升职人数、部门总人数、升职率”之间划竖线?
...全文
79 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
liangsir5 2010-10-20
  • 打赏
  • 举报
回复
花您不少时间吧,感谢!您真是高手!

另外,这段时间我也找到另外一个方法处理求平均的问题,就是通过求“加权平均”也可以实现,但是有一个关键点是必须在选择“加权平均”的同时,一定要选择他正对着下面的字段,这个字段一定要是求平均时用到的“除数”,否则,结果就会出错。

关于上面的划线,线条很完美,方法以前想到过,也试过一下,但当时觉得太紧了,没有调整高度。用您的方法调整高度后美观了。但,美中不足的是,字体太靠上了,若能向下一点或居中就更完善了。

感谢您的回复。
阿泰 2010-10-20
  • 打赏
  • 举报
回复
这个报表需要动手的地方比较多,所以一直也没找到合适的时间去做
今天好不容易有点闲,把论坛里的帖子扫一扫,呵呵。

1: 先来说说怎么加竖线

首先进入交叉表专家,切入到“自定义样式”上面,把“显示单元格边距”前面的勾点掉,点确定。
此时的交叉表会急剧压缩。。先不要管。
点中“升职人数”字段,点右键,设置字段格式,进入边框,设置右边框为单线
依次类推设置这个列上的几个字段,如标题行的,还有汇总行的

同理设置“部门总人数”字段。

这个时候表格高度很小不美观,点中某个字段,拉高即可让表格丰满起来。

2:使用全局变量的方法来实现这个比值。

以下操作仅针对合计行


在“升值人数”上点右键,设置字段格式,编辑"显示字符串为"后面的公式(x+2按钮进去)

输入

Numbervar xx1;
xx1:=CurrentFieldValue;
Cstr(xx1,0)

同样设置 “部门总人数”字段,输入公式为


Numbervar xx2;
xx2:=CurrentFieldValue;
Cstr(xx2,0)

然后再0.80那个字段上,点右键,也是在显示字符串后面的公式里输入

Numbervar xx1;
Numbervar xx2;

cstr(xx1/xx2)

即可。

4,816

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧