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

[数据处理] 计算式运算

十万个怎么做白银四 显示全部楼层 发表于 2022-5-13 14:43:37 |阅读模式 打印 上一主题 下一主题
1
已解决

【数据处理】 计算式运算

1557 5
我现在写了一个计算式,结构是这样的,报错说发现不合法语句:)。

if ... and ...
then (
    (if ...
    then ...
    else 0
    end)
    /
    (if ...
    then ...
    else 0
    end)
)
else 0
end

就是中间是两种数相除,说 发现不合法语句:)。
请问该怎么改?

最佳答案

永洪eva 青铜一 关注Ta

2022-05-13 14:43:38

可以用销量新建两个过滤列,过滤条件分别为市场分布=东部市场/市场分布=西部市场,再新建计算列,用col【东部销量】/col【西部销量】,实现过滤之后再计算的效果。
查看完整内容
回复

使用道具 举报

精彩评论5

永洪eva青铜一 显示全部楼层 发表于 2022-5-13 14:43:38
可以用销量新建两个过滤列,过滤条件分别为市场分布=东部市场/市场分布=西部市场,再新建计算列,用col【东部销量】/col【西部销量】,实现过滤之后再计算的效果。
回复

使用道具 举报

永洪eva青铜一 显示全部楼层 发表于 2022-5-13 15:15:40
1. 如果您是新建计算列中写的if判断条件,您可以参考下面的语句进行格式的修改:
if (col['合同金额'] > 10000 and col['合同金额'] < 15000 )
then "高利润"
elseif (col['合同金额'] < 10000 and col['合同金额'] > 1500)
then "保持成本"
else "亏本"
end
2. 如果是在格间计算中写的判断句,参考以下语句
if(b!=c){
a=cell(ridx-1,cidx)+1
}
回复

使用道具 举报

十万个怎么做白银四 显示全部楼层 发表于 2022-5-13 15:26:39
永洪eva 发表于 2022-5-13 15:15
1. 如果您是新建计算列中写的if判断条件,您可以参考下面的语句进行格式的修改:
if (col['合同金额'] > 10 ...

不是,我是说能不能在新建计算列中,两个if相除
回复

使用道具 举报

永洪eva青铜一 显示全部楼层 发表于 2022-5-13 16:44:15
yhdata_z1eMkiiR 发表于 2022-5-13 15:26
不是,我是说能不能在新建计算列中,两个if相除

如果是想进行多次判断,您可以参考这种格式进行修改:
if(col['市场级别']=='一级市场' and col['市场分布']=='东部市场')
then col['利润']/col['销量']
elseIf(col['市场级别']!='一级市场' and col['市场分布']=='东部市场')
then 0/col['销量']
elseIf(col['市场级别']=='一级市场' and col['市场分布']!='东部市场')
then col['利润']/0
最开始的这种格式,在产品中会报语法错误(if ...
    then ...
    else 0
    end)
    /
    (if ...
    then ...
    else 0
    end)
)
else
0/0
回复

使用道具 举报

十万个怎么做白银四 显示全部楼层 发表于 2022-5-13 16:57:16
永洪eva 发表于 2022-5-13 16:44
如果是想进行多次判断,您可以参考这种格式进行修改:
if(col['市场级别']=='一级市场' and col['市场分 ...

就比如,我想要【‘东部市场’的 col['金额']  / ‘西部市场’的 col['金额'] 】,那请问这样该怎么写呢?
回复

使用道具 举报

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

  • 官方微信

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

    扫码关注
  • 新浪微博

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

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

会员等你来哦

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