永洪社区

标题: 条件计数 [打印本页]

作者: 芒果小矮人    时间: 2022-3-18 15:24
标题: 条件计数
问题如下:
我有个字段中20个是“已到期”,15个字段是“未到期”,5个字段是“结清”
我需要求出“已到期”个数/总个数 = 20/40
现在对于“已到期”不知道如何进行条件计数?

作者: SamuelLiu    时间: 2022-3-18 15:24
可以新建一个计算列,如下,
if (col['xx']=="已到期")
then 1
else 0
end
再对这个列求和就可以count出来了
作者: SamuelLiu    时间: 2022-3-18 15:39
可以通过计算列来统计已到期的,再通过两个列的count来相除
作者: 芒果小矮人    时间: 2022-3-18 15:41
SamuelLiu 发表于 2022-3-18 15:39
可以通过计算列来统计已到期的,再通过两个列的count来相除

就是不知道怎么写条件对“已到期”计数

作者: 芒果小矮人    时间: 2022-3-18 15:51
SamuelLiu 发表于 2022-3-18 15:49
可以新建一个计算列,如下,
if (col['xx']=="已到期")
then 1

哦哦哦,我是只有一个 = ,报错了,请问 = 和 == 有什么区别呢
作者: SamuelLiu    时间: 2022-3-18 15:53
芒果小矮人 发表于 2022-3-18 15:51
哦哦哦,我是只有一个 = ,报错了,请问 = 和 == 有什么区别呢

“=”是赋值,“==”是判断是否相等
作者: 芒果小矮人    时间: 2022-3-18 15:56
SamuelLiu 发表于 2022-3-18 15:53
“=”是赋值,“==”是判断是否相等

多谢
作者: SamuelLiu    时间: 2022-3-18 15:57
芒果小矮人 发表于 2022-3-18 15:56
多谢

应该的
作者: 芒果小矮人    时间: 2022-3-18 16:08
SamuelLiu 发表于 2022-3-18 15:57
应该的

计算结果出不来,用count(if(已到期)) 可以计数,但是count(总数)-count(if(已到期)) 就没有结果出来,如果用sum(if()) 提示  不支持聚合中使用聚合函数
作者: SamuelLiu    时间: 2022-3-18 16:16
我这里没有报错呢,你按照我的方法试一下,再建一个计算列,
sum(col['计算列'])/count(col['省份'])
作者: 芒果小矮人    时间: 2022-3-18 16:20
SamuelLiu 发表于 2022-3-18 16:16
我这里没有报错呢,你按照我的方法试一下,再建一个计算列,
sum(col['计算列'])/count(col['省份']) ...

新建计算列sum(col[])也报错




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