永洪社区

标题: 脚本参数获取多个数据或维度表中的一个 [打印本页]

作者: 江湖    时间: 2022-2-24 10:20
标题: 脚本参数获取多个数据或维度表中的一个
如图,目前  if(param['usercode']=='1009')  这一个数据,脚本运行正常。想实现当usercode是一串数据或维度表中的某一个时脚本运行也如常,该如何设置。   如usercode是 1009,1010,1011,1012中的某一个时

作者: _贝贝    时间: 2022-2-24 10:20
江湖 发表于 2022-2-24 14:38
能直接把脚本复制粘贴下不?   资源部署导入后,提示没有写权限,无法查看 ...

导入后代码如下
var arr1 = [1009,1010,1011];
var a = arr1.indexOf(param['usercode']); //判断传递的参数是否在数组里,如果在返回对应的位置,不在返回-1
if(a >=0){ //存在显示图表1
图表1.visible = true;
图表2.visible = false;
}else{//不存在 显示图表2
图表1.visible = false;
图表2.visible = true;
}

作者: _贝贝    时间: 2022-2-24 10:38
可以用indexof来判断是否包含
判断arr数组中是否包含param['usercode']

if(arr!=null){
var arr=[1009,1010,1011]
param['usercode']=1009
if(arr.indexOf(param['usercode'])>=0){ //包含A
debug('包含')
}
else{debug('不包含')} }

作者: 江湖    时间: 2022-2-24 10:57
我的需求不是这样的,usercode是传递过来的参数,我想实现的功能是,当usercode是某个数据维度中的一个数据时,报告中的部分图标展示出来。1009只是我的实列,如果我写出if(param["usercode"] in {1009,1010,1011})就报错
if(param["usercode"] == '1009'){
视光.visible = false;
医管.visible = false;
作者: _贝贝    时间: 2022-2-24 11:39
江湖 发表于 2022-2-24 10:57
我的需求不是这样的,usercode是传递过来的参数,我想实现的功能是,当usercode是某个数据维度中的一个数据 ...

数据维度转为数组,判断某个参数是否属于某个数组就行了 ,in是sql的用法,js语句中就是indexof可以,把你要判断的数据维度数据转为一个数组

我这个例子就是自己造数据把参数写死了,判断参数是否属于数组内的的数据。按照你说的 直接改一下debug就行了呀
var arr=[1009,1010,1011]  //这个是你要判断的数据维度

param['usercode']=1009  //这个是我定义的参数值

if(arr!=null){  

if(arr.indexOf(param['usercode'])>=0){ //indexof的用法是这样的返回数据位置,>0表示包含这个数
debug('包含')   //把这个改成你的条件,比如 visible=true或false
}
else{debug('不包含')} }
作者: 永洪tech-csj    时间: 2022-2-24 13:31
提示: 作者被禁止或删除 内容自动屏蔽
作者: 江湖    时间: 2022-2-24 14:38
永洪tech-csj 发表于 2022-2-24 13:31
您好,当前需求需要使用 indexOf 函数来进行判断,具体实现方法及脚本见附件case,您可以通过 管理系统-资 ...

能直接把脚本复制粘贴下不?   资源部署导入后,提示没有写权限,无法查看
作者: 江湖    时间: 2022-2-24 15:03
永洪tech-Muse 发表于 2022-2-24 10:20
导入后代码如下
var arr1 = [1009,1010,1011];
var a = arr1.indexOf(param['usercode']); //判断传递的参 ...

你好,在定义arr1的时候,是否可以=维度表中的某一列。   因为目前可能仅三个账号,后期账号多,我维护成excel的话,在这里写脚本是否可以抓取excel中的字段?




欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4