五花八门的钻取
钻取功能列表
跳转式
【效果】
跳转式在钻取的时候,存在报表的跳转展现,也就是必然有两张表支撑,一张主表、一张钻取子表,如下图所示,主表按行政区划展示,点击北京,跳转查看子表的数据:
【设置】
- 钻取类型:跳转式;
- 子表:设置需要跳转展示的子表代号;
- 打开方式:有五种打开方式供选择(弹出新窗口、打开选项卡、下方显示、右侧显示、刷新本页面);
- 继承表元的过滤条件:打勾,此处打勾可将过滤条件参数自动传递给子表,子表之需要定义<#=@zqfilter#>实现数据自动过滤;
- 参数设置:如果还需要传递其他的参数,可在此处定义参数传递;
折叠式
【效果】
折叠式在钻取的时候是层层展开的形式查看钻取内容,如下图,卫生机构类别第一级展示数据,点击"卫生院"前面的加号,可展开卫生院的下级,即街道卫生院和乡镇卫生院:
【设置】
- 钻取类型:折叠式;
- 逐级展开表元:此选项为默认勾选项,默认按照浮动的维表,按照维度级次层层展开;
- 展开其他表:可选项,如果勾选,那么点击加号展开的就不是维度的下级,而是子表的数据;
- 钻取到叶子节点是跳转到其他表:可选项,默认情况是下钻到维度叶子节点后不再下钻,如果勾选该功能,那么首先根据维度层层展开,展开到叶子节点时,点击叶子节点,则跳转到其他报表(此处同跳转式钻取);
逐级式
【效果】
逐级式的钻取是按照维度的级次,层层下钻,如下图第一层按照省市展示数据,点击河北省,钻取查看河北省下各个市的数据:
【设置】
- 钻取类型:逐级式;
- 钻取到叶子节点是跳转到其他表:可选项,默认情况是下钻到维度叶子节点后不再下钻,如果勾选该功能,那么首先根据维度层层下钻,钻取到叶子节点时,点击叶子节点,则跳转到其他报表(此处同跳转式钻取);
嵌入式
【效果】
嵌入式钻取,也涉及到两张报表,一张主表,一张子表;
嵌入式钻取达到的效果是:将子表的内容嵌入到主表的某容器位置进行展示。
如下图所示,主表为地图+右侧容器(HHH5),HHH5容器中看到的标题和统计图是属于子表(zb)。看到的效果即子表嵌入到主表中展示,形成一张整体的报表。
【设置】
- 钻取类型:嵌入式;
- 子表:设置需要跳转展示的子表代号;
- 子表显示位置:指定子表的内容中主表的哪一块区域进行展示,此处会列出主表所有可选的区域,在下拉框中选择相应区域即可;
- 继承表元的过滤条件:打勾,此处打勾可将过滤条件参数自动传递给子表,子表之需要定义<#=@zqfilter#>实现数据自动过滤;
- 参数设置:如果还需要传递其他的参数,可在此处定义参数传递;
联动式
【效果】
图中,点击柱状图上的某个柱子或是报表中的某一个报表期,都可以对饼图中的数据进行刷新。
分析:
柱状图的钻取比较好实现。双击柱状图,在"统计图设置"对话框中,点击"动态效果"设置选项,将"将数据点的链接"设置为"使用表元的链接"即可。那么关键就是如何让饼图根据表格的选择而联动。
【实现】
制作按报表期浮动的分析表如下:
将饼图拖入到工作区域,饼图的编号为(HHH5),并对饼图进行如下设置:
此处的值设置为[C2:F2]是为了第一次计算报表时饼图有一个默认的结果。
在报表的A2表元,报表期指标中要进行钻取设置如下:
- 在联动方式有:图形联动、文字联动、数据联动。此处选择"图形联动";
- 图显示区域:系统会自动列出报表上所有统计图,此处我们选择的是饼图所对应的统计图图号。
- 参数设置中,对数据区域、数据名称、系列名称、主标题以及副标题进行相应的设置。
- 数据区域,即指标值,必填项:<#=C2#>,<#=D2#>,<#=E2#>,<#=F2#>
- 数据点名称,即指标名称,必填项:<#=C1#>,<#=D1#>,<#=E1#>,<#=F1#>
- 系列名称,必填项:<#=B2.txt#>
- 主标题和副标题是可选项。
菜单式
【效果】
菜单式钻取,顾名思义在钻取的时候会出现菜单选项,选择需要钻取的方式。实际上菜单式钻取就是多种钻取的组合,满足单表元多钻取路径的需求。
如下图所示,点击"北京市",出现菜单选项,有两个钻取方向,点击不同的钻取方向可以钻取查看不同的钻取子表内容:
【设置】
- 钻取类型:菜单式;
- 菜单名称:定义钻取是,下拉菜单显示内容;
- 钻取方式:当前菜单对应的钻取方式;支持菜单式钻取的钻取方式有:跳转式、折叠式、逐级式、嵌入式、联动式、外链式、热区式、浮动式,选择不同的钻取方式,可出现相应的其他设置项;
- 继承表元的过滤条件:打勾,此处打勾可将过滤条件参数自动传递给子表,子表之需要定义<#=@zqfilter#>实现数据自动过滤;
- 参数设置:如果还需要传递其他的参数,可在此处定义参数传递;
外链式
【效果】
外链式钻取即钻取链接到服务器之外的其他URL资源。
【举例】
- URL链接地址:http://172.16.45.72:8888/zcajgl/jsp/tjfx/main.jsp?pageUrl=sjc_fy.jsp;
- 打开方式:弹出新窗口;
- 定义了两个参数:beginTimeendTime;
- 最后弹出的链接的地址为:http://172.16.45.72:8888/zcajgl/jsp/tjfx/main.jsp?pageUrl=sjc_fy.jsp &beginTime=2015-05&endTime=2015-06;
热区式
【效果】
热区式用于刷新指定区域或容器的图表数据。
如下图左侧是主表,右侧是钻取子表,与跳转式置于右侧的方式不同的是,此处没有将屏幕分隔成两块。
图2- 89
【实现】
在分析表拖入两个容器,第一个容器(容器名称HHH6)中制作主表照行政区划浮动,第二个容器(容器名称HHH7)制作子表按照企业浮动。
在主表的行政区划浮动表元进行钻取设置,如下:
在子表企业名称浮动表元中写过滤条件如下,表示第一次刷新时没有传递行政区划,此时默认计算北京(110000)的数据,否则按所传递的行政区划计算数据。
组合式
【功能介绍】
所谓组合式,就是多种钻取方式组合在一起使用,用来实现比较复杂特殊的报表钻取效果。如下图:是热区式加联动式,因为各种方法在以上文章中有所介绍,所以此处不再赘述。
浮动式
【效果】
下图分析各医疗机构类型的总收入和总支出,点击医院的总支出,打开右侧浮动面板,显示浮动面板中的详细的总支出结构的数据:
【设置】
第一步:编辑浮动区
使用浮动式钻取的前提,必须在浮动编辑区有浮动面板,所以在报表定义完成的基础上,打开浮动编辑区,拖入浮动面板参数,浮动面板里面需要显示什么内容可以根据需求自定义。浮动面板里面可以拖入参数组件、分析区表格、文本等;
第二步:设置浮动式钻取
- 浮动区:指定钻取显示的浮动面板的编号;
- 显示:如果打勾,点击之后一直显示浮动面板;如果不打勾,点击一次(显示),再点击一次(收回);
- 互斥:如果打勾,当有多个浮动面板时,同时只能显示一个;
万能式
【功能介绍】
所谓万能式就是写钻取函数实现,用于实现复杂的、以上功能均元法实现需求时,以上各种钻取函数都可以在万能式中使用,除此之外还可以使用脚本:
功能 | 新版钻取函数 |
---|---|
跳转式 | _zn(rpt,params,target,width,isconditions) Rpt:当前报表id或者代号 Params:报表参数 Target:钻取表显示位置 Width:宽度(或者高度) Isconditions:继承表元过滤条件 |
联动式 | _zgn(gcell,datas,captions,type,seriesTitle,maintitle,subtitle) Gcell:统计图控件的name Datas:钻取的数据 captions:名称 type:类型 seriesTitle 系列表体 maintitle:主标题 subtitle:副标题 |
折叠式 | _zrn(isexpandotherrpt,leafrpt,leafrptparams,isconditions) Isexpandotherrpt:是否钻取展开到其他表 Leafrpt:子报表id 或者代号, Leafrptparams:钻取子表参数 Isconditions:继承表元过滤条件 |
嵌入式 | _zin(rpt, params,target, isconditions) Rpt:当前报表id或者代号 params:报表参数 target:钻取表显示位置 isconditions:继承表元过滤条件 |
逐级式 | _zqn(params,leafrpt, leafrptparams,isconditions) Params:报表参数 Leafrpt:子报表id 或者代号 Leafrptparams:钻取子表参数 Isconditions:是否继承表元过滤条件 |
菜单式 | _zmenun(configs) Configs:菜单配置 |
外链式 | _zun(url, target, params) url:要显示的url地址 target:钻取表显示位置 params:报表参数 |
组合式 | _zcombn(funcs) funcs 需要调用的钻取函数数组 |
联动式(数据联动) | _zvaluen(containername, paramArr) Containername:控件名 paramArr:参数数组:["<#=@bbq#>","<#=B5>"...] |
联动式(文字联动) | _ztxtn(containername, paramArr) Containername:文本控件名 paramArr:参数数组:["<#=@bbq#>","<#=B5>"...] |
热区式 | _zcalcn(params) Params:报表参数 |
万能式 | javascript:alert(); |