Selecting row multiple times, as specified by a field in that row
If you have a numbers table, you can use that. If you don't have a numbers table, just create one:

CREATE TABLE dbo.Numbers(Number INT PRIMARY KEY CLUSTERED);

INSERT dbo.Numbers WITH (TABLOCKX) (Number) 
SELECT TOP (1000000) Number = ROW_NUMBER() OVER (ORDER BY s1.[object_id])
  FROM sys.all_objects AS s1
  CROSS JOIN sys.all_objects AS s2;      


(You probably don't need 1 million rows in your numbers table, but it's a decent ballpark that handles most scenarios. You can also reduce space by applying compression if you have an appropriate edition.)

Then you can do this:

SELECT t.columns
FROM dbo.[a table] AS t
CROSS JOIN dbo.Numbers AS n
WHERE n.Number &gt;= 1 -- in case you have a 0-based numbers table
  AND t.[Number of reports written] &gt;= n.Number;


More info on the power of Numbers tables:


Why are numbers tables &quot;invaluable&quot;?
Generate a Set - Part 1 | Part 2 | Part 3
Why should I consider using an auxiliary numbers table?