P
Patrick
I am trying to report summarised financial numbers for each month......
I would like to use a Datasheet Form as a subform. The Datasheet Form needs
to be generated by the main form. The intention is to dynamically generate
SQL similar to that below and view it throgh the main datasheet. Note the
column names would change each month...hence the need to generate the subform
dyamically. Alternatively, is there a better way to do this????
SELECT D.domainName as Domain,
dbo.GetPerformanceLevel(MD.RecordId) as Level,
SUM (CASE WHEN MD.measureDate = '2005-10-01' THEN MD.ServiceCredit ELSE 0
END) as [Oct-05],
SUM (CASE WHEN MD.measureDate = '2005-11-01' THEN MD.ServiceCredit ELSE 0
END) as [Nov-05],
SUM (CASE WHEN MD.measureDate = '2005-12-01' THEN MD.ServiceCredit ELSE 0
END) as [Dec-05],
SUM (CASE WHEN MD.measureDate = '2006-01-01' THEN MD.ServiceCredit ELSE 0
END) as [Jan-06],
SUM (CASE WHEN MD.measureDate = '2006-02-01' THEN MD.ServiceCredit ELSE 0
END) as [Feb-06],
SUM (CASE WHEN MD.measureDate = '2006-03-01' THEN MD.ServiceCredit ELSE 0
END) as [Mar-06],
SUM (CASE WHEN MD.measureDate = '2006-04-01' THEN MD.ServiceCredit ELSE 0
END) as [Apr-06]
FROM dbo.MeasureDetails MD INNER JOIN
dbo.Measures M ON MD.measureId = M.measureId
INNER JOIN
dbo.Domains D ON M.domainId = D.domainId
WHERE M.timeFrame = 'Monthly'
AND MD.measureDate BETWEEN '2005-10-01' and '2006-04-01'
and dbo.GetPerformanceLevel(MD.RecordId) NOT IN ('NA','Above Target')
GROUP BY D.domainName,dbo.GetPerformanceLevel(MD.RecordId)
ORDER BY D.domainName, dbo.GetPerformanceLevel(MD.RecordId)
I would like to use a Datasheet Form as a subform. The Datasheet Form needs
to be generated by the main form. The intention is to dynamically generate
SQL similar to that below and view it throgh the main datasheet. Note the
column names would change each month...hence the need to generate the subform
dyamically. Alternatively, is there a better way to do this????
SELECT D.domainName as Domain,
dbo.GetPerformanceLevel(MD.RecordId) as Level,
SUM (CASE WHEN MD.measureDate = '2005-10-01' THEN MD.ServiceCredit ELSE 0
END) as [Oct-05],
SUM (CASE WHEN MD.measureDate = '2005-11-01' THEN MD.ServiceCredit ELSE 0
END) as [Nov-05],
SUM (CASE WHEN MD.measureDate = '2005-12-01' THEN MD.ServiceCredit ELSE 0
END) as [Dec-05],
SUM (CASE WHEN MD.measureDate = '2006-01-01' THEN MD.ServiceCredit ELSE 0
END) as [Jan-06],
SUM (CASE WHEN MD.measureDate = '2006-02-01' THEN MD.ServiceCredit ELSE 0
END) as [Feb-06],
SUM (CASE WHEN MD.measureDate = '2006-03-01' THEN MD.ServiceCredit ELSE 0
END) as [Mar-06],
SUM (CASE WHEN MD.measureDate = '2006-04-01' THEN MD.ServiceCredit ELSE 0
END) as [Apr-06]
FROM dbo.MeasureDetails MD INNER JOIN
dbo.Measures M ON MD.measureId = M.measureId
INNER JOIN
dbo.Domains D ON M.domainId = D.domainId
WHERE M.timeFrame = 'Monthly'
AND MD.measureDate BETWEEN '2005-10-01' and '2006-04-01'
and dbo.GetPerformanceLevel(MD.RecordId) NOT IN ('NA','Above Target')
GROUP BY D.domainName,dbo.GetPerformanceLevel(MD.RecordId)
ORDER BY D.domainName, dbo.GetPerformanceLevel(MD.RecordId)