What is the most straightforward approach to producing a data set that can be used in a SQL Server Reporting Services report to display the following:
SalesPerson # Sales # Gross Profit
John Doe 100 $140,000 $25,000
Everyone Else (Avg.) 1200 $2,000,000 $250,000
Jane Smith 80 $100,000 $15,000
Everyone Else (Avg.) 1220 $2,040,000 $260,000
...and so on.
This is a very, very simplified example of what I’m trying to do (for instance, the real scenario involves showing the ‘Everyone Else’ broken out into three categorical rows), but it illustrates the primary objective of displaying aggregate data for each individual with a comparison to everyone else (exclusive). Pseudo-code would be fine. My first stab at the SQL code for this got pretty tangled pretty quickly, and I know there must be a more direct method.
Any tips appreciated.
If you do not mind formatting later, then if we assume you have something like:
First I’ll need some helper variables for total counts
Then we fetch total for everyone in a given period (YEAR = 2009)
And now for each person vs everyone else, but all in one row.
Now you can package all this in a stored procedure with parameter(s) for date interval. May still need to tweak number of sales people to determine which were active in a certain period and how to count those who did not sell anything. With this,
EveryoneElsemeans number of sales people who sold something -1; so if you have 10 sales people and only 5 sold something, thanEveryoneElse = 4.