yhdata_SeZ1vTa1白银三
2022-4-7 14:02:52 发布在问答
【可视化】 自由表值引用问题
在自由表中计划本次与上次相比,结果是-711。 就是比上一次下降了711,如果在富文本中引用这个值, 如何将-711修改为下降了711, 如:“本次比上次下降了711"。
2022-04-07_135856.png

最佳答案

永洪tech-程前 青铜一

2022-04-07 14:02:53

var f1 = getViewData("图表3"); var f2 = f1.get(0, 0); debug(f2) //f3表示数字类型的最终值 var f3 = parseFloat(f2); debug(f3) //f4表示数字类型的绝对值 var f4 = abs(f3) debug(f4) //f5表示数字类型的绝对值的百分数 var f5 = formatNumber(f4,"#.##%") debug(f5) //f6表示判定正负条件下的显示内容 var f6 = f2 > 0 ? "上升"+f5 : "下降"+"-"+f5; debug(f6) ...
查看完整内容
4233
13
精彩评论13
永洪tech-程前青铜一
发表于 2022-4-7 14:02:53 显示全部楼层
var f1 = getViewData("图表3");
var f2 = f1.get(0, 0);
debug(f2)
//f3表示数字类型的最终值
var f3 = parseFloat(f2);
debug(f3)
//f4表示数字类型的绝对值
var f4 = abs(f3)
debug(f4)
//f5表示数字类型的绝对值的百分数
var f5 = formatNumber(f4,"#.##%")
debug(f5)
//f6表示判定正负条件下的显示内容
var f6 =  f2 > 0 ? "上升"+f5 : "下降"+"-"+f5;
debug(f6)
回复

使用道具 2#

永洪tech-shenfs青铜一
发表于 2022-4-7 14:17:32 显示全部楼层
用脚本获取自由表这个格子的数据 附给参数A,然后文本中写 本次比上次下降了 ?{A}
回复

使用道具 3#

永洪tech-shenfs青铜一
发表于 2022-4-7 14:26:04 显示全部楼层
通过参数A的值的正负来判断 如果为>0.则参数B赋值为 上升,<0赋值参数B为下降 ,最后富文本 写 本次比上次 ?{B} 了?{A}
回复

使用道具 4#

yhdata_SeZ1vTa1白银三
发表于 2022-4-7 20:27:12 显示全部楼层
永洪tech-shenfs 发表于 2022-4-7 14:26
通过参数A的值的正负来判断 如果为>0.则参数B赋值为 上升,

这个脚本怎么写啊?比如a取 自由表(8,4)的位置,var data=getViewData("图表1"); var a=data.get(8,4);
回复

使用道具 5#

yanieye
发表于 2022-4-7 20:50:26 显示全部楼层
var d2 = getViewData("图表1");
var v2 = d2.get(8, 4);
var msg = v2 > 0 ? "本次比上次上升" : "本次比上次下降";
param['value2'] = msg + ": " + abs(v2);
回复

使用道具 6#

yhdata_SeZ1vTa1白银三
发表于 2022-4-8 17:21:12 显示全部楼层
本帖最后由 yhdata_SeZ1vTa1 于 2022-4-8 17:38 编辑
yanieye 发表于 2022-4-7 20:50
var d2 = getViewData("图表1");
var v2 = d2.get(8, 4);
var msg = v2 > 0 ? "本次比上次上升" : "本次比 ...

想再问一下:如果数据需要修改为百分比格式后,使用abs命令有报错:
class java.lang.String cannot be cast to class java.lang.Number (java.lang.String and java.lang.Number are in module java.base of loader 'bootstrap') at line 19


回复

使用道具 7#

SamuelLiu白银一
发表于 2022-4-8 18:30:55 显示全部楼层
看提示应该是您abs的值是一个string类型呢,看下对应的脚本
回复

使用道具 8#

yhdata_SeZ1vTa1白银三
发表于 2022-4-9 10:09:51 显示全部楼层
SamuelLiu 发表于 2022-4-8 18:30
看提示应该是您abs的值是一个string类型呢,看下对应的脚本

var f1= getViewData("图表3");
var f2= f1.get(8, 8);
var f3=formatNumber (f2,"#.##%");
var f4 = f2 > 0 ? "上升" : "下降";
param['f'] = f4  +abs(f3)
回复

使用道具 9#

永洪tech-程前青铜一
发表于 2022-4-9 10:17:56 显示全部楼层
yhdata_SeZ1vTa1 发表于 2022-4-9 10:09
var f1= getViewData("图表3");
var f2= f1.get(8, 8);
var f3=formatNumber (f2,"#.##%");

本地给您测试下,稍等
回复

使用道具 10#

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

  • 官方微信

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

    扫码关注
  • 新浪微博

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

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

用户等你来哦

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