润乾报表用户手册.doc_第1页
润乾报表用户手册.doc_第2页
润乾报表用户手册.doc_第3页
润乾报表用户手册.doc_第4页
润乾报表用户手册.doc_第5页
已阅读5页,还剩136页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

润乾报表用户手册 北京润乾软件技术有限公司 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 2 页 共 141 页 目目 录录 一一.新建报表向导新建报表向导 .4 1.1按用途分 .4 1.2按样式分 .7 二二.单元单元格格 .17 2.1单元格及其命名规则 .17 2.2合并单元格及其命名规则 .17 2.3属性和表达式概念 .18 2.4一般单元格属性 .20 2.4.1数据 .20 2.4.2外观 .22 2.4.3关于 WEB .26 2.4.4扩展 .27 2.5报表首格属性 .28 2.6行列首格属性 .31 2.6.1行首格属性 .31 2.6.2列首格属性 .32 三三.数据源数据源 .33 四四.数据集定义数据集定义 .35 4.1说明 .35 4.2数据集的类型 .35 4.3缓存 .39 4.4按页取数 .39 五五.参数和宏参数和宏 .41 5.1参数 .41 5.2宏 .43 六六.系统配置系统配置 .45 七七.图像图像 .47 7.1图片 .47 7.1.1图片来自文件 .47 7.1.2图片来自数据库字段 .48 7.2统计图 .50 7.2.1统计图的编辑 .50 7.2.2统计图的类型及数据模型 .52 7.2.3统计图的其他属性 .57 7.2.4统计图在扩展形式下的运算方式 .60 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 3 页 共 141 页 八八.打印打印 .61 8.1按纸张大小分页 .61 8.2分栏 .62 8.3行后分页和列后分页 .63 8.4按数据行数分页/打印布局行数和列数64 8.5套打 .65 8.6打印时的对齐 .66 九九.子报表子报表 .67 9.1概念 .67 9.2编辑 .67 9.3如何获得子报表单元格的值 .70 十十.填报填报 .72 10.1概念 .72 10.2编辑方法 .72 10.3填报时光标移动快捷方式 .81 10.4多页填报 .81 10.5批量导入 HTML 格式的离线填报数据82 10.6举例 .83 十一十一.报表编辑技巧报表编辑技巧 .90 11.1如何提高效率 .90 11.2固定行报表 .92 11.3简化报表编辑 .93 11.4动态列报表 .93 11.5动态列分组报表 .95 11.6动态列宽 .95 11.7动态改变统计图大小 .95 十二十二.表达式表达式 .97 12.1操作符 .97 12.2关键字 .99 12.3运算优先级 .100 12.4函数 .101 12.4.1数据集函数 .101 12.4.2单元格函数 .110 12.4.3日期时间函数 .118 12.4.4数学函数 .126 12.4.5字符串函数 .132 12.4.6转换函数 .137 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 4 页 共 141 页 一一. .新建报表向导新建报表向导 1.1 按用途分按用途分 一般报表一般报表 点击文件下拉菜单中的新建报表新建报表,系统弹出报表风格选择窗口,如下图所示: 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 5 页 共 141 页 选择常规报表常规报表,点击确定,即可进入新的空白报表编辑界面,如下图所示: 填报表和参数表填报表和参数表 点击文件下拉菜单中的新建报表新建报表,系统弹出报表风格选择窗口,如下图所示: 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 6 页 共 141 页 选择填报或参数表单填报或参数表单,点击确定,即可进入新的空白报表编辑界面,如下图所示: 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 7 页 共 141 页 1.2 按样式分按样式分 网格式网格式 点击文件下拉菜单中的新建报表新建报表,系统弹出报表风格选择窗口,如下图所示: 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 8 页 共 141 页 选择网格式网格式,点击确定,系统进入数据集编辑界面,如下图所示,点击增加,即 可增加新的数据集定义 选择需要定义的数据集,先选择数据集的类型,例如:常规 SQL,点击编辑按钮, 就进入了 sql 语句的编辑界面,如下图所示: 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 9 页 共 141 页 选择您要的表名、字段名、检索条件等,生成完 SQL 语法后,点击确定按钮,就 进入了报表编辑界面,您可以看到,在刚刚新建的报表模板界面里,网格式报表的表 达式都已经自动生成了。如下图所示: 您可以在此界面上进行进一步的美化,例如删除不必要的空白行列,修改表头为 中文标题,添加报表标题、表尾、页眉页脚等,一个最简单的网格式报表就生成了, 如下图所示: 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 10 页 共 141 页 交叉式交叉式 点击文件下拉菜单中的新建报表新建报表,系统弹出报表风格选择窗口,如下图所示: 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 11 页 共 141 页 选择交叉式交叉式,点击确定,系统进入数据集编辑界面,如下图所示,点击增加,即 可增加新的数据集定义,如下图所示: 选择需要定义的数据集,先选择数据集的类型,例如:常规 SQL,点击编辑按钮, 就进入了 sql 语句的编辑界面,如下图所示: 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 12 页 共 141 页 选择您要的表名、字段名、检索条件等,生成完 SQL 语法后,点击确定按钮,就 进入了交叉分组定义界面,如下图所示: 先在行定义 tab 页中点击增加,然后拖拽分组字段到分组表达式编辑框中,同样 的办法编辑列定义和值定义,最后点击确定,系统就进入了新建的交叉报表模板编辑 界面,在该模板中,您可以看到交叉报表的表达式都给您自动生成好了,如下图所示: 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 13 页 共 141 页 您可以在此界面上进行进一步的美化,例如删除不必要的空白行列,修改表头为 中文标题,添加报表标题、表尾、页眉页脚等,一个最简单的交叉式报表就生成了, 如下图所示: 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 14 页 共 141 页 分组式分组式 点击文件下拉菜单中的新建报表新建报表,系统弹出报表风格选择窗口,如下图所示: 选择分组式分组式,点击确定,系统进入数据集编辑界面,如下图所示,点击增加,即 可增加新的数据集定义,如下图所示: 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 15 页 共 141 页 选择需要定义的数据集,先选择数据集的类型,例如:常规 SQL,点击编辑按钮, 就进入了 sql 语句的编辑界面,如下图所示: 选择您要的表名、字段名、检索条件等,生成完 SQL 语法后,点击确定按钮,就 进入了分组定义界面,如下图所示: 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 16 页 共 141 页 先在定义分组 tab 页中点击增加,然后拖拽分组字段到分组表达式编辑框中,同 样的办法编辑多级分组,最后点击确定,系统就进入了新建的分组报表模板编辑界面, 在该模板中,您可以看到分组报表的表达式都给您自动生成好了,如下图所示: 您可以在此界面上进行进一步的美化,例如删除不必要的空白行列,修改表头为 中文标题,添加报表标题、表尾、页眉页脚等,一个最简单的分组报表就生成了,如 下图所示: 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 17 页 共 141 页 二二. .单元格单元格 2.1 单元格及其命名规则单元格及其命名规则 我们运行润乾报表编辑器,点击新建报表菜单,即可出现如下界面: 我们发现,新建的报表由行列整齐的格子组成,这些格子我们称为单元格,通过 所有单元格的值和边框排列在一起,组成了报表。 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 18 页 共 141 页 命名规则:命名规则: 单元格的命名方式和 excel 类似,列上通过 A,B,C,D,.来命名每一列,行上通过 1,2,3,4,来命名每一行,单元格通过“列名+行名”来命名,例如:上图中蓝色方框 内的单元格命名为“A1“ 2.2 合并单元格及其命名规则合并单元格及其命名规则 我们选中一片连续的单元格区域,点击合并单元格菜单,就把这些被选中的单元 格合并成了一个单元格,如下图所示,这个合并出来的新单元格称为合并单元格 合并单元格的某一边边框都是一致的,不能分段做不同设置。 命名规则:命名规则: 合并单元格是以左上角的单元格编号作为合并格的编号的,例如上图中,合并格 的编号为“B2“ 2.3 属性和表达式概念属性和表达式概念 什么是属性值和表达式什么是属性值和表达式 在单元格的属性列表中,大家看到,每个属性都有属性值和表达式两种,如下图 所示:这两种有什么区别呢? 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 19 页 共 141 页 首先,属性值和表达式是互斥的,定义了属性值,就不必定义表达式,定义了表 达式,就不必定义属性值。 其次,属性值是在编辑报表时就写死了的,在报表运行时不必经过运算,也不会 被改变。例如:你在单元格的背景色的属性值中定义了红色,那么报表运行时,它就 是红色,不会被运算,不会被改变。 而属性的表达式在报表运行时,会被运算,该属性的最终属性值取决于表达式的 运算结果值。在属性表达式中可以用“value”来指代当前单元格的数据值。 哪些属性仅仅解析属性值哪些属性仅仅解析属性值 更新属性 自动计算 合法性检查 编辑风格 哪些属性仅仅解析表达式哪些属性仅仅解析表达式 统计图单元格的数据值属性 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 20 页 共 141 页 哪些属性既解析属性值又解析表达式哪些属性既解析属性值又解析表达式 其他属性都是既解析属性值,又解析表达式 2.4 一般单元格属性一般单元格属性 2.4.1 数据数据 单元格数据类型单元格数据类型 我们选中一个单元格,从属性菜单或右键菜单中,点击“数据类型及编辑风格” 子菜单,即可看到下图窗口所示数据类型下拉选项,分别有普通文字、统计图、图片 字段、图片文件、子报表、空白单元格、HTML 文本。也就是说,单元格里的内容可 以是文字、HTML 元素、也可以是图片,图片内容可以来自文件,也可以来自数据库 中的字段,还可以是统计图 数据值数据值 单元格属性列表中,第一项就是数据值,数据值是单元格的真实值,当单元格被 引用时,引用的就是单元格的真实值 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 21 页 共 141 页 显示值显示值 单元格属性列表中,第三项就是显示值,显示值仅仅用来显示,很少被引用,如 果要引用单元格的显示值,需要用 disp 函数,例如:disp(A1) 代表 A1 单元格的显示 值。 显示值的定义有两种方式:单值和对照表 举例: 单值定义法:1、例如:“中国“,那么该单元格就显示为“中国“ 2、例如:ds1.select_one(name,value=id) 对照表定义法: 1、例如:map(list(“0“,“1“),list(“男“,“女“) 显示格式显示格式 单元格属性列表中,第二项就是显示格式,显示格式仅仅用来对单元格的数据值 进行格式化,例如:单元格的数据值如果是 12345,显示格式是“#,#0.00“,那么该单 元格就显示成“12,345.00“ 编辑方法:选中单元格,点击鼠标右键,选择常规属性,如下图所示: 双击你要的格式串即可 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 22 页 共 141 页 2.4.2 外观外观 斜线及其颜色斜线及其颜色 设置当前单元格中是否加入斜线,以及斜线的线宽。一个单元格斜线最多可以两 条,此时必须把单元格的数据值用逗号分隔 注意点:用于分隔的逗号应该是英文的逗号注意点:用于分隔的逗号应该是英文的逗号 编辑方法: 选中需要设置斜线的单元格,在右边的属性列表中,找到“单元格斜线”属性, 设置线的粗细 然后设置线的颜色,最后在数据值中输入逗号分隔的两个值或三个值 水平对齐水平对齐 单元格数据的水平对齐方式,左对齐、右对齐、居中 设置方式:选中需要设置的单元格,点击菜单上的对齐图标,如下图所示: 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 23 页 共 141 页 垂直对齐垂直对齐 单元格数据的水平对齐方式,左对齐、右对齐、居中 设置方式:选中需要设置的单元格,点击属性列表框上的垂直对齐属性,如下图 所示: 自动换行自动换行 当当前单元格的数据值长度超出单元格的宽度时,是否自动换行。 此属性一般适用于中文值字段,如果此属性打勾,文字自动换行时,单元格自动 被撑高,如下图所示: 编辑界面: 预览界面: 缩进缩进 单元格数据值的缩进位置,缺省为 0,此时数据值会紧挨着边框。 一般设置为 2-3 比较合适。 注意点: 1、一旦为单元格设置了缩进属性,则文字在单元格里左右都会有相同的缩进 效果。 2、统计图最好不要设缩进,即缩进值最好为 0,否则图形被压缩后,变形效 果不好看。 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 24 页 共 141 页 分页断开时值重复显示分页断开时值重复显示 该属性主要为合并格服务的,当分页断开正好位于合并格的中间时,合并格 里的值是否在两页里重复显示 合并格可分两页显示合并格可分两页显示 该属性主要为合并格服务的,当分页断开正好位于合并格的中间时,合并格 是否在上下两页中都显示 字体字体 单元格数据值的字体 注意点: 如果操作系统是 unix 或 linux 等非 windows 操作系统时,需要注意凡被使用 到的字体,都必须在操作系统里安装,否则当报表打印、输出到 pdf、统计图等时, 会出错。一般要求安装相应的中文包 字号字号 单元格数据值的字大小 粗体粗体 单元格数据是否显示为粗体 斜体斜体 单元格数据是否显示为斜体 下划线下划线 单元格数据是否带下划线 前景色前景色 单元格里文本的颜色 背景色背景色 单元格的背景色 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 25 页 共 141 页 边框边框 单元格的边框 注意点:合并单元格同一侧的边框只有一种样式,不能分段以不同样式展现 设置方法: 选中需要设置的单元格,点击菜单栏上的边框图标,如下图所示: 尺寸调整尺寸调整 有两个选项:按设计尺寸缩小内容/按单元格内容扩大 1、单元格宽度可根据其数据内容调整,将单元格的“尺寸调整”属性设为 “按单元格内容扩大”即可 2、子报表或者图片单元格,可以通过这个属性把子报表或图片缩在单元格内, 或者把单元格撑大 是否可见是否可见 当前单元格是否可见,可以是属性值也可以是表达式 该属性值为 true 代表可见,false 代表不可见 可以在行首格、列首格、一般单元格里控制是否可见属性 表达式举例: 1、if(arg1=“1“,true,false) 当参数 arg1 为 1 时,可见,否则不可见 是否隐藏本行是否隐藏本行 当前行是否可见,可以是属性值也可以是表达式 行后分页行后分页 当前行是否行后分页,可以是属性值也可以是表达式 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 26 页 共 141 页 列后分页列后分页 当前列是否列后分页,可以是属性值也可以是表达式 2.4.3 关于关于 WEB 超链接超链接 单元格的超链接属性,可以是属性值,也可以是表达式 可以在超链接中引用单元格的值,例如: “/defaultArg.jsp?report=/exercise/grid jjzj.raq, jjzj, 基金增减; sheet3.raq, sheet3 注注2:sheetsRelation 定义: 格式:有效性表达式 1提示信息 1; 有效性表达式 2提示信息 2; 有效性表达式中报表单元格表示法:报表 id_单元格名,如 sheet1_B5 有效性表达式必须是合法的 javascript 表达式。 表达式与相应的提示信息之间用隔开,多条表达式间用英文分号隔开 例子:sheet3_a1.length sheet1_D2.length sheet3 中第一格的值长度必须大于学 生情况表中姓名的长度!; sheet3_b1 jjzj_g8 sheet3 中第二格的数值必须大于基金增 减表中第一行的上年结余合计! 10.5 批量导入批量导入 HTML 格式的离线填报数据格式的离线填报数据 在任一台可以与填报服务器相连的电脑中用 IE 打开润乾报表发布包 web 目录下 的“批量导入 HTML 格式离线填报数据.html”文件(不要用 HTTP 协议访问), 添加要导入的填报文件后,开始执行导入 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 83 页 共 141 页 10.6 举例举例 简单填报简单填报 设计界面: 更新属性: 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 84 页 共 141 页 预览界面: 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 85 页 共 141 页 单向扩展填报单向扩展填报 设计界面: 更新属性: 预览界面: 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 86 页 共 141 页 交叉扩展填报交叉扩展填报 设计界面: 更新属性: 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 87 页 共 141 页 对于交叉填报表,需要注意:更新属性设置在交叉点单元格上对于交叉填报表,需要注意:更新属性设置在交叉点单元格上 预览界面: 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 88 页 共 141 页 复合填报复合填报 设计界面: 更新属性: 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 89 页 共 141 页 预览界面: 如何从如何从 Excel 导入填报数据导入填报数据 新增填报时可从 excel 文件上载数据的功能,要求是 excel 文件的单元格必须与填 报页面中的表格单元格一致。 实现方式:在 tag 标签中,把 needImportExcel 属性设为 true, 就可以了 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 90 页 共 141 页 十一十一. .报表编辑技巧报表编辑技巧 11.1如何提高效率如何提高效率 1. 当前行的概念当前行的概念 请看下图所示的例子, 其中 A5 到 E5 这几个单元格都是 A2 的附属单元格,在 A2 单元格中,采用数据 集的集合函数 select 选出了一些行,并进行纵向扩展。此时,数据集中有一个当前行 的概念,即进行纵向扩展时,指针在数据集中一行一行往下移,如果此时附属单元格 中需要引用同一个数据集同一行的数据值,采用 dsn.#n 的表达式,系统会直接从当前 行中查找需要引用的值,由此效率大大加快。 如果在附属单元格中,采用 dsn.select_one(#n, exp) 的表达式,系统会在整个数据 集中搜索符合条件的行,再取出相应的值,使得效率大大降低。 当然,当前行只在采用 select 或 group 函数的单元格的附属单元格中才有效,如 果在别的单元格,当前行自动恢复到第一行了。 2. 权衡利弊,编辑权衡利弊,编辑 sql 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 91 页 共 141 页 报表中,经常会出现多个单元格的数据来自同一个数据表,但是取出的条件不一 样,或者条件相同,取出的字段或表达式不一样等等,如果你细心研究,会发现这些 单元格的数据完全可以通过一个 sql 取出来,然后再通过数据集的函数算出每个单元 格的值。 如果将多个 sql 合并以后,取出的数据量并没有增大非常多,那么我们建议您尽量 将 sql 合并,充分利用数据集函数中的条件表达式来算每个单元格的值; 如果 sql 合并后,取出的数据量增大了非常多,那么我们建议您尽量将 sql 拆开, 减少传输的数据量。 这两者是一个权衡的关系,sql 多的时候,系统访问数据库的次数多了,导致效率 低;反之,sql 少了,可如果传输的数据量变的非常大,同样会导致效率非常低。所以 需要用户根据实际情况权衡利弊。 3. 尽量在数据库端排序尽量在数据库端排序 4. 尽量在数据库端投影,即只选出必须的字段尽量在数据库端投影,即只选出必须的字段 5. 尽量在数据库端过滤,即只选出必须的数据行尽量在数据库端过滤,即只选出必须的数据行 6. 尽量在数据库端进行函数操作,如尽量在数据库端进行函数操作,如 trim(),tostring()等等 7. 尽量将主格排在子格的左边或上边或左上边尽量将主格排在子格的左边或上边或左上边 8. 对于短路操作符对于短路操作符 and,将,将 false 值可能性大的比较操作排在前面,特值可能性大的比较操作排在前面,特 别是在数据集过滤与排序时别是在数据集过滤与排序时 9. 对于短路操作符对于短路操作符 or,将将 true 值可能性大的比较操作排在前面,特别是值可能性大的比较操作排在前面,特别是 在数据集过滤与排序时在数据集过滤与排序时 10.尽量使用缺省属性值,减少内存占用尽量使用缺省属性值,减少内存占用 11.group、select、select_one 等数据集函数中若不使用过滤与排序条等数据集函数中若不使用过滤与排序条 件,则应直接使用占位符,而不用件,则应直接使用占位符,而不用 true 等表达式,以减少运算时间等表达式,以减少运算时间 12.对于对于 case 函数,把选中概率高的条件放在前面函数,把选中概率高的条件放在前面 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 92 页 共 141 页 13.if( exp =null, .) 或或 case( exp = null, .) 之类的可以使用之类的可以使用 nvl( exp, def ) 14.请尽量减少使用请尽量减少使用 ds()函数,这是一个动态解析参数的函数,需要消耗函数,这是一个动态解析参数的函数,需要消耗 更多的更多的 CPU 15.慎用慎用 proc 函数(未做)函数(未做) ,这是一个极消耗资源的函数,这是一个极消耗资源的函数 11.2固定行报表固定行报表 请看如下的例子: 这是一张会计凭证表,有一个特点:每页行数固定,都是 5 行,即使最后一页不 足 5 行,也必须用空行补足。 现在我们假设数据集的行数为 13 行,在 A4 单元格中计算出数据集的行数, A5 单元格中写入纵向扩展表达式:=0 to (A4/5-1),这时 A5 单元格会扩展成三组; 然后在 B5 单元格中写入纵向扩展表达式:=A5*5+1 to A5*5+5,这时每个 B5 又会 扩展成 5 行,而且 B5 扩展出来的值是 1 到 15,相当于记录的行号。 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 93 页 共 141 页 也就是说,13 行的记录变成了 15 行,能够被 5 整除,此时再按照行数分页,每页 5 行,即使最后一页也可以保证是 5 行了。 随后,在 C5 单元格中,调用数据集的 select 函数取出数据,函数中引用行号作为 取出条件,=ds3.select(#1,true,#0=b5),其中#0 是数据集的行号。 最后将 A、B 两列隐藏起来,因为他们的作用是补足空行,本身没有显示的意义。 11.3简化报表编辑简化报表编辑 常有这样的报表,其左表头或者上表头是一些可枚举的数据,例如:1 月,2 月, 3 月等,相应的数据区的表达式是一些和月份相关的表达式,这些表达式除了和月份 相关的部分不同外,别的部分完全一样。 这时候,就可以巧用 list 函数,把这些可枚举的数据写进 list 函数中,进行扩展, 然后在相应的表达式中引用表头单元格的值。如下图所示: 11.4动态列报表动态列报表 对于返回不定列的数据集,可以采取如下方式画报表,如下图所示: 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 94 页 共 141 页 其中: colcount(): 函数说明: 数据集的列数 语法: datasetName.colcount() fieldname(): 函数说明: 取数据集的列名 语法: datasetName.fieldname( stringExp ) datasetName.fieldname( intExp ) 参数说明: stringExp 返回数据集列名的表达式 intExp 返回数据集列号的表达式 field(): 函数说明: 取数据集的列对象 语法: datasetName.field( stringExp ) datasetName.field( intExp ) 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 95 页 共 141 页 参数说明: stringExp 返回数据集列名的表达式 intExp 返回数据集列号的表达式 11.5动态列分组报表动态列分组报表 编辑界面如下图所示: 从图中可以看出,对于分组报表,只要分组字段的顺序是已知的,需要显示细节 信息的字段未知的,那么就可以用动态列的办法来做,把未知的部分用 colcount(), field(), fieldname()函数来实现即可。 11.6动态列宽动态列宽 对于横向扩展的报表,缺省的列宽都是一样的,都和扩展前源格的列宽一致,但 是扩展出来的每一列的数据是不一样的,有的数据长度长,有的短,必然要求不一样 的列宽,在此有两种做法: 1、对于中文单元格,可以设定自动换行属性,这样单元格的宽度不变,但是文本自动 换行,单元格高度自动变化 2、对于数字或者日期、英文单词等单元格,设定自动换行不好看,此时可以在列首格 的列宽属性中写入表达式,例如:=maxwidth()*n 其中 maxwidth()函数返回当前 列最大字符长度,n 是每个字符需要的宽度 11.7动态改变统计图大小动态改变统计图大小 请看如下的例子: 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 96 页 共 141 页 由于统计图的数据是从数据库中动态取出,因此数据量时多时少。如上面的例子, 当产品的种类非常多的时候,条形图的柱子会变得非常细,甚至看不见,当产品种类 非常少的时候,条形图的柱子变得非常粗,很难看。 此时可以在条形图的右边设两个隐藏的单元格 B4 和 B5,B4 单元格固定不动, 它的高度相当于统计图标题和横轴标签所占的高度总和;B5 单元格的高度相当于条形 图一个柱子的高度。 在 B5 单元格中写上纵向扩展表达式:=ds1.group(#3,true),进行纵向扩展,该表达 式选出的其实就是产品的集合,这样有几个产品,B5 就扩展成几个,相应的,统计图 也被拉大了。 这样做的好处是:不管实际的产品数有多少,条形图的柱子粗细和间距都差不多 大。 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 97 页 共 141 页 十二十二. .表达式表达式 12.1操作符操作符 符 号 说明左操作 数 右操作 数 运算结 果 示例说明 数值数值数值A1+A2 或 2+3+加 字符串字符串字符串A1+A2 或 “2“+“3“ 数值数值数值A1-A2-减 无数值数值-A1 *乘数值数值数值A1*A2 /除数值数值数值A1/A2 对于数组100,10,0, eqExp 为 false 时也划分成 4 个集合,分别为100,10(且0(且=100,=10(且=0(且10)及其它(即0) sort 函数说明:函数说明: 对数组进行排序 语法:语法: sort( arrayExp, boolExp ) 参数说明参数说明: arrayExp返回数组的表达式,譬如 group,select,list 等函数 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 118 页 共 141 页 boolExp布尔表达式,true 表示对数组按升序排列,否则降序 maxwidth 函数说明:函数说明: 求当前列中所有非合并格的显示串的最大长度(注意:ASCII 码大于 255 的字 符长度为 2) 语法说明:语法说明: maxwidth() 12.4.3日期时间函数日期时间函数 date_time 函数说明:函数说明: 将字符串或长整数转换成日期时间 语法:语法: date_time(string) date_time(long) 参数说明:参数说明: string合法的日期格式的字符串 long以微秒计的长整数 datetime 等同于 date_time() datetime2 函数说明:函数说明: 将字符串转换成日期时间,转换时对其进行格式化 语法:语法: 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 119 页 共 141 页 datetime2(string, format) 参数说明:参数说明: string 合法的日期格式的字符串 format用于格式化的格式串 day 函数说明:函数说明: 从日期型数据中获得该日在本月中是几号 语法:语法: day(dateExp) 参数说明:参数说明: dateExp表达式,其结果必须为日期或中国日期时间格式的字符串 day_name 函数说明:函数说明: 从日期型数据中获得该日的星期名称 语法:语法: day_name(dateExp) 参数说明:参数说明: dateExp表达式,其结果必须为日期或中国日期时间格式的字符串 dayname 等同于 day_name() day_number 函数说明:函数说明: 从日期型数据中,获得该日位于一个星期中的第几天 语法:语法: day_number(dateExp) 参数说明:参数说明: 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 120 页 共 141 页 dateExp表达式,其结果必须为日期或中国日期时间格式的字符串 daynum 等同于 day_number() days_after 函数说明:函数说明: 计算两个日期型数据相差几天 语法:语法: days_after(dateExp1, dateExp2) 参数说明:参数说明: dateExp1起始日期表达式,其结果必须为日期或中国日期时间格式的字符 串 dateExp2结束日期表达式,其结果必须为日期或中国日期时间格式的字符 串 daysafter 等同于 days_after() hour 函数说明:函数说明: 从日期时间型数据中,获得当前时间位于一天中的第几个时辰 语法:语法: hour(datetimeExp) 参数说明:参数说明: datetimeExp表达式,其结果必须为日期或中国日期时间格式的字符串 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 121 页 共 141 页 minute 函数说明:函数说明: 从日期时间型数据中,获得分钟的信息 语法:语法: minute(datetimeExp) 参数说明:参数说明: datetimeExp表达式,其结果必须为日期或中国日期时间格式的字符串 month 函数说明:函数说明: 取得指定日期所在的月份 语法:语法: month(dateExp) 参数说明:参数说明: dateExp表达式,其结果必须为日期或中国日期时间格式的字符串 monthbegin 函数说明:函数说明: 取得指定日期所在月的月首 语法:语法: monthbegin( dateExp ) 参数说明:参数说明: dateExp表达式,其结果必须为日期或中国日期时间格式的字符串 monthend 函数说明:函数说明: 取得指定日期所在月的月末 语法:语法: monthend( dateExp ) 参数说明:参数说明: dateExp表达式,其结果必须为日期或中国日期时间格式的字符串 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 122 页 共 141 页 quaterbegin 函数说明:函数说明: 取得指定日期所在季度的首日 语法:语法: quaterbegin( dateExp ) 参数说明:参数说明: dateExp表达式,其结果必须为日期或中国日期时间格式的字符串 quaterend 函数说明:函数说明: 取得指定日期所在季度的末日 语法:语法: quaterend( dateExp ) 参数说明:参数说明: dateExp表达式,其结果必须为日期或中国日期时间格式的字符串 lastmonth 函数说明:函数说明: 取得指定日期在上月的同日,若无同一日,则返回上月月末 语法:语法: lastmonth( dateExp ) 参数说明:参数说明: dateExp表达式,其结果必须为日期或中国日期时间格式的字符串 lastyear 函数说明:函数说明: 取得指定日期在去年的同月同日,若无同月同日,则返回同月最后一天 语法:语法: lastyear( dateExp ) 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 123 页 共 141 页 参数说明:参数说明: dateExp表达式,其结果必须为日期或中国日期时间格式的字符串 relative_date 函数说明:函数说明: 从给定的日期型数据中,算出相差 n 天后的新的日期数据 语法:语法: relative_date(dateExp, nExp) 参数说明:参数说明: dateExp给定的起始日期表达式,其结果必须为日期或中国日期时间格式 的字符串 nExp整数表达式,需要求得 n 天后的新日期 reldate 等同于 relative_date() relative_time 函数说明:函数说明: 从给定的日期时间型数据中,算出相差 n 秒后的新的日期时间数据 语法:语法: relative_time(datetimeExp, nExp) 参数说明:参数说明: datetimeExp给定的起始日期表达式,其结果必须为日期或中国日期时间格 式的字符串 nExp 整数表达式,需要求得 n 秒后的新日期时间 reltime 等同于 relative_time() 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 124 页 共 141 页 second 函数说明:函数说明: 从日期时间型数据中,获得秒信息 语法:语法: second(datetimeExp) 参数说明:参数说明: datetimeExp表达式,其结果必须为日期或中国日期时间格式的字符串 seconds_after 函数说明:函数说明: 计算两个日期时间型数据相差几秒 语法:语法: seconds_after(datetimeExp1,datetimeExp2) 参数说明:参数说明: datetimeExp1起始时间表达式,其结果必须为日期或中国日期时间格式的 字符串 datetimeExp2结束时间表达式,其结果必须为日期或中国日期时间格式的 字符串 date 函数说明:函数说明: 将字符串转换成日期型数据 语法:语法: date(stringExp) 参数说明:参数说明: stringExp 字符串表达式,其结果必须返回合法日期格式的字符串 time 函数说明:函数说明: 将字符串转换成时间型数据 语法:语法: 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 125 页 共 141 页 time(stringExp) 参数说明:参数说明: stringExp 字符串表达式,其结果必须返回合法时间格式的字符串 year 函数说明:函数说明: 从日期型数据中获得年信息 语法:语法: year(dateExp) 参数说明:参数说明: dateExp表达式,其结果必须为日期或中国日期时间格式的字符串 now 函数说明:函数说明: 获得系统此刻的时间 语法:语法: now() daysinmonth 函数说明:函数说明: 获得指定日期所在月的天数 语法:语法: daysinmonth(dateExp) 参数说明:参数说明: dateExp表达式,其结果必须为日期或中国日期时间格式的字符串 daysinyear 函数说明:函数说明: 获得指定日期所在年的天数 语法:语法: 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 126 页 共 141 页 daysinyear(dateExp) daysinyear(year) 参数说明:参数说明: dateExp表达式,其结果必须为日期或中国日期时间格式的字符串 year 返回整数的表达式 weekbegin 函数说明:函数说明: 获得指定日期所在星期的星期天 语法:语法: weekbegin(dateExp) 参数说明:参数说明: dateExp表达式,其结果必须为日期或中国日期时间格式的字符串 weekend 函数说明:函数说明: 获得指定日期所在星期的星期六 语法:语法: weekbend(dateExp) 参数说明:参数说明: dateExp表达式,其结果必须为日期或中国日期时间格式的字符串 lastday 函数说明:函数说明: 获得指定日期的上一天 语法:语法: lastday(dateExp) 参数说明:参数说明: dateExp表达式,其结果必须为日期或中国日期时间格式的字符串 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 127 页 共 141 页 12.4.4数学函数数学函数 abs 函数说明:函数说明: 计算参数的绝对值 语法:语法: abs(numberExp) 参数说明:参数说明: numberExp待计算绝对值的数据 ceil 函数说明:函数说明: 计算在给定位置上大于等于给定值的最小浮点数 语法:语法: ceil(numberExp, nExp) 参数说明:参数说明: numberExp 给定数据值 nExp整数表达式,为正数表示取小数点后位置,为负数表示取小 数点前位置 cos 函数说明:函数说明: 计算参数的余弦值,其中参数以弧度为单位 语法:语法: cos(numberExp) 参数说明:参数说明: numberExp待计算余弦值的弧度数 exp 函数说明:函数说明: 北京润乾软件技术有限公司 创新技术推动应用进步创新技术推动应用进步 第 128 页 共 141 页 计算 e 的 n 次幂 语法:语法: exp(nExp) 参数说明:参数说明: nExp指定次幂数 fact 函数说明:函数说明: 计算参数的阶乘 语法:语法: fact(nExp) 参数说明:参数说明: nExp待计算阶乘的数据 int 函数说明:函数说明: 对参数进行取整,直接

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论