2. Contents
___________________________________________________________________________________________________
This portfolio contains examples of my development
skills in the Business Intelligence arena.
Contents Page
• Data Modeling 3
• SQL Programming 4
• SQL Server Integration Services (SSIS) 6
• SQL Server Analysis Services (SSAS) 7
• MDX Programming 12
• SQL Server Reporting Services (SSRS) 14
• Performance Point Server (PPS) 16
• SharePoint Server 18
• Experience Summary 20
Stephen Stombaugh Page 2
4. SQL Server TSQL Programming
This stored procedure updates a Human Resources Employee
table and its corresponding History table within a Transaction
and includes error handling.
CREATE PROCEDURE HumanResources.uspUpdateEmployeeHireInfo ( @EmployeeID int, @Title nvarchar(50), @HireDate datetime,
@RateChangeDate datetime, @Rate money, @PayFrequency tinyint, @CurrentFlag [dbo].Flag )
AS
BEGIN
SET NOCOUNT ON;
BEGIN TRY
BEGIN TRANSACTION;
UPDATE HumanResources.Employee
SET Title = @Title, HireDate = @HireDate, CurrentFlag = @CurrentFlag
WHERE EmployeeID = @EmployeeID;
INSERT INTO HumanResources.EmployeePayHistory (EmployeeID, RateChangeDate, Rate, PayFrequency)
VALUES (@EmployeeID, @RateChangeDate, @Rate, @PayFrequency);
COMMIT TRANSACTION;
END TRY
BEGIN CATCH -- Rollback any active or uncommittable transactions before inserting information in the ErrorLog
IF @@TRANCOUNT > 0
BEGIN
ROLLBACK TRANSACTION;
END
EXECUTE [dbo].[uspLogError];
END CATCH;
END;
Stephen Stombaugh Page 4
5. This stored procedure lists all Evaluation questions, and scores
for a specific Instructor, Class, and Student.
SELECT inst.Name AS Instructor, eval.ClassID, Convert(varchar,
det.DateCompleted, 101) AS Completed, det.StudentID,
sub.Description AS Category, quest.Question, res.Score
FROM EvaluationResults res
INNER JOIN StudentEvalDetails det
on det.StudentEvalDetailsID = res.StudentEvalDetailsID
INNER JOIN Evaluation eval
on eval.EvaluationID = det.EvaluationID
INNER JOIN Questions quest
ON quest.QuestionID = res.QuestionID
INNER JOIN SubCategories sub
ON sub.SubCategoryID = quest.SubCategoryID
INNER JOIN Instructors inst
ON inst.InstructorID = eval.InstructorID
WHERE inst.Name = 'Katy' AND ClassID = 8 AND StudentID = 163958
Stephen Stombaugh Page 5
6. SQL Server
Integration Services (SSIS)
This ETL Package will Insert/Update into a SQL Server table,
from an Excel Spreadsheet, with flat file error log.
Stephen Stombaugh Page 6
7. SQL Server
Analysis Services (SSAS)
The development/deployment of the All Works cube.
Stephen Stombaugh Page 7
11. Definition of Key Performance Indicators (KPIs).
Stephen Stombaugh Page 11
12. MDX Programming
RANK Cities by Dollar Sales, but only for those cities with an
Average Price (Dollar Sales / Unit Sales) greater than $26.00,
for the Product of Home Audio, year 2005.
Stephen Stombaugh Page 12
13. For the top 3 Months of 2005, show the top 3 product
subcategories with the largest % change in sales dollar growth
over the previous month.
Stephen Stombaugh Page 13
14. SQL Server
Reporting Services (SSRS)
Product Category Ranking from OLAP Cube.
Stephen Stombaugh Page 14
19. KPIs using Excel Services and Web Parts.
Stephen Stombaugh Page 19
20. Experience Summary
• 28 Years of Information Technology experience
• Requirements gathering
• Data Modeling – Logical, Physical, Star, Snowflake
• SQL – Queries, Stored Procedures, Views, Triggers, Functions
• MS Business Intelligence
o SQL Server 2005
o Integration Services (SSIS), Informatica
o Analysis Services (SSAS)
o MDX Programming
o Reporting Services (SSRS), Business Objects, Crystal Reports
o Excel & Excel Services
o Performance Point Server
o SharePoint Server
Stephen Stombaugh Page 20