💡
原文英文,约300词,阅读约需2分钟。
📝
内容提要
文章讨论了如何计算项目中每天参与人员与前一天参与人员的交集。由于SQL分组无法保留子集,建议先按人员分组,再判断每人是否在特定日期及前一天出现,最后进行汇总,过程较为复杂。
🎯
关键要点
- 文章讨论了如何计算项目中每天参与人员与前一天参与人员的交集。
- 项目数据库记录了每天参与项目的多个人员,一个人可以在一天内参与多个任务。
- 需要计算每天有多少人也在前一天参与了项目。
- 由于SQL分组无法保留子集,建议先按人员分组,再判断每人是否在特定日期及前一天出现。
- 计算过程涉及多层嵌套和窗口函数,较为复杂。
- 在SPL中,分组后可以保留子集并引用相邻子集。
- 代码步骤包括从数据库加载数据、按日期分组但不聚合、创建新的二维表并计算交集。
❓
延伸问答
如何计算每天参与人员与前一天参与人员的交集?
需要先按人员分组,再判断每人是否在特定日期及前一天出现,最后进行汇总。
为什么SQL分组无法保留子集?
因为SQL分组后必须立即聚合,无法保留子集进行后续操作。
在SPL中如何处理分组以保留子集?
在SPL中,分组后可以保留子集并引用相邻子集,便于后续计算。
计算交集的过程涉及哪些复杂步骤?
计算过程涉及多层嵌套和窗口函数,需创建新的二维表并计算交集。
如何从数据库加载数据并去重?
首先从数据库加载数据,然后根据EMP-ID进行去重。
第一天的参与人员如何处理?
假设第一天所有人都参与了项目,因此不需要计算交集。
➡️