PowerBI能否识别单列内多成员姓名并拆分统计个人任务量
PowerBI 单列存储多成员的任务数统计方案
完全可以实现单列多姓名的拆分识别与单独统计,两种常用落地方法如下:

方法1:Power Query 拆分行(推荐,易维护、性能优)
- 选中任务数据集,点击顶部「转换数据」进入Power Query编辑器
- 选中存储参与成员姓名的列,点击顶部菜单栏「拆分列」→「按分隔符」
- 弹窗中选择数据里实际分隔姓名的符号(常见为逗号、顿号,注意区分中英文符号),点开「高级选项」,选择拆分为行而非列
- 确认后即可自动将同单元格内的多个姓名拆分为独立行,每行对应1位成员、1条所属任务
- 直接对拆分后的姓名列做行计数,即可得到每位成员的总分配任务数,点击「关闭并应用」即可,后续数据刷新时拆分逻辑会自动执行,无需重复操作
方法2:DAX 动态统计(无需改动原表结构)
如果不想调整原表结构,可通过DAX直接计算:
- 先创建不重复的成员维度计算表,代码如下(假设分隔符为英文逗号,任务表名为
任务表,存储成员的列名为参与成员):
成员维度表 = DISTINCT( SELECTCOLUMNS( GENERATE( ALL('任务表'), VAR _nameList = TEXTSPLIT('任务表'[参与成员], ",") RETURN ROW("成员姓名", _nameList) ), "成员姓名", [成员姓名] ) )
- 编写任务计数度量值,匹配时前后加分隔符包裹,避免短名匹配到长名的错误:
个人分配任务数 = COUNTROWS( FILTER( '任务表', CONTAINSSTRING("," & '任务表'[参与成员] & ",", "," & SELECTEDVALUE('成员维度表'[成员姓名]) & ",") ) )
注意:如果你的姓名分隔符不是英文逗号,把上述代码里的逗号替换成实际使用的分隔符即可
内容的提问来源于stack exchange,提问作者Bas073
相关产品推荐
相关产品推荐

