转自:https://www.cnblogs.com/wsmwsm/p/12910590.html
一、需求
根据部门汇总业绩,并展示员工业绩明细(效果图如下)
二、实现步骤:
2.1 将原始数据加载至power query中处理
2.2 对业绩进行汇总处理
比如第二行的海安与最后一行的海安为同一个人,要进行汇总操作。
2.3 合并名单与业绩
2.4 根据部门分组,求和业绩,合并名单
2.4.1 按正常的分组步骤对,名单列和业绩列进行求和分组
2.4.2 由于名单为文本,求和会出现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}})
2.5 上传数据
三、用mysql语句解决
3.1 数据源准备
3.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.2 结果展示