当一组数据中缺少某些日期时,将一组时间序列数据与另一组时间序列数据合并

当一组数据中缺少某些日期时,将一组时间序列数据与另一组时间序列数据合并

我有一个 LibreOffice Calc 电子表格,其中包含两组时间序列数据,例如

|Date-A    |A  | | | |Date-B    |B  |
|2020-01-01|101| | | |2020-01-01|201|
|2020-01-02|102| | | |2020-01-02|202|
|2020-01-03|103| | | |2020-01-03|203|
|2020-01-04|104| | | |2020-01-04|204|
|2020-01-05|105| | | |2020-01-05|205|
|2020-01-06|106| | | |2020-01-08|206|
|2020-01-07|107| | | |2020-01-09|207|
|2020-01-08|108| | | |2020-01-10|208|
|2020-01-09|109| | | |2020-01-11|209|

请注意,缺少某些日期(例如,日期 B 缺少 2021-01-06 和 2021-01-07)

我想仅使用同时存在日期 A 和日期 B 的行来统一这些数据集。在这种情况下,结果将是

|Date      |A  |B  |
|2020-01-01|101|201|
|2020-01-02|102|202|
|2020-01-03|103|203|
|2020-01-04|104|204|
|2020-01-05|105|205|
|2020-01-08|108|206|
|2020-01-09|109|207|

请注意,省略了 2020-01-06 和 2021-01-07,并且两个数据集中存在的所有日期都存在正确的 A 和 B 值。

我可以在 LibreOffice 中执行此操作吗?

答案1

  1. 创建一个新的 LibreOffice Base 数据库(嵌入式 hsqldb);
  2. 创建两个具有与数据列相同结构的表(A,B);
  3. 在电子表格中,选择并复制数据列Date-AA
  4. 将 Base 中的这两列粘贴到Table A(在表格视图中,选择表格A并点击CTRL+ V
  5. B data对(日期和数据)列重复步骤 3 和 4 ;
  6. 在 SQL 模式中创建一个新的查询:
SELECT "Date-A" AS "Date", "A", "B" FROM "A" JOIN "B" ON "A"."Date-A" = "B"."Date-B";

结果:

结果

补充说明:不要尝试直接基于电子表格创建新数据库。这些数据库不支持 JOIN(据我所知),如果您尝试,您将收到奇怪的错误消息...(就像我第一次做的那样)

相关内容