填报报表
1. 创建模板(报表设计)
就以Oracle最简单的emp和dept为例把。
模板设计如下
2. 添加控件
右击单元格,选择控件设置
选择对应的属性
3. 设置填报属性
菜单栏选择模板=》填表填报属性
打开后按顺序设置
点击智能添加单元格,随后根据字段进行点击
再复选框中,设置勾选主键
4. 填报录取
点击填报预览
点击后就如图所示,填写完成后,点击提交
在其中关于下拉设置和单选以及外键字段设置
下拉控件设置
我们以上级姓名为范例。上级姓名,既然是上级自然也是员工,再emp表中,所以对于页面显示值和存储实际值而言一个是ename,一个是empno。
所以设置数据字典如下所展示
外键字段设置
对于外键字段设置,在填报属性中不能设置为Dept表的Name,而应该是Emp表的deptno。如果你设置了Dept表,那么它将会把它作为一个下拉值保存到dept表中,可能会导致数据表数据重复。因此它的填报属性需要设置为emp表的deptno,而控件属性的数据字典设置为Dept表,因为他就是一个全部的数据集。
单选按钮设置
对于单选而言,看一下示例。这里的emp没有sex字段的,那么先在表中为emp添加一个sex字段,就设置男和女把,那么控件设置中实际值和显示值都是sex字段
最后就是这样子
那么如果单选按钮,男女是一个数据字典,在数据字典表里,那么就可以跟外键字段一样设置。
然而还可以通过类型设置的自定义设置,如果数据比较少的话,就如男女,就这样,根据你的显示值和实际值设置
在实际过程中,最常用的就是填报报表,对于合同,资料来说用于填写,很方便,直接点提交就自动提交到数据库。而有时候也会需要到数据展示,比如季度报表,财务报表,工资条,等等各种需要展示数据的时候。
分页预览
报表设计
单元格拓展
单元格拓展就是模板中只有一个单元格,在显示时显示一列数据,拓展出多个单元格,当然拓展是由方向的而且只能是一个方向
查看一下这个示例
该示例中,使用了=range(1,5)这个函数,边框,居中,设置了纵向拓展。
如果设置不拓展,则点击左边的禁止按钮即可。那么输出的1,2,3,4,5就显示在一个单元格内。
父子格设置
什么是父子格
既然是父子格,两单元格必存在某种关系,使单元格存在数据过滤关系,并且跟随拓展。如图所示,前面的使父格,后面的是子格,子格会根据父格的数据进行过滤显示,并随父格拓展方向拓展。
父子格关系
父子格之间有两种关系,一个是过滤,一个是跟随。父格就是相邻的左,上单元格,但也可能是自定义的任意单元格。
1. 过滤关系是指子格会默认将父格数据作为过滤条件进行过滤,使父子格之间的数据能对应的显示
在这里需注意,父子格来自不同数据集,则不存在过滤关系,子格随父格重复显示,只有当在同一数据集中才存在过滤。
2. 跟随关系是指子格会默认跟随父格的拓展方向进行分组,即父格纵向,子格也会随父格纵向,当然子格仍然可以改变自己的拓展方向
示例
那么我们根据emp和dept看一下示例
1. 非相同数据集,无过滤关系,显示所有
我们设置了两个数据集,一个是emp的select ,一个是dept的select 。而且B4是C4的左父格,并且B4左侧有一个向下的蓝箭头,说明是也有跟随关系,而且是跟随向下。因为不存在过滤关系,所以每个部门都显示所有的员工。
2. 相同数据集,过滤关系,显示各部门对应员工
看,都是从emp数据集中出来的,所以,进行的过滤。
3. 跟随关系,子格默认随父格拓展方向进行分组
来看示例,B4是B5的上父格,父子格都是来自同一数据集,所以是存在过滤关系的,父格横向拓展,子格纵向拓展,那么子格会依据父格进行分组过滤。因此出现了这个结果。
4. 自定义父格
在右边的单元格属性列表中有左父格,上父格选项,那默认就是当前单元格相邻的上边,左边的单元格,而无就表示没有父格,就不存在跟随和过滤两种关系。然当,你可以选择自定义,根据你自己的情况。
那么我们就依据官网的样式,进行自定义单元格
首先设计模板,ename和deptno在对斜角的方向,所以两者不存在父子格关系。那么我们就可以选中ename单元格,点击右边的左父格,选择自定义,可以填写单元格位置,也可以点右边的套索选中单元格。然后,你选中ename的时候,deptno就出现了蓝色的箭头。
当然对于这些简单的而言,还有更复杂点的,需要对每个单元格检查父子格及拓展方向,以便不会扰乱模板显示。
5. 拓展后,顺序的显示
在右侧单元格属性中,最下边就有那个设置,叫拓展后,可以选择正序还是倒序
交叉报表
交叉表是最常见的基本报表类型,交叉表中包含数据的横向拓展和数据的纵向拓展。为了描述数据的复杂性,我们就先以emp为例
官网操作步骤在这里
emp中并没有交叉横纵向的,所以只有纵向,和进行求和。那么我们的示例就是显示每个部门的员工的薪资以及和部门的合计以及所有合计
emp示例
对于像这种稍微复杂的,就是要捋清部门与员工,员工与薪资,合计之间的关系,以及左上父格的而设置,最后就是合计所对应的上左父格。
1. 设置表头,设置部门,员工姓名,薪资,提成。后跟一个合计,指为公式,计算C2和D2,=sum(C2,D2)。其余父格默认
2. 添加总合计
- A3,B3合并单元格命名总合计,C3设置为=sum(C2),D3设置为=sum(D2),E3设置为=sum(E2)
- 其余默认
对于为何这么做,第一行为标题,死文字,不会变,第二行均为纵向拓展,第三行也是死文字,只不过和合计是通过第二行得来的,所以要合计第二行对应的数值,第二行拓展,第三行依然在最后一行。
3. 为每个部门添加部门合计
- 我们在第三行,右击插入一行,该行变为第四行,空出一个第三行。
- 依旧是A3,B3合并命名为部门合计,C3,D3,E3均设置为对应的=sum(C2),=sum(D2),=sum(E2)
- 我们将部门合计的左父格设置为A2,也就是部门那个单元格,这就有了过滤的性质了,每个部门进行合计,后面三个小合计也是左父格设置为它
这就完成了,我们来看这个图,发现,它与开始展示的是有一点区别的,就是标题头,首次展示的是每个部门一个标题头,这个展示的是只有一个标题头。
- 然后你要取消总合计行中后三单元格的上父格为无,以免总合计行跑到第一部门合计后面
- 最后你的第一行表头都要把上父格设置为A2部门单元格,这就使每个部门都有一个标题
看起来如果使一个标题还是比较见到的,而且更容易看啊。
文件地址:emp示例文件地址
因为这些都是父子格和拓展方向的问题,以及单元格关系,只要看怎么设置了。那么就不讲官网的案例的。
行式报表
1. 行式报表也就是最常用最简单的表格,都是以列表的形式向下显示的。图例我就不再演示了。
因为父子格的关系,默认如果是同一数据集,会出现过滤分组情况,在右上角,数据设置,默认是分组的。所以会依据部门进行分组合并单元格。
把该单元格设置为列表形式,那么就会不合并单元格,每条数据一一对应,以列表的形式显示下来。
2. 另外就是单元格样式的设置
对于单元格样式,就犹如Excel表格一样的单元格设置,不过帆软的是在右下角的单元格设置的第二个选项卡,格式中,默认是常规,可以选择数字,货币,百分数,日期,时间等格式。另外还有对齐、字体、边框、背景设置,不过这几个在工具栏里有就更方便了。
分组报表
也就是普通的依据父子格进行分组,不过通常都会遇到数据设置,也就是刚才说的,除了分组默认的,还有上面讲的行式报表的列表格式,最后一个就是统计了。我们看下官方的例子就很明白
安顺放置,什么都不设置,没有什么不正常的,那么结果就如下,再正常不过了
那么把销量改成汇总求和,右上角的数据设置中设置汇总,于是求和就变成了这样
为什么成这样,大家应该很明白,如果是默认分组,将显示每个产品对应的销量,而设置为汇总,就是求一个值。为什么这样说,因为如果你把产品这个字段也放上去,你就发现出来了,这个销量就是把每个员工的所有产品销量做一个汇总。
不光可以求和,还有其他的选项,如平均值,最值之类的。
自由报表
自由报表可以说就是填报报表,因为填报是自由的,对于列表的情况,我不想多写了,看一下文档吧自由报表
还有其他的纵向的我也不多说了,还是那句话,无非就单元格字段本身关系和父子格关系分组汇总
最后一点就是,还是单元格属性设置,右下角的,第三个选项,形态,这里面可以设置数据字典,也就是显示值和实际值。
本文原博客地址:http://www.fsats.com