问题:字段:客户uid,快照日期(包括全部日期),上年末,最新日期,订单金额
需求:算出上年末订单金额为0且最新日期时订单金额也为0的客户数
目前思路一:上年末客户=if [快照日期]=[上年末]and[订单金额]=0 then [客户uid]end
上年末且最新日期订单金额为0=if[快照日期]=[最新日期]and [订单金额]=0 then [客户uid]end
countd([上年末且最新日期订单金额为0])
思路二:countd(if [快照日期]=[上年末]and[订单金额]=0 then [客户uid]
elseif [快照日期]=[最新日期]and [订单金额]=0 then[客户uid]end)
错误:思路一:这样算出来结果是0,我感觉就是日期冲突了
思路二:这样其实取的是把上年末和最新日期的客户都提出来了,但是应该是只要上年末中的客户中最新日期订单金额为0的客户,请问各位有什么见解吗?
以下内容引用自GPT,有用望采纳:
当计算满足特定条件的客户数时,您可以尝试以下的方法:
思路一中的问题可能是由于日期的比较导致。当您使用条件 [快照日期]=[上年末]
进行比较时,如果电脑在处理日期时包含了时间信息,那么两个日期可能并不完全相等,因此条件不满足。您可以尝试使用日期函数,例如 [快照日期].Year = [上年末].Year
来比较年份是否相等。
思路二中的问题在于您使用了两个 if 语句,这会导致结果是两个条件的并集。如果您想要获取的是两个条件的交集,请使用逻辑运算符 AND 来将两个条件连接起来。您可以尝试使用如下公式进行计算:
countd(if ([快照日期].Year = [上年末].Year and [订单金额]=0) or ([快照日期] = [最新日期] and [订单金额]=0) then [客户uid] end)
在这个公式中,我们使用了 OR 运算符将两个条件连接起来,只有当两个条件中的任一个满足时,才会被计数。
尝试上述方法后,您应该能够得到满足上述条件的客户数。请确保在使用公式时,根据您的数据格式和应用程序的语法进行相应的调整。如果您需要更多帮助,请随时提问。