在Tableau中创建满足condition=True的去重电话号码集合
在Tableau中实现目标逻辑的两种方法
方法一:先创建集合再写计算字段
生成目标手机号集合
- 把
phoneNumber字段拖到行功能区,condition字段拖到筛选器面板 - 在筛选器里选择
True,过滤出所有condition为True的记录 - 右键点击行上的
phoneNumber,选择「创建」→「集合」,给集合起个名字(比如「存在True记录的手机号」),确认后这个集合就自动去重,包含所有至少有一次condition为True的手机号了
- 把
创建判断用的计算字段
- 新建计算字段,输入公式:
IF [phoneNumber] IN [存在True记录的手机号] THEN "XXX" END - 把公式里的
"XXX"替换成你实际需要返回的内容(比如具体文本、数值等)
- 新建计算字段,输入公式:
方法二:用LOD表达式直接实现(无需创建集合)
如果不想单独创建集合,可以直接用LOD表达式一步完成判断:
新建计算字段,输入公式:
IF {FIXED [phoneNumber] : MAX(IF [condition] = TRUE THEN 1 ELSE 0 END)} = 1 THEN "XXX" END
这个公式的逻辑是:对每个手机号,计算其所有记录中是否存在condition为True的情况(存在则MAX返回1,否则0),再判断结果是否为1,满足则返回你指定的内容。
内容的提问来源于stack exchange,提问作者Young Z
相关产品推荐
相关产品推荐

