永洪社区

标题: 计算式运算 [打印本页]

作者: 十万个怎么做    时间: 2022-5-13 14:43
标题: 计算式运算
我现在写了一个计算式,结构是这样的,报错说发现不合法语句:)。

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

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

作者: 永洪eva    时间: 2022-5-13 14:43
可以用销量新建两个过滤列,过滤条件分别为市场分布=东部市场/市场分布=西部市场,再新建计算列,用col【东部销量】/col【西部销量】,实现过滤之后再计算的效果。
作者: 永洪eva    时间: 2022-5-13 15:15
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
永洪eva 发表于 2022-5-13 15:15
1. 如果您是新建计算列中写的if判断条件,您可以参考下面的语句进行格式的修改:
if (col['合同金额'] > 10 ...

不是,我是说能不能在新建计算列中,两个if相除
作者: 永洪eva    时间: 2022-5-13 16:44
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
永洪eva 发表于 2022-5-13 16:44
如果是想进行多次判断,您可以参考这种格式进行修改:
if(col['市场级别']=='一级市场' and col['市场分 ...

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




欢迎光临 永洪社区 (http://club.yonghongtech.com/) Powered by Discuz! X3.4