如何根据另一行的开始日期获取一行的结束日期

时间:2021-01-04 11:24:34

标签: sql powerbi powerquery

我有一个带有库存报告的表格,其中包含物品列表、位置、物品进入位置的日期:

例如在下表中:

  • 商品 1 于 2020 年 1 月 1 日进入仓库 1
  • 2020 年 2 月留在仓库_1
  • 在 3 月份,该项目进入 wahrehouse_2(这意味着它离开了仓库 1)

我需要对每个仓库每个月的商品数量进行汇总。 我面临的挑战是我没有结束日期列,因此对于 2020 年 2 月,它是空白的,而它应该显示项目 1 仍在“仓库_1”中

为此,我想添加一个“end_date”列,该列从该项目的下一行获取日期 (对于第 1 行,当项目移至“warehouse_2”时,结束日期为 2020-03-01。

<头>
item_id 日期 位置
item_1 2020-01-01 仓库_1
item_1 2020-03-01 仓库_2
item_1 2020-08-01 仓库_1

1 个答案:

答案 0 :(得分:1)

要计算 end_date,请使用 lead()

select t.*,
       lead(date) over (partition by item_id order by date) as end_date
from t;