Hi Guys and thanks in advance for any help you guys may be able to give.

I have a table which has resource demand data and the table is structured by the resource details and then 24 columns for the 2 year forecast (1 column for each month). eg:

Resource Project Name ID Month1 Month2 Month3 Month4 Month5....... Month 24
Res1 33564 Ted 2284 1 .4 .2 1 1 ........ 1
Res2 83742 Bill 4273 1 1 1 1 1 1
Res1 83742 Ted 2284 Null .6 .4 Null Null Null

I need 2 things from you guys if your able to help,

The first I need to do change the data so there is only 1 month per row, not 24. A union query is doing the job but the code is clumsy and not scable. eg:

SELECT [Request Id]
,[Demand Item]
,[Project Cost Centre]
,[Resource Name]
,[Resource Employee Number]
,[Month Curr] AS 'Demand'
,[Importfiledatetimestamp] AS 'Effective_Date'
FROM [EPS].[DataSets].[WOW].[Current Resource Demand - Monthly]
WHERE [Month Curr] is not null
UNION ALL
SELECT [Request Id]
,[Demand Item]
,[Project Cost Centre]
,[Resource Name]
,[Resource Employee Number]
,[Month 1] AS 'Demand'
,dateadd(m,1,[Importfiledatetimestamp]) AS 'Effective_Date'
FROM [EPS].[DataSets].[WOW].[Current Resource Demand - Monthly]
WHERE [Month Curr] is not null
...........

So looking for a better way of doing the above and the output of this will give me a monthly view. I need to change this to weekly. So I need to work out how many Mondays are in the month and duplicate the record that many times.

Again guys, thanks in advance for any help you may be able to provide.