永洪社区

标题: 计算列可以声明变量吗? [打印本页]

作者: 妙手老中医    时间: 2023-6-12 09:12
标题: 计算列可以声明变量吗?
各位大佬好!
我有一个类型:1肯德基 2华莱士 3麦当劳 4汉堡王
它在数据库中是存储多个的,比如1;2;3;4或者1;2或者1;3等等
我需要添加一个数据列,把这个1;2;3;4处理成肯德基;华莱士;麦当劳;汉堡王4的样式
判断的时候,我想声明一个变量,
var str = "";(这样写不行)
if(存在1)
str+="肯德基"
elseif(存在2)
str+="华莱士"
类似这样子,这个str变量应该如何声明?

作者: yhdata_yzm    时间: 2023-6-12 09:12
脚本里去定义变量,把变量赋值给参数计算列里引用参数。
楼上提出的为啥不考虑下呢
作者: yhdata_yzm    时间: 2023-6-12 09:21
计算列无法声明变量
作者: 妙手老中医    时间: 2023-6-12 09:23
yhdata_yzm 发表于 2023-6-12 09:21
计算列无法声明变量

那如果需要处理字符串拼接该怎么操作?
作者: 妙手老中医    时间: 2023-6-12 09:33
yhdata_yzm 发表于 2023-6-12 09:21
计算列无法声明变量

现在这样子我写了很长的判断,如果后面再加,很麻烦
作者: 妙手老中医    时间: 2023-6-12 09:34
yhdata_yzm 发表于 2023-6-12 09:21
计算列无法声明变量

大佬,请问有啥好的办法吗?
作者: DX188    时间: 2023-6-12 10:02
还是有点不太明白你的需求,能再详细的讲下你要达到一个什么样的效果吗
作者: 妙手老中医    时间: 2023-6-12 10:11
DX188 发表于 2023-6-12 10:02
还是有点不太明白你的需求,能再详细的讲下你要达到一个什么样的效果吗

这是一个计算列里的大概内容
if(find(col['type'],"1")>0)
    then '肯德基'
elseif(find(col['type'],"3")>0)
   then  '麦当劳'
elseif(find(col['type'],"4")>0)
   then  '华莱士'
elseif(find(col['type'],"5")>0)
   then  '汉堡王'   
elseif(find(col['type'],"3")>0&&find(col['type'],"1")>0)
   then  '肯德基;麦当劳'
elseif(find(col['type'],"4")>0&&find(col['type'],"1")>0)
   then  '肯德基;华莱士'
.
.
.
.
.
end
如果后面还要再增加,就要写很多的情况,我想弄一个拼接的,就不用写这么多的判断
作者: 妙手老中医    时间: 2023-6-12 10:14
DX188 发表于 2023-6-12 10:02
还是有点不太明白你的需求,能再详细的讲下你要达到一个什么样的效果吗

比如
var a = ""
if(find(col["type"],1)>0)
  then a+="肯德基"
作者: 妙手老中医    时间: 2023-6-12 10:19
DX188 发表于 2023-6-12 10:02
还是有点不太明白你的需求,能再详细的讲下你要达到一个什么样的效果吗

计算列不能声明变量,那我这种情况需要咋处理,在线等
作者: DX188    时间: 2023-6-12 10:30
妙手老中医 发表于 2023-6-12 10:19
计算列不能声明变量,那我这种情况需要咋处理,在线等

那你为什么不先在数据集直接分列呢
作者: 妙手老中医    时间: 2023-6-12 10:34
DX188 发表于 2023-6-12 10:30
那你为什么不先在数据集直接分列呢

大佬您好,请问怎么操作
作者: 妙手老中医    时间: 2023-6-12 10:38
yhdata_yzm 发表于 2023-6-12 10:32
脚本里去定义变量,把变量赋值给参数计算列里引用参数。
楼上提出的为啥不考虑下呢 ...

我明白了,谢谢大佬!
作者: 妙手老中医    时间: 2023-6-12 11:19
yhdata_yzm 发表于 2023-6-12 09:12
脚本里去定义变量,把变量赋值给参数计算列里引用参数。
楼上提出的为啥不考虑下呢 ...

大佬您好,变量的问题解决了。但是这个if....else没办法实现
下面的这种写法不太行,请问这样应该如何写这个判断
if(1存在)
  then param["type"]+"肯德基"
if(2存在)
  then param["type"]+“麦当劳”
作者: 妙手老中医    时间: 2023-6-12 11:26
yhdata_yzm 发表于 2023-6-12 09:12
脚本里去定义变量,把变量赋值给参数计算列里引用参数。
楼上提出的为啥不考虑下呢 ...

大佬您好,变量的问题解决了
但是在计算列里面好像没办法写多个if
if(1存在)
then param["type"]+"肯德基"
if(2存在)
then param["type"]+"麦当劳"
只能if....else,这样我写判断的时候还是要写很多

作者: yhdata_yzm    时间: 2023-6-12 11:27
妙手老中医 发表于 2023-6-12 11:26
大佬您好,变量的问题解决了
但是在计算列里面好像没办法写多个if
if(1存在)

if
elseif
这样

作者: 妙手老中医    时间: 2023-6-12 11:30
yhdata_yzm 发表于 2023-6-12 11:27
if
elseif
这样

那这样也还要写很多的条件判断
if(1存在)
elseif(2存在)
elseif(3存在)
elseif(1存在,2存在)
elseif(2存在,3存在)
elseif(1存在,2存在,3存在)
要写好多好多好多
作者: 妙手老中医    时间: 2023-6-12 11:43
yhdata_yzm 发表于 2023-6-12 11:27
if
elseif
这样

空你吉瓦,大佬您好,在线等
作者: 妙手老中医    时间: 2023-6-12 12:01
妙手老中医 发表于 2023-6-12 11:43
空你吉瓦,大佬您好,在线等

呜呜呜,又饿又困,眼睛都没办法聚焦了,一个上午就这样混过去了
作者: 妙手老中医    时间: 2023-6-12 13:27
yhdata_yzm 发表于 2023-6-12 11:27
if
elseif
这样

亲爱的大佬,麻烦您帮我看看这样的话该如何解决




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