This document contains examples of business intelligence projects completed by Hong-Bing Li using the Microsoft BI product stack, including SQL Server Integration Services, SQL Server Analysis Services, SQL Server Reporting Services, Performance Point Services, and SharePoint Server. The portfolio demonstrates skills in ETL processing, cube development, report building, dashboard creation, and MDX programming. It provides details on sample projects involving data extraction, transformation, loading, OLAP cube design, KPI development, parameterized reporting, and multidimensional analysis.
2. Page Contents
3 SQL Server Integration Services (SSIS)
8 SQL Server Analysis Services (SSAS)
15 SQL Server Reporting Services (SSRS)
20 Performance Point Services (PPS)
29 SharePoint Server(SP)
32 MDX Programming
This portfolio contains examples of my business intelligence
projects using Microsoft BI Product Stack.
4. A new database “All Works” is setup as the staging area for the ETL process. A
thorough understanding of the relationships between the tables in the following
data diagram is important in determining the sequence of tables to be loaded and
in enforcing referential integrity.
4
5. A Script Task is utilized to maintain multiple sets of variables with scripts in C#, for
instance, one for keeping track of row counts of data processed dynamically at the
folder level, one for row counts at the file level.
6. One SSIS package is created to do ETL for one target table. The following illustrates
the data processing within the Job Timesheets package: the data process pipeline
starts by extracting data from a CSV file. The data is then conversed, processed and
transformed (filter, remove duplicates, lookups, validate) as it passes through the
pipeline, and is finally loaded into the target job timesheets table either as inserts
or updates. It logs any rows that error out for review and correction.
Similarly, seven more packages are generated for seven target tables.
6
7. 7
A Sequence Container is deployed to run the eight ETL packages in sequence based on the
relationships between the tables in the “All Works” Database to ensure referential integrity. If the
eight packages are processed successfully, data maintenance tasks are performed. A success or
failure notice email will be sent out depending on whether the data maintenance tasks are all
successfully completed or not.
A Master Package is created to contain the Sequence Container, the maintenance tasks and the
email notices; then a SQL Server Agent Job is setup to run the Master Package on a predefined
schedule to automate the entire data processing procedure.
13. 13
This is an example of a KPI developed from the AllWorks.cube, which is deployed to
the Excel Spreadsheet for the end users. All the data in the cube, including all
KPIs, can be explored through the Pivot Table Field List.
19. 19
Whenever users make a selection on the "City" parameter, the cascading parameter "Product
SKU“’s values are filtered immediately based on the selected cities. So the list of values for a
cascading parameter depends on the value chosen in the preceding parameter which helps users
manage large amounts of report data. The technique of implementing a cascading parameter in
SSRS shown in this Product Report Demo uses MDX, which is based on OLAP, is somewhat more
complex than that using SQL, which is based on regular OLTP RDBMS.
21. 21
Large Scorecard with Multiple KPIs and Hotlinks to a
supporting report (Part 1). Right click a KPI, a supporting chart or table will
pop up to the right of the Scorecard, as shown in the next two slides.
22. 22
Large Scorecard with Multiple KPIs and their Hotlinks to a supporting
report (Part 2 with partial supporting chart)
23. Large Scorecard with Multiple KPIs and Hotlinks to a supporting
report (Part 3 with the complete Supporting Chart)
24. This dual Y-axis chart created in PPS can be a great tool for data analysis as: 1. Two different types of
measures can be analyzed simultaneously against dimensional data on the X-Axis, such as Dollar Sales (left
Y-axis) and Product Percent of Parent Sales (right Y-Axis) shown below; 2. These two measures can be
broken out further to provide more detail in tables or charts as in the report below where the right Y-Axis
measuring Product Percent is further explained by the Product Siblings breakout; 3. Data can be explored
at different levels of the Hierarchy family (see the top Product Hierarchy dropdown list) which functions as
a filter, allowing one to obtain summary and detail statistics at different levels accordingly and export
them to Excel or PowerPoint; and 4. Data points in the chart can be drilled down to various dimensions as
demonstrated below, allowing for the creation of additional charts (see chart in next slide) which permit
one to investigate the contribution of various factors.
25. Continued: this chart is generated by drilling down from the previous
slide. For example, the 21.32% of health and fitness sales of parents in
Aug. 2005 is broken out by region.
33. MDX query for the primary dashboard
(Slide 15 and 16 in SSRS Section)
34. This MDX Query shows two measures, Internet Sales Amount and
Internet Freight Cost, are sliced against three dimensions:
Date (FY Year), Product and Customer (Country)