DAX需求:多列含特定关键词返回对应角色,解决建模切片问题
无需逆透视的DAX解决方案:根据列值匹配返回对应角色
直接在原表中创建计算列,通过SWITCH结合ISBLANK判断每行对应的角色列是否有值,从而返回目标角色名称,保留原表结构以支持维度表关联和切片操作:
角色 = SWITCH( TRUE(), NOT(ISBLANK('数据表'[ABS approver])), "approver", NOT(ISBLANK('数据表'[HTF Reader])), "Reader", NOT(ISBLANK('数据表'[POY Writer])), "Writer", // 按照相同格式,依次添加剩余20个列的判断规则 "无匹配角色" // 无匹配时的默认返回值 )
说明:
SWITCH(TRUE(), ...)结构用于实现多条件分支判断,按顺序检查每一列的非空状态- 每个分支对应“当指定角色列有值时,返回对应角色名称”的逻辑
- 保留原表的列结构,可正常关联维度表,实现切片、筛选等交互操作
- 最后一行的默认值可根据实际需求调整(比如留空或返回特定标识)
内容的提问来源于stack exchange,提问作者bag u
相关产品推荐
相关产品推荐

