如何在Webi 4.2中实现单记录多条件的分类评估?
Webi 多状态识别与统计解决方案
1. 拆分状态判断为独立变量
放弃原来的单一Category变量,先创建两个布尔判断变量:
Is New变量:判断ID是否在2022年新增=[EffDate] >= '1/1/2022' And [EffDate] <= '12/31/2022'Is Termed变量:判断ID是否在2022年终止=[ExpDte] >= '1/1/2022' And [ExpDte] <= '12/31/2022'
2. 生成多状态明细记录(对应webi2效果)
要让一个ID显示多个符合的状态,用维度扩展的方式实现:
- 创建维度变量
Status Options,手动设置值列表为:New、Termed、NA - 插入明细表格,拖入
ID和Status Options,再加一个计算列匹配状态:=If [Status Options] = "New" And [Is New] Then "New" ElseIf [Status Options] = "Termed" And [Is Termed] Then "Termed" ElseIf Not([Is New]) And Not([Is Termed]) Then "NA" Else "" - 过滤掉计算列为空的行,就能得到每个ID对应的所有符合状态(比如ID24会显示
New和Termed两行)
3. 按状态统计数量(对应webi3效果)
基于上面的明细表格做汇总:
- 新建汇总表格,拖入过滤后的状态列到行区域,然后添加去重计数指标:
=Count([ID]; Distinct) - 这样就能分别统计
New、Termed的ID数量,同时符合两个状态的ID会被分别计入对应分类
快速替代方案:UNION查询合并
如果报表支持UNION操作,直接拆分三个查询合并更高效:
- 查询1:筛选
EffDate在2022年的记录,新增Category列赋值New - 查询2:筛选
ExpDte在2022年的记录,新增Category列赋值Termed - 查询3:筛选
EffDate和ExpDte都不在2022年的记录,新增Category列赋值NA - 用
UNION ALL合并三个查询,得到多状态记录后直接统计即可
内容的提问来源于stack exchange,提问作者hlock
相关产品推荐
相关产品推荐

