sql基于第三列的一行中的两列

wxclj1h5  于 2021-07-29  发布在  Java
关注(0)|答案(2)|浏览(353)

我有一个数据集(称之为tablea),它记录了一年中的所有数据,按月列显示

我想做的是能够使用一个查询在一行上获得第一个月的期初和期末余额,但这需要从上一年的余额12中提取。与此类似:

我需要能够在powerbi中以直接查询的方式完成这项工作,因此在powerquery中合并单独的查询将不起作用。
对如何做到这一点有什么建议吗?
提前谢谢!

t8e9dugd

t8e9dugd1#

SELECT CurrentYear.Item, CurrentYear.FiscYr, PreviousYear.Balance12, CurrentYear.Balance1 
FROM TableA CurrentYear
LEFT OUTER JOIN TableA PreviousYear ON CurrentYear.Item = PreviousYear.Item AND PreviousYear.FiscYr = CurrentYear.FiscYr - 1
ejk8hzay

ejk8hzay2#

你可以用 lag() :

select item, fiscyr, lag(balance12) over (partition by item order by fiscyr) as beginning,
       balanc1 as ending
from t;

相关问题