【发布时间】:2021-12-21 20:31:27
【问题描述】:
我有 4 列,“DateByQuarter”、“FromCurrency”、“ToCurrency”、“Rate” - 这是在一个表中。最终的“DateByQuarter”值为“2021-09-30”,此数据集在每个季度末更新(例如,下一组货币对将于 2021-12-31 上传)
我的目标是创建一个新表,我可以在该表下方的行中动态添加价值 7 年的季度,并使用最后可用的货币汇率填充它。例如,由于 2021-09-30 是此处的最后日期,因此未来 7 年的所有货币汇率都将以此为基础。
到目前为止,我找不到一个简单的方法来做到这一点,非常感谢任何帮助!
->添加了下表的示例; 2021 年 12 月 31 日起采用 2021 年 9 月 30 日起所有货币对的汇率。
| DatebyQuarter | FromCurrency | ToCurrency | Rate |
|---|---|---|---|
| 2021-03-31 | USD | EUR | 0.85 |
| 2021-03-31 | USD | INR | 74.27 |
| 2021-03-31 | USD | CAD | 1.24 |
| 2021-06-30 | USD | EUR | 0.86 |
| 2021-06-30 | USD | EUR | 74.32 |
| 2021-06-30 | USD | CAD | 1.22 |
| 2021-09-30 | USD | EUR | 0.85 |
| 2021-09-30 | USD | EUR | 73.09 |
| 2021-09-30 | USD | CAD | 1.26 |
| 2021-12-31 | USD | EUR | 0.85 |
| 2021-12-31 | USD | EUR | 73.09 |
| 2021-12-31 | USD | CAD | 1.26 |
| 2022-03-31 | USD | EUR | 0.85 |
| 2022-03-31 | USD | EUR | 73.09 |
| 2022-03-31 | USD | CAD | 1.26 |
| 2022-06-30 | USD | EUR | 0.85 |
| 2022-06-30 | USD | EUR | 73.09 |
| 2022-06-30 | USD | CAD | 1.26 |
| 2022-09-30 | USD | EUR | 0.85 |
| 2022-09-30 | USD | EUR | 73.09 |
| 2022-09-30 | USD | CAD | 1.26 |
| 2022-12-31 | USD | EUR | 0.85 |
| 2022-12-31 | USD | EUR | 73.09 |
| 2022-12-31 | USD | CAD | 1.26 |
| 2023-03-31 | USD | EUR | 0.85 |
| 2023-03-31 | USD | EUR | 73.09 |
| 2023-03-31 | USD | CAD | 1.26 |
| 2023-06-30 | USD | EUR | 0.85 |
| 2023-06-30 | USD | EUR | 73.09 |
| 2023-06-30 | USD | CAD | 1.26 |
| 2023-09-30 | USD | EUR | 0.85 |
| 2023-09-30 | USD | EUR | 73.09 |
| 2023-09-30 | USD | CAD | 1.26 |
| 2023-12-31 | USD | EUR | 0.85 |
| 2023-12-31 | USD | EUR | 73.09 |
| 2023-12-31 | USD | CAD | 1.26 |
| 2024-03-31 | USD | EUR | 0.85 |
| 2024-03-31 | USD | EUR | 73.09 |
| 2024-03-31 | USD | CAD | 1.26 |
| 2024-06-30 | USD | EUR | 0.85 |
| 2024-06-30 | USD | EUR | 73.09 |
| 2024-06-30 | USD | CAD | 1.26 |
| 2024-09-30 | USD | EUR | 0.85 |
| 2024-09-30 | USD | EUR | 73.09 |
| 2024-09-30 | USD | CAD | 1.26 |
| 2024-12-31 | USD | EUR | 0.85 |
| 2024-12-31 | USD | EUR | 73.09 |
| 2024-12-31 | USD | CAD | 1.26 |
| 2025-03-31 | USD | EUR | 0.85 |
| 2025-03-31 | USD | EUR | 73.09 |
| 2025-03-31 | USD | CAD | 1.26 |
| 2025-06-30 | USD | EUR | 0.85 |
| 2025-06-30 | USD | EUR | 73.09 |
| 2025-06-30 | USD | CAD | 1.26 |
| 2025-09-30 | USD | EUR | 0.85 |
| 2025-09-30 | USD | EUR | 73.09 |
| 2025-09-30 | USD | CAD | 1.26 |
| 2025-12-31 | USD | EUR | 0.85 |
| 2025-12-31 | USD | EUR | 73.09 |
| 2025-12-31 | USD | CAD | 1.26 |
| 2026-03-31 | USD | EUR | 0.85 |
| 2026-03-31 | USD | EUR | 73.09 |
| 2026-03-31 | USD | CAD | 1.26 |
| 2026-06-30 | USD | EUR | 0.85 |
| 2026-06-30 | USD | EUR | 73.09 |
| 2026-06-30 | USD | CAD | 1.26 |
| 2026-09-30 | USD | EUR | 0.85 |
| 2026-09-30 | USD | EUR | 73.09 |
| 2026-09-30 | USD | CAD | 1.26 |
| 2026-12-31 | USD | EUR | 0.85 |
| 2026-12-31 | USD | EUR | 73.09 |
| 2026-12-31 | USD | CAD | 1.26 |
| 2027-03-31 | USD | EUR | 0.85 |
| 2027-03-31 | USD | EUR | 73.09 |
| 2027-03-31 | USD | CAD | 1.26 |
| 2027-06-30 | USD | EUR | 0.85 |
| 2027-06-30 | USD | EUR | 73.09 |
| 2027-06-30 | USD | CAD | 1.26 |
| 2027-09-30 | USD | EUR | 0.85 |
| 2027-09-30 | USD | EUR | 73.09 |
| 2027-09-30 | USD | CAD | 1.26 |
| 2027-12-31 | USD | EUR | 0.85 |
| 2027-12-31 | USD | EUR | 73.09 |
| 2027-12-31 | USD | CAD | 1.26 |
| 2028-03-31 | USD | EUR | 0.85 |
| 2028-03-31 | USD | EUR | 73.09 |
| 2028-03-31 | USD | CAD | 1.26 |
| 2028-06-30 | USD | EUR | 0.85 |
| 2028-06-30 | USD | EUR | 73.09 |
| 2028-06-30 | USD | CAD | 1.26 |
| 2028-09-30 | USD | EUR | 0.85 |
| 2028-09-30 | USD | EUR | 73.09 |
| 2028-09-30 | USD | CAD | 1.26 |
| 2028-12-31 | USD | EUR | 0.85 |
| 2028-12-31 | USD | EUR | 73.09 |
| 2028-12-31 | USD | CAD | 1.26 |
【问题讨论】:
-
请分享一些示例数据和期望的结果
-
DateByQuarter 列中的值是否总是该季度的最后一个日期?您生成过去 7 年或未来 7 年的数据?就像 Felipe 提到的那样,样本数据和预期输出可能有助于澄清事情。
-
感谢费利佩和埃里克!包括样本数据/所需结果。这里的想法是将未来的费率附加到同一张表中。对于 Eric 的问题,是的,每个季度的最后一个日期都在 DateByQuarter 列中,其中包含未来 7 年的数据。
标签: sql snowflake-cloud-data-platform