Spotfire跨表求和:基于关联日期计算Table2对应数值总和
需求说明
我有两张通过日期字段关联的表,其中Table1的Date字段为唯一值。需要在Table1的Sum列中,计算对应日期下Table2中Value字段的总和,求实现方法。
示例数据
Table1
| Date | Sum |
|---|---|
| 2023-08-01 | 4 |
| 2023-08-02 | 10 |
| 2023-08-03 | 3 |
| 2023-08-04 | 17 |
Table2
| Date | Value |
|---|---|
| 2023-08-01 | 1 |
| 2023-08-01 | 1 |
| 2023-08-01 | 1 |
| 2023-08-01 | 1 |
| 2023-08-02 | 4 |
| 2023-08-02 | 6 |
| 2023-08-03 | 3 |
| 2023-08-04 | 1 |
| 2023-08-04 | 4 |
| 2023-08-04 | 1 |
| 2023-08-04 | 6 |
| 2023-08-04 | 5 |
实现方法
1. SQL 方式
因为Table1的日期是唯一值,用左连接结合聚合函数就能计算对应日期的总和:
SELECT t1.Date, SUM(t2.Value) AS Sum FROM Table1 t1 LEFT JOIN Table2 t2 ON t1.Date = t2.Date GROUP BY t1.Date;
如果要直接更新Table1里的Sum列,用子查询更新:
UPDATE Table1 t1 SET t1.Sum = ( SELECT SUM(t2.Value) FROM Table2 t2 WHERE t2.Date = t1.Date );
2. Excel 方式
假设Table1在Sheet1的A、B列,Table2在Sheet2的A、B列,在Sheet1的B2单元格输入公式后下拉填充:
=SUMIF(Sheet2!$A:$A, A2, Sheet2!$B:$B)
这个公式会自动匹配Sheet2中与当前行日期相同的所有记录,对Value列求和。
内容的提问来源于stack exchange,提问作者Eric
相关产品推荐
相关产品推荐

