永洪社区

标题: 参数列功能用法 [打印本页]

作者: 神奇的一天    时间: 2021-8-30 13:19
提示: 作者被禁止或删除 内容自动屏蔽
作者: _贝贝    时间: 2021-8-30 13:20
92版本以后的参数列可以多选
作者: 神奇的一天    时间: 2021-8-30 13:51
提示: 作者被禁止或删除 内容自动屏蔽
作者: _贝贝    时间: 2021-8-30 14:13
可以用脚本实现动态绑定
作者: 神奇的一天    时间: 2021-8-30 14:16
提示: 作者被禁止或删除 内容自动屏蔽
作者: _贝贝    时间: 2021-8-30 14:18
类似的方式可以参考这个链接
https://club.yonghongtech.com/fo ... 1%E7%BB%91%E5%AE%9A
作者: _贝贝    时间: 2021-8-30 14:37
或者使用多个参数组件
作者: 神奇的一天    时间: 2021-8-30 17:40
提示: 作者被禁止或删除 内容自动屏蔽
作者: _贝贝    时间: 2021-8-30 17:55
可以参考脚本实现动态绑定  两个参数组件分别录入需要绑定的度量、维度字段
//通过判断列表参数的值与表格绑定的值的数量相等,不相等则清空表
    if(Table1.binding.colCount>(param1.getSelectedObjects().length+param1.getSelectedObjects().length)){
        Table1.binding.clearCols();
    }
    //循环绑定度量字段
    for(var i=0;i<param2.getSelectedObjects().length;i++){
        Table1.binding.addCol(i,new MeasureCol(SUM,new BCol(param2.getSelectedObjects()[i],DOUBLE,false),null));
    }
    //循环绑定维度字段
    for(var j=0;j<param1.getSelectedObjects().length;j++){
        Table1.binding.addCol(j,new DimCol(new BCol(param1.getSelectedObjects()[j],STRING,true)));
    }
作者: 神奇的一天    时间: 2021-8-30 18:05
提示: 作者被禁止或删除 内容自动屏蔽
作者: _贝贝    时间: 2021-8-31 09:28
建议先看一下这个 ,方法一样的,脚本注释也很清楚,便于理解
https://club.yonghongtech.com/forum.php?mod=viewthread&tid=9318&highlight=%E5%8A%A8%E6%80%81%E7%BB%91%E5%AE%9A
作者: 神奇的一天    时间: 2021-8-31 10:32
提示: 作者被禁止或删除 内容自动屏蔽
作者: _贝贝    时间: 2021-8-31 10:46
不同数据集写法不一样,根目录下直接引用数据集,改一下后缀。比如产品自带的是sql类型的,后缀就是sqry。可以在底层看,如果在query的直接目录下,直接改名字就行。不在的话,就改个路径。
作者: 神奇的一天    时间: 2021-8-31 11:02
提示: 作者被禁止或删除 内容自动屏蔽
作者: _贝贝    时间: 2021-8-31 11:13
15658371067 发表于 2021-8-31 11:02
可以帮我查一下吗?我这边看不了底层文件,ORACLE数据库

后缀名也是sqry
作者: 神奇的一天    时间: 2021-8-31 14:14
提示: 作者被禁止或删除 内容自动屏蔽
作者: _贝贝    时间: 2021-8-31 14:38
15658371067 发表于 2021-8-31 14:14
我尝试了一下,还是不可以,底层文件也查询了,但是还是会出问题,有没有其他办法做出来了,可不可以寻求你 ...

我本地就是用的脚本实现动态绑定 。

作者: _贝贝    时间: 2021-8-31 15:02
注意 度量和维度要分开,一个参数组件放维度,一个参数组件放度量,可以直接参考这个jar包
作者: 神奇的一天    时间: 2021-8-31 15:10
提示: 作者被禁止或删除 内容自动屏蔽
作者: _贝贝    时间: 2021-8-31 15:40
第一步:使用两个列表参数录入数据,一个放维度一个放度量,见图‘字段’
第二步:直接复制脚本写在变化时运行
  //动态绑定维度

图表1.binding.clearCols();//清除表格绑定的字段
var lens=列表参数1.getSelectedObjects().length//获取列表参数的长度
//表1.binding.clearCols();
for(var i=0;i<lens;i++)//循环绑定
{
var colname=列表参数1.getSelectedObjects();
var bcolState = new BCol(""+colname+"",STRING,false);
var colState = new DimCol(bcolState);
图表1.binding.addCol(i,colState);
}

//动态绑定度量
for(var i=0;i<列表参数2.getSelectedObjects().length;i++){
图表1.binding.addCol(i,new MeasureCol(SUM,new BCol(列表参数2.getSelectedObjects(),DOUBLE,false),null));
    }

最后,预览报告查看是否生效

作者: 神奇的一天    时间: 2021-8-31 16:26
提示: 作者被禁止或删除 内容自动屏蔽
作者: 神奇的一天    时间: 2021-8-31 16:26
提示: 作者被禁止或删除 内容自动屏蔽
作者: _贝贝    时间: 2021-8-31 16:30
15658371067 发表于 2021-8-31 16:26
拜托了,不然要升级版本,比较麻烦

我这边没有单点的环境,或者私信留一个向日葵账号,我远程看一下吧
作者: 神奇的一天    时间: 2021-8-31 16:36
提示: 作者被禁止或删除 内容自动屏蔽




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