Power BI中如何从字符串标签提取指定部门缩写生成新列?
在Power BI中提取指定部门标签的解决方案
针对你从Microsoft Planner的Labels列中提取GAB/LET作为Department列的需求,提供两种可行方法:
方法一:Power Query(数据预处理阶段,推荐)
- 打开Power Query编辑器:在Power BI数据视图中点击转换数据。
- 添加自定义列:点击顶部菜单栏的添加列 > 自定义列,在弹出的编辑器中输入以下M语言代码:
= List.Select(Text.Split([Labels], ";"), each _ = "GAB" or _ = "LET"){0}
- 收尾操作:将新建的自定义列重命名为
Department,点击关闭并应用完成数据处理。
代码说明
Text.Split([Labels], ";"):把Labels列的字符串按分号拆分成列表List.Select(..., each _ = "GAB" or _ = "LET"):筛选列表中属于部门标签的项{0}:取筛选后列表的第一个元素(因为每行只会存在一个部门标签)
方法二:DAX计算列(数据模型阶段)
如果需要在数据模型中直接生成Department列,可使用以下DAX公式:
通用版(兼容可能的多部门场景)
Department = VAR SplitLabels = PATHITEMSEPARATED([Labels], ";", ALL) VAR FilteredDepts = FILTER(SplitLabels, SplitLabels IN {"GAB", "LET"}) RETURN MAXX(FilteredDepts, SplitLabels)
简化版(适用于每行必含GAB/LET其一的场景)
Department = IF(SEARCH("GAB", [Labels],, 0) > 0, "GAB", "LET")
代码说明
- 通用版先拆分标签列表,再筛选部门标签,最后取唯一的部门值
- 简化版直接通过字符串匹配判断,逻辑更简洁,适合你的示例场景
内容的提问来源于stack exchange,提问作者Breno Michaelsen
相关产品推荐
相关产品推荐

