MS Access 重塑了用于进程挖掘的表



我在为进程挖掘任务获取正确形状的数据时遇到了一些问题。我收到了一个MS Access 2010数据库,其中包含一些表格,有点像这样:

caseID    event1_date    event2_date    event3_date
1         2013-03-09     2013-04-09     2013-05-09
2         2013-03-15     2013-03-21     2013-05-02
3         2013-04-01     2013-04-15     2013-06-20

我想将其重塑为如下所示:

eventID    caseID    event    date
1          1         event1   2013-03-09
2          2         event1   2013-03-15
3          2         event2   2013-03-21
4          3         event1   2013-04-01
5          1         event2   2013-04-09
6          3         event2   2013-04-15
7          2         event3   2013-05-02
8          1         event3   2013-05-09
9          3         event3   2013-06-20

我怎样才能做到这一点?

假设现有表名为 [tblCases]。

在 Access 中创建以下查询并将其另存为 [qryUnpivotEvents]

    SELECT tblCases.caseID, "event1" AS event, tblCases.event1_date AS eventDate
    FROM tblCases
UNION ALL
    SELECT tblCases.caseID, "event2" AS event, tblCases.event2_date AS eventDate
    FROM tblCases
UNION ALL
    SELECT tblCases.caseID, "event3" AS event, tblCases.event3_date AS eventDate
    FROM tblCases

使用 Access UI 创建名为 [tblEvents] 的新表,其中包含以下字段:

  [eventID]: AutoNumber, Primary Key
   [caseID]: Number, Long Integer
    [event]: Text(10)
[eventDate]: Date/Time

运行以下追加查询以将数据复制到新表中

INSERT INTO tblEvents (caseID, event, eventDate)
SELECT caseID, event, eventDate
FROM qryUnpivotEvents

完成此操作后,您可以删除 [qryUnpivotEvents] 查询,因为它将不再使用。

最新更新