【发布时间】:2017-07-17 04:24:02
【问题描述】:
目前我有一个像这样的行表
我想将所有具有相同 FlNo 的 Row 合并为一个 Row,合并行的数据遵循以下条件:
- “FlNo”保持不变
- “开始”将是最早的日期
- 'End' 将是最近的日期
- 'Pattern' 将代表星期几,因此它将是每一行中出现的所有星期的组合(即,如果第 1 行有 Pattern = "12347",第 2 行 = "34567",组合 Pattern will = "1234567", ie2: 如果 Row1 = "357", Row2 = "357",组合模式将保持不变 = "357")。这部分最困扰我,因为我还没有找到解决它的算法。
- 'AC_Name' 将是 FlNo 出现次数最多的值(在本例中为 32)
所以最后一行是
FlNo | Start | End | Pattern | AC_Name |
660 | 26/Mar/2017 | 28/Oct/2017 | 1234567 | 32 |
由于原始数据是 Excel 电子表格,因此应提供基于 Excel (VBA)/Access (VBA/SQL) 环境的解决方案。它可以先在 Excel 中处理,然后导入到 Access 或导入到 Access,然后在那里处理或一半/一半)。我个人更喜欢在 Access 和 SQL 中处理,因为大约有 13000 行数据。
请帮助我找到处理这些数据的解决方案。非常感谢你们。
【问题讨论】:
-
修复你的数据结构!一周中的每一天都有一个单独的列,用一个标志(比如“0”和“1”)来表示这一天是否是“模式”的一部分。
-
@GordonLinoff 感谢您的回复。是的,我可以这样做,但是如何将数据合并在一起?
-
这是一个有趣的问题。希望您以特定方式提供数据而不是图像。问题的第二部分不清楚。您的实际数据库 excel/access/sql 服务器是什么?可能是这样SSIS 的理想方案。
标签: sql sql-server database excel vba