¿Cómo calcular los cambios semana tras semana en SQL?

¿Cómo calcular los cambios semana tras semana en SQL?

Tengo una tabla de datos que tiene 3 columnas: Semana, Tipo y unidades. Quiero calcular los cambios semanales en unidades para cada Tipo, y la tabla de resultados será así:

Week         Type   Units   Change
2020-12-01    A      10      null
2020-12-01    B      15      null
2020-12-01    C      20      null
2020-12-01    D      18      null
2020-12-08    A      20       10
2020-12-08    B      15       0
2020-12-08    C      25       5
2020-12-08    D      15      -3
... 

Intenté usar la función de retraso, pero fracasé, tal vez porque estoy confundido sobre qué usar en la partición y el orden. ¿Puede alguien ayudarme?

Mostrar la mejor respuesta

Ya que desea las "Unidades" anteriores para el mismo "Tipo", la partición está en el "Tipo".

SELECT *
, Units - LAG(Units) OVER (PARTITION BY [Type] ORDER BY [Week]) AS Change
FROM data_table

Hola, gracias por la respuesta, probé a tu manera pero el resultado no es el correcto. Quiero calcular los cambios.

¿Usaste la versión actual?

Sí, funciona ahora. ¡Gracias!