Tally needs only 5 members because OP needs to derive only 4 rows from each original row. Provided there are no 2 original rows where abs(r1.id-r2.id) < 5 , try
WITH SAMPLE_DATA(ID,[Workload],Units) AS (
SELECT * FROM (VALUES
(1, 'EXO',3 )
,(7, 'SPO',4 )
,(15, 'LYO',10)) AS X(ID,[Workload],Units)
)
SELECT d.ID + t.N, d.Workload, d.Units
FROM (VALUES (0),(1),(2),(3),(4)) t(N),
SAMPLE_DATA d