如何解决MS Report Builder 表中按记录 ID 的最小和最大日期
我正在使用一个数据库,该数据库存储在特定时间段内与我的雇主接触的个人记录,他们的记录每 10 天左右更新一次。但是数据库不存储他们的初始订婚日期,除非在初始记录中。我需要使用 Microsoft Report Builder 3.0 生成一个表格,显示一个人的所有记录和初始参与日期。
这是我的简单 SELECT 查询返回的示例。 (而且它们确实是简单的查询——从一个表中选择大约六个字段,其中一个条件为真。)
客户 ID | 会话日期 | 记录创建日期 |
---|---|---|
5678 | 4/1/2019 | 4/4/2019 |
5678 | 4/1/2019 | 4/24/2019 |
5678 | 4/1/2019 | 5/5/2019 |
5678 | 4/1/2019 | 5/25/2019 |
5678 | 4/1/2019 | 6/6/2019 |
5678 | 4/1/2019 | 6/26/2019 |
5678 | 10/8/2020 | 10/10/2020 |
5678 | 10/8/2020 | 10/30/2020 |
5678 | 10/8/2020 | 11/21/2020 |
5678 | 10/8/2020 | 12/01/2020 |
54321 | 7/7/2020 | 7/9/2020 |
54321 | 7/7/2020 | 7/29/2020 |
54321 | 7/7/2020 | 8/8/2020 |
54321 | 7/7/2020 | 8/28/2020 |
54321 | 7/7/2020 | 9/7/2020 |
54321 | 7/7/2020 | 9/27/2020 |
这是我希望结果的示例。
客户 ID | 会话日期 | 记录创建日期 | 最小创建 | 最大创建 |
---|---|---|---|---|
5678 | 4/1/2019 | 4/4/2019 | 4/4/2019 | 6/26/2019 |
5678 | 4/1/2019 | 4/24/2019 | 4/4/2019 | 6/26/2019 |
5678 | 4/1/2019 | 5/5/2019 | 4/4/2019 | 6/26/2019 |
5678 | 4/1/2019 | 5/25/2019 | 4/4/2019 | 6/26/2019 |
5678 | 4/1/2019 | 6/6/2019 | 4/4/2019 | 6/26/2019 |
5678 | 4/1/2019 | 6/26/2019 | 4/4/2019 | 6/26/2019 |
5678 | 10/8/2020 | 10/10/2020 | 10/10/2020 | 12/01/2020 |
5678 | 10/8/2020 | 10/30/2020 | 10/10/2020 | 12/01/2020 |
5678 | 10/8/2020 | 11/21/2020 | 10/10/2020 | 12/01/2020 |
5678 | 10/8/2020 | 12/01/2020 | 10/10/2020 | 12/01/2020 |
54321 | 7/7/2020 | 7/9/2020 | 7/9/2020 | 9/27/2020 |
54321 | 7/7/2020 | 7/29/2020 | 7/9/2020 | 9/27/2020 |
54321 | 7/7/2020 | 8/8/2020 | 7/9/2020 | 9/27/2020 |
54321 | 7/7/2020 | 8/28/2020 | 7/9/2020 | 9/27/2020 |
54321 | 7/7/2020 | 9/7/2020 | 7/9/2020 | 9/27/2020 |
54321 | 7/7/2020 | 9/27/2020 | 7/9/2020 | 9/27/2020 |
通过使用连接客户 ID 和会话日期字段的变量,然后使用以下表达式添加另外两个变量,我能够在 Business Objects 中实现此目标:
=Min([Submitted Date]) In ([ConcatenateCustomerSession])
=Max([Submitted Date]) In ([ConcatenateCustomerSession])
有什么想法吗?如果可以,我更愿意将其作为计算字段来执行,因为我更喜欢使用表达式而不是 sql 代码,但在这一点上,我会采取一切措施来完成工作。
解决方法
这在 SQL 中很简单。在现有的 select 语句中添加另外两列
,Min([Record Created Date]) Over (Partition by [Customer ID]) as [Min Created],Max([Record Created Date]) Over (Partition by [Customer ID]) as [Max Created]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。