-
-
土豆我是马铃薯 数据达人Lv4
发表于2019-1-18 19:08
楼主
本帖最后由 土豆我是马铃薯 于 2019-1-18 20:03 编辑
亿信BI有多种钻取方式,逐级式钻取可以在逐级下钻时进行传参。但是当逐级钻取到叶子节点时,点击叶子节点无法进行热区联动。最近遇到这样一个场景,点击列表表元进行逐级下钻并同时热区联动统计图。
有的小伙伴会提到可以用组合式进行钻取,经测试,热区式执行的是刷新整个页面的操作,当执行组合式钻取时会把热区的参数值清空。
则
实现方法是在万能式钻取中写一个if判断,当点击表元不是叶子节点时,执行逐级式钻取,反之,执行热区式钻取。万能式脚本如下:
if('<#=grid11.a2.isleaf#>'=='false')
{_zqn("@nm1=<#=GRID11.A2.txt#>;@jc1=<#=GRID11.A2.value#>","","",false)
}else{_zcalcn([['Widget1','HHH72','@jc1=<#=GRID11.A2.value#>;@nm1=<#=GRID11.A2.txt#>']])}
其中grid11.a2是设置钻取的表元,其各种钻取脚本的书写方法可参考如下
亿信BI有多种钻取方式,逐级式钻取可以在逐级下钻时进行传参。但是当逐级钻取到叶子节点时,点击叶子节点无法进行热区联动。最近遇到这样一个场景,点击列表表元进行逐级下钻并同时热区联动统计图。

有的小伙伴会提到可以用组合式进行钻取,经测试,热区式执行的是刷新整个页面的操作,当执行组合式钻取时会把热区的参数值清空。
则
实现方法是在万能式钻取中写一个if判断,当点击表元不是叶子节点时,执行逐级式钻取,反之,执行热区式钻取。万能式脚本如下:
if('<#=grid11.a2.isleaf#>'=='false')
{_zqn("@nm1=<#=GRID11.A2.txt#>;@jc1=<#=GRID11.A2.value#>","","",false)
}else{_zcalcn([['Widget1','HHH72','@jc1=<#=GRID11.A2.value#>;@nm1=<#=GRID11.A2.txt#>']])}

其中grid11.a2是设置钻取的表元,其各种钻取脚本的书写方法可参考如下

5个回答
土豆我是马铃薯 发表于 2019-1-18 19:44
客户只想点击一次就能执行两种操作。菜单式太繁琐,客户不采纳呢
哦哦,那是组合式,不好意思,说错了
缱绻 发表于 2019-1-18 19:49
哦哦,那是组合式,不好意思,说错了
组合式试过啦,因为逐级式执行的是刷新整个页面的操作,若用组合式,逐级时会把热区传的参数刷新掉变成空值。这应该是关于钻取逻辑的问题