I'm working with an MSSQL 2000 database containing large amounts of Windows perfmon data collected for all servers in the environment. I'm using SSRS 2005 to build a custom report chart to visualize the metrics over time.
If I wanted to view, say, the last month the extensive number of data points would create an ugly report with unreadable labels on the X axis. I would like to reduce the aggregate the data by time down to n data points so to give the average value over the grouped time spans.
I've tried building a query with fancy GROUP BY clauses, haven't been able to build something that executes. I figured this ought to be a common task for SQL, but I haven't found any answers online.
The table structure basically looks like below. This is actually the MOM 2005 OnePoint database, but I think the application is irrelevant.
CREATE TABLE PerfTable (
[time] datetime,
value float,
Server nvarchar(356),
ObjectName nvarchar(225),
CounterName nvarchar(225),
InstanceName nvarchar(225),
Scale float
);