John Buickerood John Buickerood Business Intelligence Business Intelligence Portfolio Portfolio Phone: 858.597.1730 Phone: 858.597.1730 Email: [email protected] Email: [email protected]
Jun 17, 2015
John BuickeroodJohn BuickeroodBusiness Intelligence PortfolioBusiness Intelligence Portfolio
Phone: 858.597.1730Phone: 858.597.1730
Email: [email protected]: [email protected]
Table of ContentsTable of Contents
IntroductionIntroduction Transact SQL ProjectTransact SQL Project SSIS ProjectSSIS Project SSAS ProjectSSAS Project SSRS ProjectSSRS Project Performance Point ProjectPerformance Point Project
IntroducIntroductiontion This portfolio contains examples of my development skills utilizing This portfolio contains examples of my development skills utilizing
the MS SQl Server 2008 BI stack. It is a result of my work during the MS SQl Server 2008 BI stack. It is a result of my work during the 12 week hands on experience with the SetFocus Master’s the 12 week hands on experience with the SetFocus Master’s program.program.
SetFocus utilizes Microsoft Official curriculum along with their own SetFocus utilizes Microsoft Official curriculum along with their own materials.materials.
T-SQLT-SQL SSISSSIS SSASSSAS SSRSSSRS MDXMDX Performance Point ServerPerformance Point Server SharePointSharePoint In addition to the coursework and programming labs, the program In addition to the coursework and programming labs, the program
included challenging real world projects.included challenging real world projects.
Transact SQL Transact SQL
This project was based on the AdventureWorks2008 This project was based on the AdventureWorks2008 database. The example uses a function to retrieve the sales database. The example uses a function to retrieve the sales from the top 5 week ending dates for 2003. It then RANKS from the top 5 week ending dates for 2003. It then RANKS the sales and puts the results into a PIVOT table.the sales and puts the results into a PIVOT table.
Common Table Expressions are used extensively as Common Table Expressions are used extensively as temporary result sets. temporary result sets.
The following three slides illustrate the T-SQL code and The following three slides illustrate the T-SQL code and resulting output.resulting output.
A function calculates the week end date.
The first CTE is used to call the Week End date function and RANK the results. The second CTE does the SUM and JOIN, the third CTE does the PIVOT.
Output results from the query.
SSIS ProjectSSIS Project
The project is for a fictitious construction company called The project is for a fictitious construction company called AllWorksAllWorks. SSIS is used build a database to track employee and . SSIS is used build a database to track employee and customer information, timesheet and labor rates data, as well as customer information, timesheet and labor rates data, as well as job order information, job materials, and customer invoices. This job order information, job materials, and customer invoices. This information is stored in Excel Spreadsheets, XML files, and csv information is stored in Excel Spreadsheets, XML files, and csv files. files.
The following slides illustrate a sample of the SSIS tasks used to The following slides illustrate a sample of the SSIS tasks used to build the database from the source files.build the database from the source files.
The flow of the tasks are: The flow of the tasks are: 1. Define where the data is coming from.1. Define where the data is coming from. 2. Change the data types of the incoming data to SQL Server 2. Change the data types of the incoming data to SQL Server
compatible data types.compatible data types. 3. Match incoming data to existing table in database.3. Match incoming data to existing table in database. 4. Determine whether the row is new or and update.4. Determine whether the row is new or and update. 5. INSERT or UPDATE5. INSERT or UPDATE In addition to the data flow tasks, a VB.Net script task is used to In addition to the data flow tasks, a VB.Net script task is used to
keep a running total of INSERTED and UPDATED rows which the keep a running total of INSERTED and UPDATED rows which the control flow task uses to email the results after completion .control flow task uses to email the results after completion .
This Control Flow starts up the Data Flow to load the Employee master table. Upon completion of the Data Flow, an email is created and sent with data load stats.
This Data Flow loads the Employee master table from an Excel Spreadsheet.
This Data Flow loads the Client cross reference table. Note: There are three separate lookups.
VB.Net Script task to keep a running total of INSERTED and UPDATED rows.
This is the data source view from the AllWorks cube.
Custom hierarchies on the Job Master table. These are used in reports to enable drill-downs.
Calculated members that are used by KPIs.
KPIs used in AllWorks to measure company performance.
The cube is partitioned to aid overall performance.
Fact table aggregations, which help optimize reporting performance.
SSRSSSRS
This project was based on the Allworks OLAP cube and This project was based on the Allworks OLAP cube and consisted of two tabular reports which are shown from consisted of two tabular reports which are shown from within SSMS, they were also deployed to Sharepoint.within SSMS, they were also deployed to Sharepoint.
Additionally, there is a SSRS line chart done for the final Additionally, there is a SSRS line chart done for the final project that is included in this section.project that is included in this section.
This report shows jobs performed by each employee within a date range. Features cascading parameters on employee (only shows dates that employee worked).
This report shows Overhead of current quarter compared to the previous quarter and the percent change.
This line chart tracks the training evaluation scores of the specific trainer for the current quarter compared to the overall current QTD training evaluation score.
Performance Point ServerPerformance Point Server
The Final project involved a considerable The Final project involved a considerable amount of data modeling in order to amount of data modeling in order to integrate two databases into a Data integrate two databases into a Data Warehouse. The DW was used to build the Warehouse. The DW was used to build the OLAP cube. OLAP cube.
PerformancePoint Server was used to PerformancePoint Server was used to create a dashboard containing a create a dashboard containing a scorecard, several charts and some Excel scorecard, several charts and some Excel dashboards all deployed to SharePoint.dashboards all deployed to SharePoint.
This scorecard shows KPIs for Overhead categories on the left and Open Receivables and Profit % on the right. All by quarter.
This chart shows employee’s labor dollars by quarter, along with the percentage of labor for the jobs the employee worked on.
This is the MDX code behind the previous slide.
Pivot table using Overhead amount, Quarter, and Year (filters on Year) from cube.
Excel pivot table using Profit dollars, Profit %, Quarter, and County (filter on multiple counties) from the cube. Profit % on a dual-Y axis.
Experience SummaryExperience Summary 20 Years I.T. experience20 Years I.T. experience Requirements gatheringRequirements gathering Data Modeling – Logical, Physical, Star, SnowflakeData Modeling – Logical, Physical, Star, Snowflake SQL – Queries, Stored Procedures, TriggersSQL – Queries, Stored Procedures, Triggers MS Business IntelligenceMS Business Intelligence - SQL Server 2008- SQL Server 2008 - Integration Services (SSIS)- Integration Services (SSIS) - Analysis Services (SSAS)- Analysis Services (SSAS) - MDX Programming- MDX Programming - Reporting Services (SSRS)- Reporting Services (SSRS) - Excel and Excel Services- Excel and Excel Services - Performance Point Server- Performance Point Server - SharePoint- SharePoint