U9自定义报表-模版U9客户化开发支持部苗庆波2009年06月13日课程编号:报表向导报表模版报表控件统一报表对象模型:以实现ERP应用中所有报表作为问题域抽象得到的通用对象模型,用于应用系统数据的可视化展现。以模型为指导重点认识报表布局,报表模版控件报表=数据查询逻辑OQLSQL可扩展业务逻辑(DataCommand )报表布局表格(Table)矩阵(Matrix)图表(Chart)子报表+统一报表对象模型使用向导创建报表修改配置文件 UBFStudio\IDEConfig.xml登录服务器,用户要有个性化报表设计权限连接报表元数据库新建报表目录新建报表容器新建报表:选择报表向导表格是报表最主要的展现形式,UBF报表用Table对象支持表格展现,Table分为表头、表体、表尾、分组头/尾等区域,表格区域可独立灵活绘制无论是电子表格还是基于数据集生成的动态表格都能实现。报表模板设计—布局设计(自由表格)矩阵(Matrix):由交叉表演变而成的多维分析表,支持多维度(行维、列维),多度量的数据分析,支持对维度的数据小计。多维统计效果如下图报表模板设计—布局(多维数据分析)图表类型:柱状图、堆积柱状图、百分比柱状图、条形图、堆积条形图、百分比条形图、折线图、曲线图、饼图等维度类别:将数据集按照设定类别分类进行统计,类别在坐标中为自变量变量/度量:按照类别分类统计计算,得到统计值,作为因变量系列:在已有分类统计中进一步划分细类用颜色区分显示报表模板设计—布局(图表分析)UBF报表所有表达式都基于数据集运算结果填充到展现对象(例如用Fields!name1.Value语法从当前控件绑定数据集合中取字段name1的值参与运算,用Sum(Fields.Money.Value,”DataSet1”)语法取数据集DataSet1中Money列的合计值)。UBF提供60多个内置函数,分聚合函数、环境上下文、数学函数、字符函数、日期函数、逻辑函数、自定义函数七大类。全局上下文,如Contexts!LoginDateTime聚合函数,如Sum(expression), Avg(expression), Max(expression)数学函数,如Abs(numeric_expression), Ceiling(numeric_expression), Floor(numeric_expression)日期与时间函数,如Day(Date), Year(Date)文本处理函数,如Left(character_expression,integer_expression)其他函数,如IsNumeric(expression), IsDate(expression),IIf(bool_expression,truePart,falsePart)报表模板设计—布局(自由表达式运算)条件样式展现是指报表绘制对象的某些属性能随数据变化,如文本框背景色、前景色、显示属性,表格行的隐藏属性等举例:背景预警预警色中设置为=iif(Fields!Level.Value>0,"Blue","Red")该例功能是如果Level值大于0则背景色为蓝色,否则为红色报表模板设计—布局(条件样式展现)钻取是运行时报表最典型的交互行为,可实现报表到报表、报表到特定URL、报表到单据的跳转,可从源表行取值作为钻取目标的输入参数;从而实现汇总表联查明细表,明细表再联查相关报表或单据的应用场景。钻取在UBF报表中被定义为文本框和图表对象的特殊行为(Action),只要文本和图表能出现的位置都可以设置钻取。报表模板设计—布局(多级钻取)UBF报表中的表格(Table)和矩阵(Matrix)都能对数据进行分组汇总。企业应用通常要对报表数据进行分类分析,比如计算相同部门的销售额合计,计算不同月份销售数量的累积结果等,利用此特性都能轻松实现。举例(矩阵分组汇总见多维数据分析)报表模板设计—布局(数据分组汇总)子报表能将多张报表组合成一张报表从而实现更多的报表格式,子报表允许嵌套。报表模板—布局(子报表)报表模板—报表参数设置报表模板—报表参数设置报表模板—报表参数设置字段上点右键选扩展属性行分组,列分组设置栏目,排序设置报表模板—字段扩展属性设置报表模板—表达式设计器位置:TaxBox属性/文本报表模板—表达式设计器位置:TaxBox属性/文本报表模板—钻取设置位置:TaxBox属性/动作钻取在UBF报表中被定义为文本框和图表对象的特殊行为(Action),只要文本和图表能出现的位置都可以设置钻取跳转到其他页面:报表到特定URL跳转到其他报表:可实现报表到报表跳转到其他表单:跳转系统中的单据激活事件:回调到服务器,根据...