找文章 / 找答案
  • 发帖数39
  • 粉丝1

此人很懒,什么也没有留下

  • 解答问题超厉害

    经常帮助其他会员答疑
精选问答 更多内容

[可视化] 较前名

Ethereal青铜四 来自手机 显示全部楼层 发表于 2021-11-30 10:52:13 |阅读模式 打印 上一主题 下一主题
3
未解决

【可视化】 较前名

4751 12
数据如图所示,我想要实现文本组件中显示较前面得分情况,例如福建排名第二,那它较前一名的甘肃省得分结果应该是-1,请问这个如何实现?
mmexport1638240705823.png
回复

使用道具 举报

精彩评论12

永洪Tech-CIDX白银二 显示全部楼层 发表于 2021-11-30 11:02:32
文本组件里需要显示的具体数据是?可以做个列子吗
回复

使用道具 举报

Ethereal青铜四 来自手机 显示全部楼层 发表于 2021-11-30 11:15:57
永洪Tech-wj 发表于 2021-11-30 11:02
文本组件里需要显示的具体数据是?可以做个列子吗

前提如题目所说得到-1,文本组件里展示的样子是这样的
mmexport1638242110195.png
回复

使用道具 举报

永洪Tech-CIDX白银二 显示全部楼层 发表于 2021-11-30 17:20:16
我们需要新建三个计算列,两个计算列分别找出第一名的数据和第二名的数据,然后第三个计算列计算出差值
1.第一个计算列内容:用于获取第一名的分数
if col['排名' ==1
then col['得分'
end
第一个计算列内容.png
2.第二个计算列内容:用户获取第二名分数
if col['排名' ==2
then col['得分'
end
第二名每日.png
3.第三个计算列内容:用于计算差值
Max(col['第二名得分') - Max(col['第一名得分')

第三计算列内容.png
4.新建一个文本组件用于获取计算列的内容,直接绑定第三个计算列,这里的文本组件的名称是“文本1”



文本组件绑定.png
5.再新建一个文本组件,这里的文本组件的名称是“文本2”,用于显示最后的效果,最后的效果是根据文本1里的值,如果为负数,显示绝对值,并把字体颜色修改为绿色
6.在报告的脚本中写入脚本:
var data1 = 文本1.data;
var loc=new Locator([],OBJECT,DETAIL);
var color1 = new Color(0xff0000);//红色
var color2 = new Color(0x00fff00);//绿色
var color3 = new Color(0xfffff00);//黄色
if(data1 < 0){
    文本2.data = "↓ " + data1 * -1;//为负数时,转为正数
    文本2.setForeground(loc,color2);//修改颜色为绿色
}else if(data1 > 0){
    文本2.data = "↑ " + data1;//为正数时,只拼接箭头符号
    文本2.setForeground(loc,color1);//修改颜色为红色
}else{
    文本2.data = "--" + data1;//为0时,只拼接箭头符号
    文本2.setForeground(loc,color3)////修改颜色为黄色
}
脚本内容.png





回复

使用道具 举报

美滋滋白银二 显示全部楼层 发表于 2021-11-30 17:26:02
我没太明白,按照你说的这个,任何一个地区较前一名的得分不都是 -1 吗? 那文本组件显示的不就是固定的 -1 了吗?
回复

使用道具 举报

Ethereal青铜四 来自手机 显示全部楼层 发表于 2021-11-30 17:37:13
歪打正着 发表于 2021-11-30 17:26
我没太明白,按照你说的这个,任何一个地区较前一名的得分不都是 -1 吗? 那文本组件显示的不就是固定的 -1  ...

不一定每名之间得分是有规律的递进,我只是随便编的数字,举例子
回复

使用道具 举报

美滋滋白银二 显示全部楼层 发表于 2021-11-30 17:45:37
那你用文本组件表现的话,只能表现某一个固定地区针对前一名的差。你是要只表现某个固定地区吗?
还是说,我有个筛选条件,当选择某个区域的时候,文本组件就需要展示对应的区域较前一名的得分差?
回复

使用道具 举报

Ethereal青铜四 来自手机 显示全部楼层 发表于 2021-11-30 17:53:50
歪打正着 发表于 2021-11-30 17:45
那你用文本组件表现的话,只能表现某一个固定地区针对前一名的差。你是要只表现某个固定地区吗?
还是说, ...

有个省的下拉参数
回复

使用道具 举报

美滋滋白银二 显示全部楼层 发表于 2021-11-30 17:57:01
你的数据结构就是如图所示的吗?数据表中有地区,排名及分数字段,是吗?
如果是这样的话,可以通过脚本来计算分差并进行显示。
回复

使用道具 举报

Ethereal青铜四 来自手机 显示全部楼层 发表于 2021-11-30 17:59:44
永洪Tech-wj 发表于 2021-11-30 17:20
我们需要新建三个计算列,两个计算列分别找出第一名的数据和第二名的数据,然后第三个计算列计算出差值
1. ...

这个应该是只能固定算第二名与前名的得分变动情况吧,我想要的是我用下拉参数选择省,文本组件里就显示这个省与前名的得分变动情况
回复

使用道具 举报

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

  • 官方微信

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

    扫码关注
  • 新浪微博

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

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

会员等你来哦

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