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

[数据处理] 用脚本计算出来的值,应该怎么在报表里使用呢?

yhdata_3lc5PXp6青铜三 显示全部楼层 发表于 2022-3-20 17:57:24 |阅读模式 打印 上一主题 下一主题
捕获.PNG
如图,我获取单元格的值,计算出了7个值,那么我应该怎么在报表里使用这7个值呢?

最佳答案

永洪tech-cp 青铜三 关注Ta

2022-03-20 17:57:25

嗯,后续版本我们看下如何优化,请持续关注
查看完整内容
回复

使用道具 举报

精彩评论27

永洪tech-cp青铜三 显示全部楼层 发表于 2022-3-20 17:57:25
yhdata_3lc5PXp6 发表于 2022-3-22 09:40
那也就是说 不支持脚本计算值到图表的映射是吧?

嗯,后续版本我们看下如何优化,请持续关注
回复

使用道具 举报

永洪tech-Yan青铜二 来自手机 显示全部楼层 发表于 2022-3-20 18:05:32
您要给什么组件赋值呢
回复

使用道具 举报

yhdata_3lc5PXp6青铜三 显示全部楼层 发表于 2022-3-20 18:20:39
永洪tech-Yan 发表于 2022-3-20 18:05
您要给什么组件赋值呢

我要给柱状图赋值。目前我知道怎么在富文本中把7个值显示出来。但是我在想这个计算的数是否可以像其他计算列一样,通过柱状图等组件把数据显示出来呢
回复

使用道具 举报

永洪tech-Yan青铜二 显示全部楼层 发表于 2022-3-20 18:31:35
yhdata_3lc5PXp6 发表于 2022-3-20 18:20
我要给柱状图赋值。目前我知道怎么在富文本中把7个值显示出来。但是我在想这个计算的数是否可以像其他计 ...

您好,可参考以下脚本
var arr=列表参数_分析指标.getSelectedObjects()

图表1.binding.clearYCols();//清除原来Y轴绑定的数据列

for(i=0;i<arr.length;i++){

var colname=列表参数_分析指标.getSelectedObjects();//获取展示的Y轴列

var b='Sum_'+colname

var bcol=new BCol(colname,STRING,false);

var mcol=new ChartMeasureCol(SUM,bcol,null);//创建图表所用的度量字段

var scol = new SingleMarkCol(mcol,LINE);

图表1.binding.addYCol(i,scol);

图表1.binding.markCol.showValues=true
回复

使用道具 举报

yhdata_3lc5PXp6青铜三 显示全部楼层 发表于 2022-3-20 18:43:06
永洪tech-Yan 发表于 2022-3-20 18:31
您好,可参考以下脚本
var arr=列表参数_分析指标.getSelectedObjects()

能说下你这个脚本啥意思吗?完全看不懂啊。还有就是这个脚本是和我的计算的脚本写一起吗?另外就是我要先添加一个柱状图吗?还是怎么操作?能不能说下具体的操作步骤?
回复

使用道具 举报

永洪tech-Yan青铜二 显示全部楼层 发表于 2022-3-20 18:49:46
yhdata_3lc5PXp6 发表于 2022-3-20 18:43
能说下你这个脚本啥意思吗?完全看不懂啊。还有就是这个脚本是和我的计算的脚本写一起吗?另外就是我要先 ...

柱图需要先创建一个出来,然后脚本放在您脚本下面。脚本内容其实就是获取数组,然后清除柱状图绑定的Y轴,然后用数组创建度量字段,再将这个字段绑定到柱图Y轴上。您的脚本是输出了两个字段吗?
回复

使用道具 举报

yhdata_3lc5PXp6青铜三 显示全部楼层 发表于 2022-3-20 18:57:18
永洪tech-Yan 发表于 2022-3-20 18:49
柱图需要先创建一个出来,然后脚本放在您脚本下面。脚本内容其实就是获取数组,然后清除柱状图绑定的Y轴 ...

我写的脚本是一共计算了7个中心的总和。我有两个柱状图,一个是分别显示7个中心每个中心自己的值(就是我用脚本计算的值),另一个是统计所有中心的总和(还要再用7个值求一次和)。

脚本是这样的:
var data=getData("图表6",DATA);
var data1 = getViewData("图表6",DATA);

var bjzx=0;//北京中心
var cdzx=0;//成都中心
var hnzx=0;//华南中心
var hnyyszx=0;//华南运营商中心
var xazx=0;//西安中心
var zzzx=0;//郑州中心
var shzx=0;//上海中心

var x;
for(x=1;x<=100;x++)
{
var a1=data.get(x,1);
if (a1=="成都中心")
{
cdzx=cdzx+data.get(x,4);
}
else if (a1=="华南中心")
{
hnzx=hnzx+data.get(x,4);
}
else if (a1=="华南运营商中心")
{
hnyyszx=hnyyszx+data.get(x,4);
}
else if (a1=="上海中心")
{
shzx=shzx+data.get(x,4);
}
else if (a1=="郑州中心")
{
zzzx=zzzx+data.get(x,4);
}
else if (a1=="西安中心")
{
xazx=xazx+data.get(x,4);
}
else if (a1=="北京中心")
{
bjzx=bjzx+data.get(x,4);
}
else if (a1==null||a1=="")
{
break;
}
}

debug("成都中心:"+cdzx)
debug("华南中心:"+hnzx)
debug("华南运营商中心:"+hnyyszx)
debug("西安中心:"+xazx)
debug("郑州中心:"+zzzx)
debug("上海中心:"+shzx)
debug("北京中心:"+bjzx)

param["cdzx"]=formatNumber(cdzx,'#,##0'); //成都中心总告警数
param["hnzx"]=formatNumber(hnzx,'#,##0'); //华南中心总告警数
param["hnyyszx"]=formatNumber(hnyyszx,'#,##0'); //华南运营商中心总告警数
param["xazx"]=formatNumber(xazx,'#,##0'); //西安中心总告警数
param["zzzx"]=formatNumber(zzzx,'#,##0'); //郑州中心总告警数
param["shzx"]=formatNumber(shzx,'#,##0'); //上海中心总告警数
param["bjzx"]=formatNumber(bjzx,'#,##0'); //北京中心总告警数
回复

使用道具 举报

永洪tech-Yan青铜二 显示全部楼层 发表于 2022-3-20 19:14:23
本帖最后由 永洪tech-Yan 于 2022-3-20 19:19 编辑

您计算出来的其实都是度量没有维度,绑定上去起来也不好分析。建议您在数据集中按维度、度量这种结构计算好然后绑定到图表上。计算出的表结构可参考这个: 下载.png




回复

使用道具 举报

yhdata_3lc5PXp6青铜三 显示全部楼层 发表于 2022-3-20 19:45:17
永洪tech-Yan 发表于 2022-3-20 19:14
您计算出来的其实都是度量没有维度,绑定上去起来也不好分析。建议您在数据集中按维度、度量这种结构计算好 ...

地区这列在我的数据集中有这个列。我现在就是想怎么才能把我计算出的这些数也放到一个新的计算列中,这样,我就可以把地区和新计算列的值组成一个图表了。
我刚才想到可以用sql插入一列,但是是否能把我计算的列加入进去我不太清楚。
另外我觉的用sql可能比较麻烦,有没有其他方式能实现我上边的这个想法,新建个计算列或者其他存储形式,利用已有的地区列+这个计算的度量列,组成图表
回复

使用道具 举报

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

  • 官方微信

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

    扫码关注
  • 新浪微博

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

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

会员等你来哦

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