轻松掌握BIReport钻取函数Word文件下载.docx
《轻松掌握BIReport钻取函数Word文件下载.docx》由会员分享,可在线阅读,更多相关《轻松掌握BIReport钻取函数Word文件下载.docx(15页珍藏版)》请在冰点文库上搜索。
本表钻取
_zq
_zq()
本表元向下钻取,主要用于多级代码维和通用维的钻取,如是多级代码维将会根据维级次层层钻取,如是通用维将会按维表设置的钻取路径钻取。
_zr
_zr(rpt,drillcell,params,leafrpt,leafparams)
在报表模板的计算结果中,展开维的下级数据。
drillcell:
为钻取表元,如为"
"
表示表元自己。
leafrpt:
当钻取到叶子节点后转向到其他的报表
leafparams:
钻取到叶子节点表要传递的参数
类似olap的展开功能只需要在表元的链接属性中直接使用javascript:
_zr()
钻取他表
_z
_z(rpt,params,target,dontshowdlg)
从某主表链接到一张新表
_zi
_zi(rpt,params,target,width)
将钻取出来的结果表显示在本表的右方或者下方
刷新本表统计图
_zg
_zg(datas,caption,seriestitle,maintitle,gcell)
直接刷新本表中的统计图,不需要重新计算表。
datas:
统计图生成图片所需要的数据
captions:
统计图指标的标题
seriestitle:
系列的标题
maintitle:
统计图标题
gcell:
统计图的源表元,钻取后的统计图,也显示在该表元上,该表元可以不传,不传时,就取默认的本表的第一个统计图表元
带菜单的钻取
_zm
_zmenu([['
菜单名'
func,p1,p2,..],[]])
亦称:
_zmenu
可根据参数创建一个菜单并显示出来
一个二维数组,每个元素都对应一个菜单项,其组成为:
_zmenu([[菜单项的文字,事件处理函数,事件处理函数的参数1,参数2],[]……])
7、钻取的参数
在此,请以上钻去函数体中较为通用的参数作一下自我介绍,大家对他们有个印象即可,记不住也没关系,我们在使用时可以随时查找并对号入座:
参数
用法
例
rpt
(我通常表示钻取的目的表)
目的表的代号,名称,id等都可以
B1
B1表
Params
(我起桥梁作用,钻取与被钻取表之间的过滤条件由我来传递)
目的表要使用的参数名=传过去的值,参数对之间用分号分隔
@dq=<
#=A2#>
A2表元对应的文字赋给参数@dq
在钻取函数中设置的参数,一般作为钻取表的过滤条件
Target
(钻取目的表的显示方位我掌控)
钻取表显示的方位
适用于_zi的有:
right(_zi默认):
显示在右侧
bottom:
显示在下侧
适用于_z的有:
Self(_z默认):
显示在本表中
Blank:
弹出一个的新窗口来显示
表元名:
显示在本表的某个表元中,一般情况下为一个表头表元
Dontshowdlg
(我知道钻取处理时间及计算效率)
不显示计算等待对话框
false(默认):
显示
true:
不显示
Width
(钻取目的表的“高矮胖瘦”由我说了算)
表示显示钻取表的区域所占据的高度或者是宽度
0.3和30都表示30%,默认为0.5
大于100的表示具体的宽度以象素为单位
如果达人们有兴趣将所有钻取函数一一试过,便知咱们可以用_zq()、_zr()函数从同一个角度来看数据,用_z()、_zi()等函数另一个角度看数据,选择喜欢的角度来看则用_zm()。
8、值得一提
A:
默认情况下,以html方式(非插件)显示的报表,在进行每一种钻取的时候都可以预先在IE的左下角看见钻取传递的路径和参数,便于我们进行正确性检查,如下图所示:
B:
钻取表如想要继承被钻取表元中所有过滤条件,可以在钻取函数中不用设置过滤参数,直接在钻取表右下角的报表过滤条件中写公式<
#=@zqfilter#>
,此过滤条件意思是继承钻取表元具有的所有过滤条件(包括:
表元过滤条件、所属维的过滤条件、上级维表元的过滤条件(如有多个浮动)、表的过滤条件)
[素材]
wiki地址:
钻取函数和参数说明:
https:
//58.49.52.114/wiki/pages/viewpage.action?
pageId=19038231
钻取过滤条件等高级主题:
pageId=45842440
函数说明:
参考报表:
http:
//192.168.1.200:
8080/bi2.1/?
id=study&
pw=study中的【仪表盘和钻取】
目前BI@Report系统所支持的钻取函数分别有:
_z、_zi、_zq、_zg,目的都是为了对分析表某些指标求明细,这些函数为脚本函数,要配合javascript脚本语言写在表元链接属性中来使用,下面分别对这些函数进行说明和列举。
1、_z()
函数体:
_z(rpt,params)
*说明:
*从某主表链接到一张新表,使某分析表某些指标求精展示。
参数:
rpt:
表示钻取到的另一张表
其取值可以是报表ID、报表标题、报表代号、报表保存组路径带报表代号
例如:
CIUZZ6BLMSUJLUFISUY2K45U37IE71VU
//报表id
总资产排名
//报表的标题
ZZCPM
//报表代号
行业主要指标排名\ZZCPM
//组路径带报表代号其中组的分割符号可以是/或者是\
params:
传递给链接表的参数,参数用分号分割,当前表计算时所用的参数会缺省的传递,
如:
@zb1=b1.c39;
@mc=总资产
//表示将b1.c39传递给@zb1,将"
总资产"
传递给@mc
举例:
javascript:
_z('
WB_CGYH'
'
@bbq=<
#=@bbq#>
;
@sw=<
#=@sw#>
'
)
链接到WB_CGYH表,并将参数
(bbq和)sw传递过去。
其中:
@bbq为报表期参数,@sw为资金单位;
如果主表计算时用到了这两个参数,将会缺省传递链接表中,可以直接将公式写成:
在钻取表中可以直接引用这些参数,如这个例子中可在WB_CGYH表的"
报表期属性"
中的"
数据期条件"
填写:
bbq()=@bbq来对报表期加以控制,使之继承主表报表期。
2._zq()
_zq(cellname)
说明:
本表向下钻取,主要用于多级代码维和通用维的钻取,如是多级代码维将会向下钻取,如是通用维将会按维表设置的钻取路径钻取。
cellname:
表元名
A1,A2......<
#=clinf(self(),'
name'
)#>
//表示返回当前表元的表元名
_zq('
<
#=clinf(self(),"
name"
)
//对浮动表元自己下钻
用_zq()函数通过与报表脚本的结合使用,可以实现先下钻到维的某指定级次后,再链接到其他表,用法如下:
_zq(level,cellname,filter)
level:
维代码的级次,0表示第一级如:
#=diminf('
swjg'
clinf(A2,'
@id'
),'
$LEVEL'
//将返回当前id对应'
维表的级次
filter:
过滤条件,一般为传递给链接到其他表的参数,参数用分号分割,当前表计算时所用的参数会缺省的传递如:
@zqswjg=<
#=clinf(A2,'
//表示返回浮动表元A2的id
报表脚本:
functionzq(level,cellname,filter)
{if(level>
=4){
//当级次大于或等于第4次时
ZQ3.9.5'
filter);
//链接到ZQ3.9.5表
}
else
{
_zq(cellname);
//否则向下钻取
}
A2表元的链接表达式:
zq(<
)
//结合上面的脚本语句:
根据id先向下钻取,钻到id的第四级后链接到表3.9.5
注意:
swjg为多维代码维或者通用维的钻取路径中有钻取属性
3._zi()
表示钻取表的或者名称或者标题
//报表代号
传递给链接表的参数,参数用分号分割,当前表计算时所用的参数会缺省的传递如:
target:
表示钻取结果表显示的地方,有两个字符串可选值right和bottom,缺省为right,也可以指定原表的表头表元。
width:
表示显示结果表的区域所占据的高度或者是宽度,比如:
0.3和30都表示30%,大于100的表示具体的宽度以象素为单位,缺省为0.5
isgraphics:
表示是显示图还是图表。
该函数是和target参数配合起来使用,如果target是本表的表头表元(HHH0),那么就把链接的表或图显示在
target指定的表元中。
为true,表示只显示图,默认为false
举例:
_zi('
ZQKHH_GS'
"
@inputcode=<
#=b2#>
bottom"
30"
//将钻取的ZQKHH_GS表显示在当前表的下方并且占居整个窗口大小的30%
HHH2"
true)
//将钻取的ZQKHH_GS表显示在当前表表头表元HHH2中,并且只显示表中的统计图
4._zg()
表示在本表中显示图,而且图的数据也是来自于本表,出图的时候,不需要重新计算表。
datas、captions、serestitle需要引用宏表达式的写法,比如<
#=A2$#>
某表为双向浮动分析表,纵向浮动单位名称,横向浮动报表期。
在分析表刷新结果上点击某一单位名称时,表格下方将显示这个单位所有报表期的一张分析图。
那么在表元名称的链接属性中可以写如下语句:
_zg('
#=C2$#>
#=C1$#>
趋势图'
HHH4'
C2$为数据表元、C1$为单位名称、A2$为报表期,HHH4为统计图显示的位置,此处为表头表元。
5._zmenu()
_zmenu(configs)
_zmenu函数会根据参数创建一个菜单并显示出来。
configs:
[菜单项的文字,事件处理函数,事件处理函数的参数1,参数2,...]
比如:
_zmenu([["
钻取A1"
_zq,"
A1"
],["
钻取A3"
A3"
]])。
某指标点击后可弹出一个菜单即可选择查看"
的详细情况,也可选择查看"
净资产"
的详细情况。
可以在指标表元名称的链接属性中写如下语句:
_z,'
zq_cwzk'
@mc=总资产;
@set_sw=<
#=@set_sw#>
_z,'
@zb1=A1.G3;
@mc=净资产;
]])
如上语句,第一个"
[]"
内表示第一个菜单项,第二个"
内表示第二个菜单项。
第一个"
中第一个参数"
是菜单项的文字,第二个参数_z表示使用的事件处理函数,第三个参数中包括了_z()函数的所有参数。
函数完成后效果如下:
当用户点击"
指标"
后将弹出一个菜单选项,当用户选择不同的选项时所链接的参数也会有所不同。
另外:
事件处理函数可以是一个字符串,即函数的名字,比如_zmenu([["
"
_zq"
]]