永洪社区

标题: 表格1如何和两个列表参数联动查询 [打印本页]

作者: 汤七七七七七    时间: 2021-12-15 11:53
标题: 表格1如何和两个列表参数联动查询
如图所示:
期望实现通过维度、指标两个列表参数联动查询下面的表1,完成选择对应项的时候,表1显示对应数据
脚本怎么写?
同时表格中选择字段有什么注意事项,比如表达式字段是否可引用,对应的表格列名如何调整,表格数字格式、位置等如何调整。
在实际脚本测验中,总是报错,而且表格列名总是回归原始字段名称,无法显示修改后列名;无法调整数字格式、背景色等。

作者: _贝贝    时间: 2021-12-15 11:53
期望实现通过维度、指标两个列表参数联动查询下面的表1,完成选择对应项的时候,表1显示对应数据
脚本怎么写?【列表参数1为维度、列表参数2为度量、脚本写在变化时运行】

   
表1.binding.clearCols();
var lens=列表参数1.getSelectedObjects().length
//表1.binding.clearCols();
for(var i=0;i<列表参数2.getSelectedObjects().length;i++){
        表1.binding.addCol(i,new MeasureCol(SUM,new BCol(列表参数2.getSelectedObjects()[i],DOUBLE,false),null));
   var loc=new Locator(["Sum_利润"],CELL,DETAIL);
表1.setFormat(loc,DECIMAL_FORMAT)   //设置格式
表1.setFormatPattern(loc, "#,##0.##%")
    }
for(var i=0;i<lens;i++)
{
var colname=列表参数1.getSelectedObjects()[i];
var bcolState = new BCol(""+colname+"",STRING,false);
var colState = new DimCol(bcolState);
表1.binding.addCol(i,colState);

}


   
同时表格中选择字段有什么注意事项,比如表达式字段是否可引用,对应的表格列名如何调整,表格数字格式、位置等如何调整。
(表达式字段可以引用,维度和聚合分开在不同的列表参数中)(列名可以在数据库处理好别名,绑定的时候就是绑定的别名)(绑定的位置是根据脚本执行顺序来的,以上脚本是维度在度量前,可以看一下for循环这一块)

在实际脚本测验中,总是报错,而且表格列名总是回归原始字段名称,无法显示修改后列名;无法调整数字格式、背景色等。(格式和背景色都需要提前在for循环绑定之后设置好,写在脚本中)

   var loc=new Locator(["Sum_利润"],CELL,DETAIL);
表1.setFormat(loc,DECIMAL_FORMAT)   //设置格式
表1.setFormatPattern(loc, "#,##0.##%")

(如果要单独绑定后设置别名,维度字段不支持脚本设置,可以看下这个帖子如何绑定后设置别名,先转度量再做别名设置)
动态绑定时度量字段可以至脚本设置别名,维度字段不能设置  需要以创建度量的方法来实现。

脚本:
var bcol1 = new BCol("PRODUCT",STRING,false); //创建底层字段
var ccol1= new MeasureCol(NONE,bcol1,null);     //创建度量字段并设置聚合类型为空。
ccol1.col = bcol1;
ccol1.view = "产品"; //设置别名
表1.binding.addCol(0, ccol1)

var bcol = new BCol("COGS",INTEGER,false); //创建底层字段
var ccol = new MeasureCol(SUM, bcol, null);     //创建度量字段并设置汇总类型SUM
ccol.col = bcol;
ccol.view = "别名-价值"; //设置别名
表1.binding.addCol(1, ccol)//绑定表格

作者: _贝贝    时间: 2021-12-15 13:19
您好,是想实现动态绑定字段的吗,当前是哪个版本呢
作者: 汤七七七七七    时间: 2021-12-15 13:35
永洪tech-zxx 发表于 2021-12-15 13:19
您好,是想实现动态绑定字段的吗,当前是哪个版本呢

就我选择列表参数里的字段,表格里就会有这些字段。
当前版本8.0,版本不同,对应的脚本格式会有不同么?
作者: _贝贝    时间: 2021-12-16 13:19
您好,92版本以后可以不使用脚本,使用参数列可以直接实现动态绑定并且多选,也不会影响格式和字体设置,建议可以考虑升级。




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