NCV6自由报表红皮书.docx

上传人:b****6 文档编号:6960733 上传时间:2023-01-13 格式:DOCX 页数:25 大小:53.70KB
下载 相关 举报
NCV6自由报表红皮书.docx_第1页
第1页 / 共25页
NCV6自由报表红皮书.docx_第2页
第2页 / 共25页
NCV6自由报表红皮书.docx_第3页
第3页 / 共25页
NCV6自由报表红皮书.docx_第4页
第4页 / 共25页
NCV6自由报表红皮书.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

NCV6自由报表红皮书.docx

《NCV6自由报表红皮书.docx》由会员分享,可在线阅读,更多相关《NCV6自由报表红皮书.docx(25页珍藏版)》请在冰豆网上搜索。

NCV6自由报表红皮书.docx

NCV6自由报表红皮书

自由报表技术红皮书

NC-UAP

用友NC-UAP

2020-04-04

第一章前言

1.背景

为满足各类用户在报表分析方面的综合要求,NC报表产品IUFO从版本开始提供了一个分析型报表的解决方案:

自由报表。

本文针对V6自由报表功能进行介绍,但是使用了部分版本的产品截图,后续会逐步替换。

自由报表具有以下特点:

1.针对企业不同业务角色,提供多样使用方式:

报表数据查询人员可以在报表数据查询结果上直接构建分析型报表,而不需具备较深技术背景;专业的分析报表设计人员则可以全面使用设计功能实现复杂报表的定义和发布;

2.支持多种数据来源:

系统内置报表数据提供者和多种语义模型提供者,还支持注册其他类型语义模型提供者,多来源数据都可以在一张自由报表中进行数据分析和展现;

3.报表支持多区域模型,多个区域按照数据分析结果各自动态展开;多区域和多数据来源之间均可以设置依赖关系,能灵活组合拼装出各类样式的复杂报表;

4.格式设计和报表展现效果一致:

各种数据分析和格式设置都在设计界面有直观展现,特别是交叉表的设计方式突破以往,能够可视化的直接定义维度指标及各类展现效果;

5.提供了分析图表功能:

提供了各类常见图表分析功能;

6.分析功能和交互性加强:

全面支持排序/过滤/分组/统计/交叉/排名函数/TopN等分析功能,并具有页维度和待定参数等交互特性。

7.支持数据追踪:

自由报表中的明细数据和统计数据都支持追踪到原始数据。

8.针对大数据量的处理:

利用数据库的处理能力进行多级汇总数据的处理,展现层在电子表格中实现平滑分页,可以分页加载明细数据。

2.入门

使用自由报表的基本流程介绍。

2.1自由报表的新建

1)选择自由报表功能节点,就会出现如下界面:

2)接下来我们选中左面目录树中的一个目录,选择工具栏上的“新增”,如下图:

3)报表卡片界面中填写“自由报表名称”、“自由报表编码”,如下图:

4)点击工具栏中“保存”之后,该目录下的报表列表中就会出现刚才新建的报表,如下图:

2.2自由报表的格式设计

1)在自由报表界面选中需要格式设计操作的报表,点击工具栏中的“格式设计”如下图:

2)报表的“格式设计”主界面如下:

3)主界面中主要包含菜单、工具栏、自由报表导航区域、数据显示区域以及语义模型视图等部分。

如下图:

2.3语义模型的使用

1)点击“数据集视图区域”上方的工具栏中的“插入语义模型”,出现选择语义模型界面,如下图,选中已经定义好的语义模型“user”。

2)点击“确定”,报表设计界面的语义模型信息框中就会出现被选择的语义模型,如下图:

2.4可扩展区域

1)可扩展区域是为了放置语义模型的区域,有两种定义方式,一种是选中一定区域,然后右键菜单中选择“设置可扩展区域”,如下图:

2)可扩展区域定义界面如下图,填写相应的信息。

3)点击“确定”之后,数据显示区域就会出现此可扩展区域,如下图:

4)拖动右面语义模型信息框中语义模型的元数据,放入设置的可扩展区域中,如下图:

5)设置可扩展区域的另一种方式:

直接拖动右面语义模型信息框中的语义模型,放入数据显示区域,如下图:

2.5数据预览功能

1)定义完可扩展区域,并且放置语义模型之后,就可以对数据进行查看了,点击工具栏中的“预览”按钮,如下图:

2)点击“预览”之后,数据就会显示在数据显示区域,如下图:

2.6分析功能

以排序功能为例,介绍分析功能的使用方法

1)选中可扩展区域中的某一元数据,然后选择工具栏上的数据分析功能按钮,如下图:

2)点击工具栏中的“排序”,数据显示区域显示如下:

3)点击“预览”,会看到数据按升序来显示,如下图。

如果此时保存了报表格式,则报表浏览时也会按照此排序设置进行报表数据展开。

3.小结

自由报表基于语义模型,以电子表格的方式进行报表格式设计,并可以设置各种分析功能。

在报表浏览状态依然可以更改各类分析功能,达到实时交互分析数据的效果。

第二章基本功能

1.可扩展区域管理

下面详细介绍可扩展区域的定义,拆分,合并,移动,复制,删除等管理介绍。

1.定义可扩展区域

选择一个区域,右键设置可扩展区,即可定义个可扩展区。

 

各设置项说明:

可扩展区名称:

用于标识和区分各可扩展区,为空时系统默认名称为其扩展区域。

可扩展区域:

标记可扩展区在自由报表中的区域。

扩展方向:

标记区域是横向扩展还是纵向扩展。

限定区域大小:

当选择“固定大小”时,可通过“限定行数”和“限定列数”来限制可扩展区扩展后的区域大小。

扩展依赖:

定义当前区域扩展时依赖的可扩展区域以及依赖扩展点。

依赖具体规则参见扩展规则介绍部分的扩展依赖介绍。

2.拆分可扩展区域

定义好可扩展区域后,可以对可扩展区域按行或按列进行区域拆分,将当前可扩展区拆分成两个可扩展区域。

 

3.合并可扩展区域

选中两个或两个以上的可扩展区域,可以对这多个可扩展区域进行区域合并,可以指定新合并区域的名称,并指定要合并到主合并区域,用于可扩展区模型的处理。

 

4.管理可扩展区域

右键管理可扩展区域,用于快速管理多个可扩展区域,包括添加,修改,删除等管理功能。

 

5.移动可扩展区域

可通过修改可扩展区域的区域设置来进行区域移动,也可以直接剪切然后粘贴来移动可扩展区域。

6.复制可扩展区域

全选可可扩展区域,然后复制,粘贴即可完成可扩展区域的复制粘贴。

可以用ctrl+c,ctrl+v进行快速操作。

2.排序

可以针对某个扩展区域中的语义模型设置多个排序字段,支持设置排序字段的升降序。

在排序字段上显示升序或降序标记,重复点击按照升序、降序、取消排序的顺序依次变化。

多个排序字段时按照从上至下,从左至右的顺序确定排序次序。

若有分组,则在组内排序,对分组字段也可以排序,也可以按照分组统计字段进行排序

排序前:

排序后:

3.筛选

可以针对某个扩展区域中的语义模型设置筛选,支持使用语义模型的待定参数,给参数设置默认值,在数据态下可以重新设置筛选条件值。

支持页维度。

根据选定的扩展区,设置筛选条件,筛选条件作为单独的功能,在格式态和数据态下都可以使用。

语义模型的待定参数可以针对使用语义模型的区域设置默认值。

参数值设置与筛选条件作为两个菜单项,在数据态和格式态都可以使用。

在从格式态切换到数据态时以及打开报表预览数据时自动出参数值设置界面。

支持从语义模型中拖拽字段到页头形成页维度,页维度相当于给所有使用了与页维度相同语义模型的区域设置了筛选条件。

语义模型设置的待定参数与扩展区域的筛选条件以及页维度一起筛选数据。

图例如下:

第一步:

第二步:

浏览数据:

4.固定成员

对于自由报表的数据展现,我们还提供了一种叫做“固定成员”的功能。

当对某个字段设置固定成员后,顾名思义就是在数据展现的时候会按照该字段设置的几个固定的成员和其顺序来展现数据。

其类似于筛选(如同SQL中的in)但又不同于筛选,如果查询的数据中没有固定成员中某个成员,在展现的时候仍然会出现该固定成员,只不过其他的字段没有记录而已。

比如用户希望只展现单位1、单位2、单位3的数据,那么就可以通过对单位设置固定成员来实现用户希望看到的数据。

固定成员的设置过程如下:

1、打开任意的一张自由报表,选中扩展区域中的任何一个字段,在工具栏中选择“固定成员设置”按钮,可对所选择的字段进行固定成员设置。

如下图1

图1

2、如下图2是固定成员设置的对话框。

当用户选中“固定成员”复选框后就可以对所选择的字段设置固定成员了。

用户可通过“添加”、“删除”按钮增加和删除固定成员,同时可以通过“读取数据”按钮装载数据库中存在的所有成员;通过“向上”、“向下”按钮调整固定成员的顺序,同时可以通过固定成员列表的表头来对固定成员进行排序,点击“成员”表头就会按成员值进行排序,点击“显示名称”表头就会按成员显示名称进行排序;可以编辑成员的显示名称来改变成员在数据展现的时候的显示名称。

图2

3、设置完固定成员后,在自由报表中浏览出的数据就仅仅含固定成员的数据记录,如果数据库中没有某个成员的记录就会出现空行(下图的302单位的数据就是),如下图3。

图3

4.如果想取消字段的固定成员设置,可在固定成员设置对话框中重新选中“默认成员”复选框,就取消了固定成员设置。

如图4、图5

图4

图5

5.以上演示的是普通的行列表的字段的固定成员的设置,交叉表纬度的固定成员设置是相同的操作。

注意:

1、不能对统计字段(一般是数值型的字段)设置固定成员

2、如果设置固定成员的时候修改了成员的显示名称,然后又取消了固定成员设置,但是设置的显示名称仍然会生效,除非在默认成员设置列表中将该成员与显示名称记录删除。

5.分组

可以针对某个扩展区域中的语义模型设置分组,支持多个分组字段,支持分组统计字段,支持分组内细节数据的交叉。

1)在一个扩展区域内,如果设置分组字段,则根据分组字段,将数据分组。

如果有2个以上的分组字段,则根据分组字段所在的位置确定分组次序,处于最外层的字段作为第一分组顺序。

如果多个分组字段在1行,则根据多个分组字段的组合值分组。

2)可指定放置在区域中的语义模型字段为分组字段;

3)可在扩展区域的单元中直接定义分组统计函数(会隐含确定一个分组字段),支持的统计函数列表:

求和、计数、平均、最大、最小;

4)设置了多个分组字段时,按照它们放置的位置从上到下、从左到右,作为其分组顺序;

5)分组字段和统计函数可以指定是否自动合并单元

分组操作的界面如下:

分组后:

6.分组统计

自由报表的分组统计,就是对自由报表的分组数据进行统计分析,分为合计、计数、平均、最大、最小五种类型。

1、建立自由报表,进入格式设计,创建行列区。

2、然后对扩展区进行分组:

3、将字段拖入扩展区,插入统计函数:

其中,合计、平均是针对数据型,对分组数据进行求和和求平均值;计数是对分组数据进行进行数目统计,最大和最小是对求分组数据的最大值和最小值。

4、数据预览,计数函数:

7.排名函数

排名函数用于计算出某个报表数据在指定范围内的排名。

自由报表在多级分组区域中支持对明细数据字段或者分组统计字段计算排名。

1.排名函数的设置

此功能按钮位于工具栏中,如图1-1所示。

图1-1

图1-2

设置界面如图1-2,“从大到小”表示按照数据从大到小进行排名;“允许并列”表示数据大小相同时排名相同;“排名范围”可以在语义模型的字段中进行选择,如果选择了某个分组字段,则表示在此分组级次中进行排名,如果非分组字段或者不选择,则为所有数据范围内进行排名。

2.明细字段的排名函数

图2-1是自由报表的格式设计界面,我们选中F4单元的“货币资金”字段,将其设置为排名函数(设置内容同图1-2)。

图2-1

图2-2

图2-2是报表浏览效果,F列就是计算出的货币资金在单位范围内的从大到小排名。

如果设置了“允许并列”,并且将排名范围设置成空(所有数据范围内排名),则报表效果有所变化,见图2-3:

图2-3

3.分组统计字段的排名函数

如图3-1,我们也可以将按单位统计的货币资金小计(F5单元格)设置为排名函数,这次我们设置的是从小到大进行排名。

图3-1

报表浏览效果见图3-2,红色字体的就是货币资金单位小计的排名。

图3-2

8.TopN分析

TopN分析是一种常见的报表数据分析功能,可以按照数据大小过滤出前N行用户最关注的业务数据。

自由报表在多级分组区域中支持TopN分析功能,在明细数据字段或者分组统计字段上均可设置。

1.TopN分析的设置

此功能按钮位于工具栏中,如图1-1所示。

图1-1

图1-2

设置界面如图1-2,“数据分析行数”表示用户关注的数据行数;可选择数据排列方式;“补足行数”的意思是当数据不足时,是否要用空数据补足数据分析行数,这个设置有助于报表结果的工整和美观;设置“显示“其他””表示多于分析行数的数据会进行汇总并显示为“其他”行。

设置完成后,在所设置的单元格的右上角会显示topN标记:

图1-3

2.在明细数据中设置了TopN分析的效果

图2-1是自由报表的格式设计界面,我们选中“货币资金”字段,为其设置TopN分析(设置内容同图1-2)。

图2-1

图2-2

图2-3

我们对比一下设置前后的报表浏览效果(分别是图2-2和图2-3),可以发现,货币资金值最大的前3行数据依然显示,而其他数据行汇总后显示成了一行数据。

3.分组报表中明细数据设置TopN分析的应用效果

这一次,我们对数据按照单位编码进行分组,图3-1显示区域中已经设置单位编码字段为分组字段。

图3-1

图3-2

图3-3

我们再来对比一下设置前后的报表浏览效果(分别是图3-2和图3-3),可以发现,每个分组内部货币资金值最大的前3行数据依然显示,而其他数据行汇总后显示成了一行数据。

如果我们在TopN分析中选择“补足行数”,就会发现报表变得非常工整了,见图3-4:

图3-4

4.分组报表中对小计字段设置TopN分析的应用效果

可扩展区域中已经设置了按照单位编码进行分组,如图4-1所示。

我们对按单位统计的货币资金小计(D5单元格)设置TopN分析,为了数据对比方便,这次的分析行数设置为2。

图4-1

图4-2

图4-3

我们再来对比一下设置前后的报表浏览效果(分别是图4-2和图4-3),单位货币资金小计值最大的前2个分组数据依然显示,而其他分组数据小计汇总后显示成了一行数据。

5.需要注意的规则

为了用户设置方便,我们并不限制设置TopN分析的字段个数。

但是实际上在每个分组级次中,只有检测到的第一个TopN分析生效。

例如图2-1中的一个普通列表,如果对后面的4个字段都设置了TopN,最终的报表展示也是图2-3的效果,系统会将统一级次的其他TopN分析自动置成不启用。

9.交叉

交叉表制作一般流程:

1)选定合适的区域设置成扩展区域;

2)将语义模型中的数据通过拖拽操作放置在设置好的扩展区域中的相应位置;

3)根据需要选择适当的交叉点设置交叉区域;

4)设置好交叉表后进行数据的浏览;

1.扩展区域的设置

选中区域鼠标右键点击设置可扩展区域,如下图:

点击确定如下图所示

2.扩展区域字段的设置

将语义模型中的字段通过拖拽操作放置在设置好的扩展区域中的相应位置如下图:

3.交叉区域字段的设置

选中扩展设置好的扩展区域进行交叉区域的设置,如下图:

A1:

C5为交叉区域、B2及货币资金为交叉点、B2:

C5为指标区域,交叉点相当于行列维度坐标轴的原点(交叉区)

4.进行交叉区域数据的浏览

点击浏览后数据展现如下图,同一单位同一年度不同月份的合计值

第三章分析功能综合应用

自由报表还支持设置区域之间的数据依赖关系,各种分析功能结合起来,灵活应用就可以组装出较为复杂的报表。

1.分组功能应用

分组常见的应用有两种,一是对列表中的分组应用;二是对交叉表结合分组应用。

1.1列表中的多级分组

1)如下一组数据(图1),直接预览时数据就是自由展现,那么用户就需要对数据利用单位名称、币种、会计期间等字段进行一些分组加工以便能让更容易对数据进行分析比较。

图1

2)首先我们先对单位名称字段设置分组,那么数据按单位进行分组,并且得出按单位分组合计值

图2

图3

3)在单位下还有币种和会计期间字段,可以根据需要再设置分组,对数据继续细化(图4、图5)。

图4

图5

4)另外一种格式展现效果

如下(图6)是1单位2009年3月的销售清单,为了更直观的掌握销售情况可以进行如下多层分组(图7)。

图6

格式设计如下:

图7

数据展现如下(图8):

图8

1.2交叉表结合分组应用

图1中的数据用交叉表展示时,分组也可以和交叉表结合在一起使用(图9)

图9

展示如下:

图10

2.数据依赖处理区域拼接

用户可能会需要设计一些较为复杂的统计表,例如数据来源于不同的系统,或者对于数据有不同的统计口径,而这些数据又要集中体现在一张统计报表中。

之前的产品,如果用户想处理复杂数据,只能利用查询引擎的功能,做数据表的关联或者定义复合查询,然后才能把一个查询引入到报表中来。

查询的设计太过复杂,针对一个查询的报表设计的灵活性和直观性又都比较差。

V55自由查询中使用多个可扩展区域的数据依赖功能解决了这个难题。

交叉表是一种常用的报表统计样式。

自由报表中交叉表的设计比较直观:

在一个可扩展区域内,可以拖入行列维度字段和设置统计指标,并可以直接设置各类指标名称和单元格式。

还可以设置是否显示行列标题。

由此,对于复杂的统计报表,我们给出的解决方案是:

根据报表数据内容,将其拆分成多块,这样每一块的数据来源单一且统计口径简单。

每一块都可以利用一个可扩展区域来设置,而各块之间,只要通过设置数据依赖关系,并且选择性地隐藏某些块的行列表头,就能使这些数据对应起来,最终拼接成一个无缝复杂报表。

交叉表

如图3-01,单个交叉表的设计界面比较直观。

图3-01交叉表的设计界面

图3-02是交叉表的数据浏览结果。

图3-02交叉表展开效果

复杂报表的拼接

如图3-03,设置两个交叉表,并设置其数据依赖关系,同时设置右边的区域“不显示行表头”。

数据依赖关系的内容是(地区名称依赖于区域1.地区名称

客商名称依赖于区域1.客商名称)

图3-03两个区域设置数据依赖关系

如图3-04,这样的两个交叉表最终浏览结果看起来就是一个统计表啦。

图3-04拼接的展开效果

第四章报表发布节点

1.报表发布

在自由报表管理功能中,可以对设计好的自由报表进行“发布节点”,对于第一次发布的节点,可以在发布向导中同时进行功能和菜单的设置。

如果希望将多张自由报表继续发布到同一个功能节点,则可以选择“追加”方式,然后选择一个已有节点进行发布即可。

发布设置界面如下:

2.发布后节点

自由报表发布后的节点成为一个普通NC功能,功能注册、菜单注册和功能权限控制都是NC统一机制管理的。

这个节点我们一般称之为一个报表节点。

报表节点中的多张报表共用查询条件,这意味着查询条件或者查询方案的变化会作用到本节点的所有报表上面。

报表节点的典型界面如下:

报表节点的主要交互方式:

打开节点

节点内所有报表在右边以多页签形式打开,显示报表基本格式,但是不加载报表数据。

点击查询

根据节点的查询模板配置等内容,如果有查询条件输入界面,则弹出界面供用户设置。

根据查询条件进行报表数据的加载和显示。

选择查询方案

对于左侧面板显示的用户已保存的查询方案,鼠标点击时直接按照查询方案内容进行报表数据加载和显示。

切换报表页签

按照当前的查询条件/查询方案内容,进行对应报表数据加载和显示。

第五章穿透和联查

1.报表穿透

自由报表穿透是指按照用户在报表格式中设定的穿透规则,进行关联报表的数据查看。

报表穿透暂时没有提供业务扩展机制。

目前支持两种方式:

穿透到单张自由报表直接浏览;穿透到自由报表发布后节点。

2.报表联查

报表联查是根据业务需要进行当前报表的关联数据查看等动作,这是一个业务扩展机制,需要业务产品根据扩展机制进行联查功能的开发。

2.1接口TraceDataInterface

package*业务联查接口,由业务组根据具体业务去实现

*

*@authorwanyonga

*

*/

publicinterfaceTraceDataInterface

{

ITraceDataOperator[]provideTraceDataOperator();

}

联查操作接口ItraceDataOperator主要方法有:

/**

*业务联查菜单下注册菜单项的名字

*

*@return

*/

publicStringgetMenuItemName();

/**

*扩展追踪动作

*

*@return

*/

publicAction[]ctreateExtensionActions();

/**

*执行业务联查各业务模块根据需求执行联查操作

*

*@paramcontainer

*联查过程中弹出对话框等需要的父组件。

*@paramparam

*联查参数

*/

publicvoidtraceData(Containercontainer,TraceDataParamparam);

2.2注册方式

业务模块需要首先将接口TraceDataInterface的实现类注册到iufo_tracedataregister表中。

然后在“报表平台-〉分析建模-〉语义模型管理”节点中,为已经建立的语义模型配置联查接口实现类。

2.3联查的执行

报表节点中,如果引用的语义模型中配置了联查接口实现类的话,会在联查菜单下出现具体业务联查菜单项,每个菜单项会调用到对应的联查动作Action。

2.4工具方法

在报表节点内进行报表切换,可使用报表平台提供的工具方法:

publicclassFreeReportFuncletUtil{

/**

*在发布后节点内切换报表显示

*

*@paramcontainer

*@paramreportID

*@paramdrillParam

*@return

*/

publicstaticbooleanshowReport(Containercontainer,StringreportID,FreeReportDrillParamdrillParam)

方法参数说明:

Containercontainer:

父窗口。

StringreportID:

目标报表的id。

FreeReportDrillParamdrillParam:

自由报表打开时的穿透参数。

穿透参数是自由报表进行报表数据加载的一种参数条件。

在报表执行的时候,如果发现上下文中有报表穿透参数,则会执行查询交互接口IQueryAction的doQueryByDrill方法。

此方法具体内容详见第六章的扩展机制介绍。

如果需要打开另一个报表节点,则推荐使用下面的工具方法:

publicclassFreeReportFuncletUtil{

/**

*通过联查参数打开报表节点中的指定报表

*

*@paramfuncode

*@paraminitData

*@return

*/

publicstaticbooleanopenReportNode(Stringfuncode,FuncletInitDatainitData)

方法参数说明:

Stringfuncode:

目标节点的功能编码。

FuncletInitDatainitData:

这是UAP封装的打开节点时的初始数据对象。

对于报表节点的打开,要求这个FuncletInitData对象的initData属性实现IReportNodeInitData接

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 实习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1