Tableau实时数据流中按学年与部门去重计数不一致问题求助
Tableau实时数据流下CGS学位记录处理方案
核心需求拆解
要实现:仅保留只有CGS学位的学生记录;对同时有CGS和其他部门记录的学生,只保留其非CGS部门的记录。
具体操作步骤
创建计算字段:判断学生是否有非CGS部门记录
新建计算字段,命名为是否有非CGS部门,输入公式:{FIXED [ID]: MAX(IF [DEPT] != 'CGS' THEN 1 ELSE 0 END)}逻辑:对每个学生ID,只要有一条非CGS部门的记录,就返回1;只有CGS记录的学生返回0。
创建计算字段:标记需保留的记录
新建计算字段,命名为保留的记录,输入公式:IF [是否有非CGS部门] = 1 THEN [DEPT] != 'CGS' ELSE [DEPT] = 'CGS' END逻辑:有非CGS记录的学生,只保留非CGS部门的行;只有CGS记录的学生,保留其CGS行。
应用筛选器
将保留的记录字段拖到「筛选器」面板,勾选True,此时数据集已过滤掉不需要的CGS记录。重新计算去重计数
- 按学年去重计数ID:直接用
COUNTD([ID]),或嵌套筛选逻辑:COUNTD(IF [保留的记录] THEN [ID] END) - 按学年+部门去重计数ID:使用LOD表达式
SUM({FIXED [Year], [DEPT]: COUNTD([ID])})(筛选后直接计算即可)
- 按学年去重计数ID:直接用
效果验证
处理后两种计数逻辑的结果会一致,同时保留了仅持有CGS学位的学生数据。
内容的提问来源于stack exchange,提问作者asokol
相关产品推荐
相关产品推荐

