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

[可视化] 交叉表 动态添加数据样式问题

lijw50新手上路 显示全部楼层 发表于 2022-1-7 10:50:52 |阅读模式 打印 上一主题 下一主题
1
未解决

【可视化】 交叉表 动态添加数据样式问题

  • 永洪vip lijw50新手上路
  • 2022-01-07 10:50:52
  • 发布在 论坛
2227 10
8.0版本交叉表脚本与那行正常,但是升级到9.0后 交叉表的脚本需要修改样式麻烦看一下

回复

使用道具 举报

精彩评论10

lijw50新手上路 显示全部楼层 发表于 2022-1-7 11:19:01
帮忙看看  脚本私发
回复

使用道具 举报

_贝贝白银一 显示全部楼层 发表于 2022-1-7 13:01:40
90版本有什么问题呢,看下效果截图
回复

使用道具 举报

lijw50新手上路 显示全部楼层 发表于 2022-1-7 13:13:55
本帖最后由 lijw50 于 2022-1-7 16:30 编辑
永洪tech-Muse 发表于 2022-1-7 13:01
90版本有什么问题呢,看下效果截图

80版本运行正常的脚本  但是到90版本运行时出现了问题 交叉表对应的脚本defaultSelectFirst(syb);

function getDateByYearMon(obj){
  var arr = obj.firstDates[0].substring(1).split('-');
  return parseDate((arr[0] * 100) + (Integer(arr[1]) + 1),'yyyyMM');
}

var date = getDateByYearMon(Year_Mon);
param['monthname'] = substring(formatDate(date,'yyyyMM'),4,6) + '月';
param['YearMon'] = integer(formatDate(date,'yyyyMM'));
//param['YearMonStart'] = integer(formatDate(dateAdd(date,'month',-11),'yyyyMM'));
param['YearMonStart'] = integer(formatDate(date,'yyyy') + '01');
param['YearMonEnd'] = integer(formatDate(date,'yyyy') + '12');




var sel_arr = dimensions.getSelectedObjects();
var chexi = dimensions_chexi.getSelectedObjects();

var targetArr = new Array();

var arr = new Array();
var arr_chexi = new Array();

var color1 =new Color(15921906);
var color2 =new Color();

if(param['target_dim'] == '公司目标'){

  dimensions.setSelectedObjects([].STRING);
  arr.push('项目');
  arr.push('指标名称');

  targetArr.push('战法');
  targetArr.push('月度');
  var loc01 =new Locator([''],OBJECT,DETAIL);
   文本11.setForeground(loc01,color1);

  列表过滤1.enabled = 列表过滤3.enabled = 列表过滤4.enabled = 列表过滤5.enabled = 列表过滤6.enabled = false;
  列表过滤7.enabled = 列表过滤8.enabled = 列表过滤9.enabled = 列表过滤10.enabled = 列表过滤11.enabled = false;
  文本23.visible = true;
}else if(param['target_dim'] == '战法目标'){
  arr.push('项目');
  for (var i = 0; i < sel_arr.length; i++) {
    arr.push(sel_arr);
  }
  arr.push('指标名称');

  targetArr.push('公司');
  targetArr.push('月度');

  列表过滤1.enabled = 列表过滤3.enabled = 列表过滤4.enabled = 列表过滤5.enabled = 列表过滤6.enabled = true;
  列表过滤7.enabled = 列表过滤8.enabled = 列表过滤9.enabled = 列表过滤10.enabled = 列表过滤11.enabled = true;
  文本23.visible = false;
}else {
  arr.push('项目');
  for (var i = 0; i < sel_arr.length; i++) {
    arr.push(sel_arr);
  }
  arr.push('指标名称');

  targetArr.push('公司');
  targetArr.push('战法');

  列表过滤1.enabled = 列表过滤3.enabled = 列表过滤4.enabled = 列表过滤5.enabled = 列表过滤6.enabled = true;
  列表过滤7.enabled = 列表过滤8.enabled = 列表过滤9.enabled = 列表过滤10.enabled = 列表过滤11.enabled = true;
  文本23.visible = false;
}


for(var i = 0; i < chexi.length; i++){
  arr_chexi.push(chexi);
}

param['target'] = targetArr;


交叉表1.binding.clearRowHeaders();

for(var i = 0; i < arr.length; i++){
  var bcol = new BCol(arr, STRING, true);
  var dimCol = new DimCol(bcol);
  if(arr == '项目'){
    bcolSort = new BCol('PL',INTEGER,true);
    dimCol.sortType = 5;
    dimCol.groupSpan = true;
    dimColSort = new MeasureCol(Max,bcolSort,null);
    dimCol.sortBy = dimColSort;
  }else if(arr == '指标名称'){
    bcolSort = new BCol('排序',INTEGER,true);
    dimCol.sortType = 5;
    dimCol.groupSpan = true;
    dimColSort = new MeasureCol(Max,bcolSort,null);
    dimCol.sortBy = dimColSort;
  }
  debug(arr)

  交叉表1.binding.addRowHeader(dimCol,i);

  //添加“车系”行
  if(arr == '项目'){
  if(arr_chexi.length > 0){
    var bcol = new BCol(arr_chexi, STRING, true);
    var dimCol = new DimCol(bcol);
        DEBUG()
    交叉表1.binding.addRowHeader(dimCol);
  }
  }
}

回复

使用道具 举报

_贝贝白银一 显示全部楼层 发表于 2022-1-7 13:53:35
交叉表区域的剧中对齐可以参考函数setVAlignment:设置垂直对齐方式。  setHAlignment:设置水平对齐方式。
var loc = new Locator(["产品种类", "咖啡因类型"], CELL, HEADER);
var loc1 = new Locator(["产品种类", "产品种类"], CELL, HEADER);
//图表1.getHAlignment(loc,1)
图表1.setVAlignment(loc,3)
图表1.setHAlignment(loc1,1)

交叉表locator定位参考链接
https://www.yonghongtech.com/hel ... ighlightsub=locator
setH.png
回复

使用道具 举报

lijw50新手上路 显示全部楼层 发表于 2022-1-7 14:31:09
永洪tech-Muse 发表于 2022-1-7 13:53
交叉表区域的剧中对齐可以参考函数setVAlignment:设置垂直对齐方式。  setHAlignment:设置水平对齐方式。 ...

没有效果

asdfasdf

asdfasdf
回复

使用道具 举报

lijw50新手上路 显示全部楼层 发表于 2022-1-7 15:18:02
永洪tech-Muse 发表于 2022-1-7 13:53
交叉表区域的剧中对齐可以参考函数setVAlignment:设置垂直对齐方式。  setHAlignment:设置水平对齐方式。 ...

帮忙看看呢
回复

使用道具 举报

lijw50新手上路 显示全部楼层 发表于 2022-1-7 16:27:54
永洪tech-Muse 发表于 2022-1-7 13:53
交叉表区域的剧中对齐可以参考函数setVAlignment:设置垂直对齐方式。  setHAlignment:设置水平对齐方式。 ...

帮忙看看呢?是我的脚本写的有问题么
回复

使用道具 举报

_贝贝白银一 显示全部楼层 发表于 2022-1-7 16:52:08
把你加的脚本截图看下呢,加在哪里的呢
回复

使用道具 举报

lijw50新手上路 显示全部楼层 发表于 2022-1-10 09:06:31
永洪tech-Muse 发表于 2022-1-7 16:52
把你加的脚本截图看下呢,加在哪里的呢

放在变化运行时
微信截图_20220107142920.png
回复

使用道具 举报

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

  • 官方微信

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

    扫码关注
  • 新浪微博

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

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

会员等你来哦

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