生成 3 列:一名患者受试者、第一个事件的日期、第二个事件的日期

问题描述 投票:0回答:1

在试验期间与患者一起探访。他们计划在特定情况下进入,访问 ID-安全访问周期 01 天 01...周期 2 天 01.. 等等。我还有一个学习小组作业表。

我想创建一个表来合并来自以下位置的特定信息:

  1. CohortInfo(关键是SubjectID)
  2. DateOfVisit(每行对于SubjectID和InstanceID来说都是唯一的)

我想要这个决赛桌:

|受试者ID |群组分配| C1D1VIsit日期 | C1D4VISIT日期 | | 1000001|A组| 01 年 1 月 1 日 | 01 年 1 月 4 日 |

我能够重新组织 DateOfVIsit 图表以创建一个包含主题 ID C1D1 的表。我仍然需要添加另一列,即每个主题 ID 的 C1D4 日期 - 我被困在这里! 创建此表后,我将使用 JOIN 函数添加队列信息..

选择 主题,

(选择字段3值 来自

myproject.patients.DateOfVisit
WHERE InstanceName = '安全访问周期 01 天 01') as C1D1VisitDate,

(选择 FIeld3Value 来自

myproject.patients.DateOfVisit
WHERE InstanceName = '安全访问周期 01 天 04') as C1D4VisitDate,

来自

myproject.patients.DateOfVisit

按主题描述排序;

我期待创造

|主题 ID | C1D1VIsit日期 | C1D4VISIT日期 | | 1000001| 01 年 1 月 1 日 | 01 年 1 月 4 日 |

join google-bigquery subquery
1个回答
0
投票

您似乎想要某种旋转逻辑,也许:

SELECT
    Subject,
    MAX(CASE WHEN InstanceName = 'Safety Visit Cycle 01 Day 01'
             THEN FIeld3Value END) AS C1D1VisitDate,
    MAX(CASE WHEN InstanceName = 'Safety Visit Cycle 01 Day 04'
             THEN FIeld3Value END) AS C1D4VisitDate
FROM myproject.patients.DateOfVisit
GROUP BY Subject
ORDER BY Subject DESC;
© www.soinside.com 2019 - 2024. All rights reserved.