找文章 / 找答案
精选问答 更多内容

[可视化] 表格1如何和两个列表参数联动查询

汤七七七七七青铜四 显示全部楼层 发表于 2021-12-15 11:53:03 |阅读模式 打印 上一主题 下一主题
如图所示:
期望实现通过维度、指标两个列表参数联动查询下面的表1,完成选择对应项的时候,表1显示对应数据
脚本怎么写?
同时表格中选择字段有什么注意事项,比如表达式字段是否可引用,对应的表格列名如何调整,表格数字格式、位置等如何调整。
在实际脚本测验中,总是报错,而且表格列名总是回归原始字段名称,无法显示修改后列名;无法调整数字格式、背景色等。
Snipaste_2021-12-15_11-48-32.png

最佳答案

_贝贝 白银一 关注Ta

2021-12-15 11:53:04

期望实现通过维度、指标两个列表参数联动查询下面的表1,完成选择对应项的时候,表1显示对应数据 脚本怎么写?【列表参数1为维度、列表参数2为度量、脚本写在变化时运行】 表1.binding.clearCols(); var lens=列表参数1.getSelectedObjects().length //表1.binding.clearCols(); for(var i=0;i
查看完整内容
回复

使用道具 举报

精彩评论4

_贝贝白银一 显示全部楼层 发表于 2021-12-15 11:53:04
期望实现通过维度、指标两个列表参数联动查询下面的表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)//绑定表格
注意事项.png
回复

使用道具 举报

_贝贝白银一 显示全部楼层 发表于 2021-12-15 13:19:02
您好,是想实现动态绑定字段的吗,当前是哪个版本呢
回复

使用道具 举报

汤七七七七七青铜四 显示全部楼层 发表于 2021-12-15 13:35:30
永洪tech-zxx 发表于 2021-12-15 13:19
您好,是想实现动态绑定字段的吗,当前是哪个版本呢

就我选择列表参数里的字段,表格里就会有这些字段。
当前版本8.0,版本不同,对应的脚本格式会有不同么?
回复

使用道具 举报

_贝贝白银一 显示全部楼层 发表于 2021-12-16 13:19:00
您好,92版本以后可以不使用脚本,使用参数列可以直接实现动态绑定并且多选,也不会影响格式和字体设置,建议可以考虑升级。
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部