【发布时间】:2020-07-10 20:11:55
【问题描述】:
我正在使用 Microsoft SQL Server 2012,如果您能提供帮助,我有 2 个问题。
我有 2 个主表:
Individual Age Gender
1 66 1
2 33 0
3 72 1
Individual Appointment_Date Clinic
1 10-12-2018 A
1 05-03-2019 A
1 31-08-2019 A
2 02-12-2018 A
2 16-03-2019 A
2 12-04-2019 A
2 16-05-2019 A
3 07-12-2018 B
3 12-05-2019 B
3 19-06-2019 B
我想运行中断时间序列分析,以了解干预对结果指标的影响。我没有这个结果指标,我需要每周使用 Total_Appointments 来估计它。我计算了总时间中每个人的 Total_Appointments,如下所示:
SELECT T1.Individual, COUNT(DISTINCT T2.Appointment_Date) AS [TOTAL_APPOINTMENTS]
FROM T1 LEFT JOIN T2
ON T1.Individual = T2.Individual AND
T2.APPOINTMENT_DATE > '2018-12-01' AND
T2.APPOINTMENT_DATE < '2019-08-31'
问题 1:我如何估算每个人和每周的 Total_Appointments?这是我需要执行的中间步骤,但我最终会得到一个在临床层面汇总的结果指标。
然后,我还需要将其他变量(Avg_Age、Avg_Gender)转换为固定的时间间隔,例如:
Date_start Date_end Weeks_passed Clinic Outcome Avg_Age Avg_Gender Intervention_occurs
2018-12-02 2018-12-08 1 A 0.1 63 0.7 0
2018-12-02 2018-12-08 1 B 0.3 66 0.5 0
2018-12-02 2018-12-08 1 C 0.2 67 0.6 0
2018-12-09 2018-12-15 2 A 0.2 64 0.7 0
2018-12-09 2018-12-15 2 B 0.4 65 0.6 0
2018-12-09 2018-12-15 2 C 0.3 66 0.6 0
2018-12-16 2018-12-22 3 A 0.3 64 0.7 0
2018-12-16 2018-12-22 3 B 0.3 65 0.6 0
2018-12-16 2018-12-22 3 C 0.4 66 0.6 0
2018-12-23 2018-12-29 4 A 0.5 64 0.7 1
2018-12-23 2018-12-29 4 B 0.2 65 0.6 1
2018-12-23 2018-12-29 4 C 0.3 66 0.6 1
2018-12-30 2019-01-05 5 A 0.6 64 0.7 1
2018-12-30 2019-01-05 5 B 0.5 65 0.6 1
2018-12-30 2019-01-05 5 C 0.3 66 0.6 1
2019-01-06 2019-01-12 6 A 0.6 64 0.7 1
2019-01-06 2019-01-12 6 B 0.5 65 0.6 1
2019-01-06 2019-01-12 6 C 0.3 66 0.6 1
这项研究从 2018 年 12 月 2 日(星期日)开始,直到 2019 年 8 月 31 日(星期六)。
问题 2: 您能告诉我如何在 SQL Server 中创建这样的时间序列表吗?然后我会将其导入 R 并在那里运行实际分析。
【问题讨论】: