一、需求:根据部门汇总业绩,并展示员工业绩明细(效果图如下)
二、实现步骤:
1.将原始数据加载至power query中处理
2.对数据进行基本处理,这里因一个员工有多条数据,事先进行员工业绩汇总
3.合并名单与业绩
4.根据部门分组,求和业绩,合并名单
a.按正常的分组步骤对,名单列和业绩列进行求和分组
b.由于名单为文本,求和会出现Error,将 List.Sum函数 改为 Text.Combine函数
= Table.Group(合并名单总业绩, {"部门"}, {{"总业绩", each List.Sum([总业绩]), type number}, {"总名单", each List.Sum([名单]), type text}})
##改为:
= Table.Group(合并名单总业绩, {"部门"}, {{"总业绩", each List.Sum([总业绩]), type number}, {"总名单", each Text.Combine([名单]," "), type text}})
结果:
关闭并上载到表:
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
方法二:mysql中解决 (由同事分享所得,来源:https://www.cnblogs.com/qianslup/p/12925401.html)
1.数据源准备
2.代码展示:
select
部门,
SUM(业绩) as '总业绩' ,
GROUP_CONCAT(CONCAT(姓名,业绩)) as '总名单'
from power_query GROUP BY 1
为了安全起见,建议先进行聚合操作:
select
部门,
SUM(业绩) as '总业绩' ,
GROUP_CONCAT(CONCAT(姓名,业绩)) as '总名单'
from ( select 部门,姓名,SUM(业绩) as '业绩' from power_query GROUP BY 1,2 ) as A GROUP BY 1 ;
3.结果展示: