Table 中的 MS Report Builder 最小和最大日期(按记录 ID)

MS Report Builder Min and Max Date in Table by Record ID

我正在使用一个数据库,该数据库存储在特定时间段内与我的雇主打交道的个人的记录,他们的记录每 10 天左右更新一次。但是除了初始记录外,数据库不存储他们的初始订婚日期。我需要使用 Microsoft Report Builder 3.0 生成一个 table,它显示一个人的所有记录和初始参与日期。

这是我的简单 SELECT 查询 return 的示例。 (它们确实是简单的查询——SELECT 从一个 table 中有一个条件为真的大约六个字段。)

Customer ID Session Date Record Created Date
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

这是我想要结果的示例。

Customer ID Session Date Record Created Date Min Created Max Created
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

我能够在 Business Objects 中实现这个目标,方法是使用一个连接客户 ID 和会话日期字段的变量,然后使用这些表达式添加另外两个变量: =Min([Submitted Date]) In ([ConcatenateCustomerSession]) =Max([Submitted Date]) In ([ConcatenateCustomerSession])

有什么想法吗?如果可以的话,我宁愿把它作为一个计算字段来做,只是因为我更喜欢table表达式而不是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]