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

[数据处理] 计算包含错误维度计算列和聚合计算列不能混合使用,请...

squall0828玄铁三 显示全部楼层 发表于 2023-4-13 13:25:02 |阅读模式 打印 上一主题 下一主题
请问用if函数新建计算列提示“计算包含错误维度计算列和聚合计算列不能混合使用,请分开书写”
公式大概是这样写的
if(编号=="100042"and sum(数量)<=1000000) then 成本总额+1
else 成本总额 end


回复

使用道具 举报

精彩评论7

yhdata_lyaa 显示全部楼层 发表于 2023-4-13 13:30:34
编号=="100042"and sum(数量)<=1000000)混用了呢
,维度计算列和聚合计算列不能混合使用
回复

使用道具 举报

squall0828玄铁三 显示全部楼层 发表于 2023-4-13 13:32:09
公式要怎么写
回复

使用道具 举报

yhdata_lyaa 显示全部楼层 发表于 2023-4-13 13:39:35
想实现什么,数据是什么样的,截图看看
回复

使用道具 举报

squall0828玄铁三 显示全部楼层 发表于 2023-4-13 13:42:57
大概是这样的,我有几列数据,分别是编码、数量、金额;当编码是100042及数量总和1000000内,那么金额在原来基础上加1,如果数量总和大于1000000,那么金额就等于他本身
回复

使用道具 举报

Gnoc铂金一 显示全部楼层 发表于 2023-4-26 16:38:13
squall0828 发表于 2023-4-13 13:42
大概是这样的,我有几列数据,分别是编码、数量、金额;当编码是100042及数量总和1000000内,那么金额在原 ...

请问解决了吗?
回复

使用道具 举报

yhdata_lyaa 显示全部楼层 发表于 2023-4-26 16:55:11
squall0828 发表于 2023-4-13 13:42
大概是这样的,我有几列数据,分别是编码、数量、金额;当编码是100042及数量总和1000000内,那么金额在原 ...

总和1000000内?有3条数据 怎么确定在哪条数据上+1呀,这个不符合逻辑呢
回复

使用道具 举报

DX188白银二 显示全部楼层 发表于 2023-4-27 11:29:52
本帖最后由 DX188 于 2023-4-27 11:32 编辑

用咖啡数据模拟了下你的需求,算是符合你的结果。不过需要添加一张辅助表,脚本请参考:
var data=getViewData("填报参数1",DATA)
var data1=getData("自由表填报2",DATA)


for(var i=0;i<data.size();i++){

    for(var j=0;j<data1.size();j++){

    if(data.get(i+1,0)==data1.get(j,0)&&data1.get(j,1)<500){

            data.set(i,3,data.get(i+1,2)+1)
        }
    }
}
用了张自由表作为辅助表,自由表是汇总数据,因原数据比较多,所以预先做了过滤,只展示一个月的数据做模拟。模拟中以每个省的利润<500为标准。辅助表可以设隐藏
在这里我发现了个问题,用data.get()取填报参数表行数时是从表头开始取的,但用set时却并不会算表头。也就是说set时从数据行的第一行开始从0计数,而get时从表头开始从0计数。
所以我的循环里get需要i+1,而set时不需要。
最终效果
QQ截图20230427112910.png


回复

使用道具 举报

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

  • 官方微信

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

    扫码关注
  • 新浪微博

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

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

会员等你来哦

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