Saturday, 29 June 2019

Learn Microsoft Business intelligence step by step – Day 1

What all we will do here?

We will start with very basic stuffs like understanding what is mean by Data warehouse and business intelligence and end with creating some complex SSRS Reports.

Complete Series
1.       Day 1 
2.       Day 2
3.       Day 3

Agenda for Day 1
·         What is Data Warehouse?
o    How it is different from Database?
o    What is the purpose of Data Warehouse?
·         What is Business Intelligence?
o    Introduction to Business Intelligence development studio / Sql Server Data tools
·         Basic idea on SSIS, SSAS and SSRS
o    Start with SSIS
·         How we are going to learn?
·         Lab 1 – Simple ETL process using SSIS
o    Problem statement
o    Step by Step Demo
·         Time to celebrate

What is Data Warehouse?

In a very simple word it means, “It's a place where we store all of our data”.

How it is different from Database?

Usually data warehouse is also a database. The records from multiple data sources (may be some other databases)are collected and stored in Denormalized manner. It normally stores months or years of data to support historical analysis
What is Denormalization?
Normalization is a database designing technique which makes sure that there will not be any redundant data.
  • It makes our data more reliable (because there will not be any repeating data. Exiting data will be referred wherever required)
  • It makes database management easy.
  • It reduces the size of database.
Following tables are the part of normalized database.
CityIdCityName
1Mumbai
2Kolkata
3Delhi
CustomerIdCustomerNameCityId
1Sukesh1
2Rajesh1
3Mahesh2
4Ganesh1
At the end of the day Normalized database leads to multiple join conditions in select query and thus affects the performance.
For above example query will be “Select CustomerId, CustomerName, CityName from TblCustomer inner join TblCity on TblCustomer.CityId=tblCity.CityId”
Note: In real time projects there will be more number of tables involved while joining and every table contains many records.
So the solution is Denormalization. We will design the database with repeating data. We will use rare references (or No references) among data, in short, we will repeat the same data wherever required. Denormalized version of above example looks like,
CustomerIdCustomerNameCityName
1SukeshMumbai
2RajeshMumbai
3MaheshKolkata
4GaneshMumbai
Data warehouse summarized
Image 1 for Learn Microsoft Business intelligence step by step – Day 1

What is the purpose of Data Warehouse?

  • As you can see, in the above real life example I collect different data from different places like from my bank account, from the Personal notebook (one maintained by mom containing household expenditure), from investment detail data (stored in Access database) etc.
  • Once I have collected all data, I store them in a separate excel sheet in Denormalized fashion.
  • This new excel sheet (we may refer it as Data warehouse) can be used to make my decisions about my expenses and incomes.
In simple words,Data ware house make us retrieve calculated data quickly and efficiently (without having too many joins in our select query).

What is Business Intelligence?

There is a saying that Images are better than long description. Human mind understands graphical explanation more than theoretical explanation. In order to make decision, our information need to be displayed with proper presentation in terms of charts, reports, score cards etc.Initially the concept of data warehouse was all about keeping historical data.
Data warehouse is a foundation for the BI. BI is all about leveraging our existing data and converting them into information or we can say Knowledge. We use this knowledge for making decisions in company.
Image 2 for Learn Microsoft Business intelligence step by step – Day 1
BI or Business Intelligence is simply a solution for
  • Collect information from multiple data sources
  • Transform that data into meaningful information
  • And finally show data to users with elegant presentation.

Introduction to Business Intelligence development studio / Sql Server Data tools

  • In the Microsoft world we will use “Business Intelligence development studio” commonly known as BIDS for this purpose.
  • It’s an IDE which will let us develop Data Analysis and Business Intelligence solutions.
  • It has special project types and tools for developing “Sql server Integration Services”, “Sql server Analysis services” and “Sql server reporting services”. We will learn each of these in a series of step by step article.
  • With the release of Sql Server 2012, BIDS was renamed to Sql Server Data tools.
Note: In this article we will not cover how to install sql server data tools. If you are having any problem in installing please click here.

Basic idea on SSIS, SSAS and SSRS

Step 1. Open Sql Server Data Tools
Step 2. Click on File >> New >> Project. A dialog box will popup similar to like this
Image 3 for Learn Microsoft Business intelligence step by step – Day 1
As you can see, it lets us create three kind of project. In order to perform a complete business intelligence task we need to go up with all these three projects.

1. Integration Services – SSIS – Sql server Integration services

It will let us perform wide range of data migration tasks. It let us collect data from various data sources and store them into central location.

2. Analysis Services – SSAS –Sql Server Analysis services

It will let us analyze the data

3. Reporting Services – SSRS – Sql Server Reporting services

It will let us create reports from analyzed data and present it to end user.
We will be doing labs. With every lab we will learn something new, we will reach to a new level in MSBI. We will start with SSIS and then move towards SSAS and finally end up with SSRS. In every article we will include one or more labs.
Image 4 for Learn Microsoft Business intelligence step by step – Day 1
SSIS basically performs three basic things,
  1. Collect data from various sources. – We call it Extraction(E)
  2. Data obtained from different sources may or may not be same format. So first convert all of them according to business needs - We call it Transformation(T)
  3. Load them into one big data source(mostly Data Warehouse) – We call it Load(L)
Together termed as ETL process.
Image 5 for Learn Microsoft Business intelligence step by step – Day 1


Lab 1 – Simple ETL process using SSIS

Problem statement

You have Two excel files as follows,
Image 6 for Learn Microsoft Business intelligence step by step – Day 1
  • You will collect data from first file (Datafile.xlsx).
  • Convert that data so that it match to second excel file format (merge Title, FirstName and LastName and call them as Name).
  • Dump final result to second file (Result.xlsx).

Step by Step Demo

Step 1. Create New Project
Click File >> New >> Project. Select Integration Services from the group. Specify some nice name. Say Ok.
Image 7 for Learn Microsoft Business intelligence step by step – Day 1
It will open up SSIS designer which you will use for creating and maintaining Integration service packages. It looks like follows,
Image 8 for Learn Microsoft Business intelligence step by step – Day 1
In the solution explorer under “SSIS packages” folder you will see one default package created with name “Package,dtsx”. If you want you can simply “rename it”or “remove it and add new one” (right click the folder and say “New SSIS Package”).
Note: Package is simply a collection of connections, control flow elements, data flow elements, event handlers, parameters etc. We will talk about each one of this as move further.
Step 2. Create Connection Manager for Excel File
2.1 Right click Connection Manager and Say New Connection.
Image 9 for Learn Microsoft Business intelligence step by step – Day 1
2.2 Select Excel from the popup and click on Add.
Image 10 for Learn Microsoft Business intelligence step by step – Day 1
2.3 Click the browse button and select the excel file and click on OK.
Image 11 for Learn Microsoft Business intelligence step by step – Day 1
Step 3. Rename Connection Managers
3.1 Right click the connection manager just added and rename it to SourceExcelManager.
Image 12 for Learn Microsoft Business intelligence step by step – Day 1
Step 4. Create Destination connection manager
4.1 Follow the Step no 3 and create one more connection manager pointing to Result.xlsx file.
4.2 Rename connection manager to ExcelDestinationManager.
Step 5. Create control flow – Pass data from Source Excel to Destination Excel.
5.1 Make sure control flow tab is selected in SSIS designer.
Image 13 for Learn Microsoft Business intelligence step by step – Day 1
5.2 Select data flow task from the toolbox and drag it into designer.
Image 14 for Learn Microsoft Business intelligence step by step – Day 1
5.3 Rename Data Flow Task to “Source excel to Destination excel transfer task”
Control Flow
Control flow will be used to define the workflow. As the name implies it control the flow of execution.
  • What all tasks need to be executed?
  • What will be the sequence?
  • Whether tasks need to be executed in loops or not?
    Etc.
Step 6. CreateData Flow.
Data Flow
Data Flow defines the flow of data between source and destination.
6.1 Double click the control flow created in last step.
6.2 It will take you to second tab that is Data Flow tab.
Image 15 for Learn Microsoft Business intelligence step by step – Day 1
Step 7. Create Excel Source
7.1 Now you will see a different SSIS toolbox all together. In toolbox you will see couple of groups defined like Sources, Destinations and Transformations.
Take excel source from Source group and place it in designer.
Image 16 for Learn Microsoft Business intelligence step by step – Day 1
Step 8. Configure Excel Source
8.1 Red Cross mark on excel source indicates that, it’s not configured yet. Double click the excel source. It will show up a dialog box something like this.
Image 17 for Learn Microsoft Business intelligence step by step – Day 1
8.2 Select Data Source as "SourceExcelManager", Data Access Mode as "Table or View" and Name of the sheet as "DataSheet1" (Name of the sheet in the excel file).
Note: This Excel Source will perform the Extraction Task (E) in the ETL process
Step 9. Create Derived Column
9.1 From the SSIS toolbox from Transformation group drag Derived column to SSIS designer.
Step 10. Connect Source to Derived Column
10.1 Click the Excel source added in prior step.
You can see a small blue arrow attached to the source. We call it “Data Flow Path”.
Image 18 for Learn Microsoft Business intelligence step by step – Day 1
Data Flow Path: It lets you define how data will flow.
Click on the blue arrow and connect it to Derived Column.
Image 19 for Learn Microsoft Business intelligence step by step – Day 1
Note: we will speak about the red arrow in one of the future article in the series.
Step 11. Configure the derived column
11.1 Double click the derived column. Popup looks like follows.
Image 20 for Learn Microsoft Business intelligence step by step – Day 1
11.2 Put down Derived Column Name as Name, Select Derived Column as <add>and expression as Title + “ “ + FirstName + “ “ + LastName
11.3 Click Ok.
Note: This DerivedColumn will perform the Transformation Task (T) in the ETL process
Step 12. Create Excel Destination
12.1 Add Excel Destination from the Destination group in SSIS toolbox.
Note: This Excel Destination will perform the Load Task (L) in the ETL process
Step 13. Connect Derived Column to Excel Destination
13.1 Just like step no 10, connect derived column to excel destination.
Step 14. Configure Excel Destination
14.1 Double click the Excel destination, popup looks like follow.
Image 21 for Learn Microsoft Business intelligence step by step – Day 1
14.2 Set connection Manager to “ExcelConnectionManager”, Data Access mode to “Table or View” and Name of the excel sheet to “Datasheet1”.
14.3 Click on mapping and make sure its proper, if not make sure to do it before proceeding.
Image 22 for Learn Microsoft Business intelligence step by step – Day 1
Note: In our case, mapping will be already done by the IDE itself (because names of columns are matching).
14.4 Click ok.
Step 15. Execute package
15.1 Press F5.
On successful execution you will get a screen something like this.
Image 23 for Learn Microsoft Business intelligence step by step – Day 1
16.2 Open the Result.xlsx file and confirm the output.
Image 24 for Learn Microsoft Business intelligence step by step – Day 1

Time to celebrate

Image 25 for Learn Microsoft Business intelligence step by step – Day 1
We have successfully completed our very first lab on SSIS.

Thursday, 2 May 2019

Create a SSIS Project

SSIS Projects are used to extract data from a wide variety of sources, transform data, and finally load data into the destination. In this article, we will show you the step by step approach to create a SSIS project with an example.

How to Create a SSIS Project

In this example, we will show you, the steps involved in creating a New Project in SSRS (SQL Server Reporting Services). To do so, First Double click on SQL Server Data Tools or Business Intelligence Development Studio (shortly called as BIDS)

Create a SSIS Project 1
First, select the File option from Menu item. Next, select New and then select the New Project… option to create a new SSIS Project
Create a SSIS Project 2
Once you click on the New Project… option, a new window called New Project will be opened. Use this window to select the required project from available project templates.
Let me select the Integration Services Project under the Business Intelligence Templates. Next, we changed the project name as SQL Integration Services Project.
Create a SSIS Project 3
Click Ok to finish creating new SQL Server Integration Services project.
Create a SSIS Project 4
Let me explain about individual window
  1. Solution Explorer: Use this window to create project level connection managers, and packages.
  2. Properties: Use this window to change the properties of each and every task.
  3. Toolbox: Drag and Drop the tasks, containers, transformations, sources, destinations to design your package.
  4. Information: Click on the toolbox items to see the information in this window
  5. Connection Managers: This window is to create a package level connection managers
  6. Package: Design your package


Best Way to Learn SSIS in 28 Days

SQL Server Integration Services, shortly called as SSIS is the most emerging ETL tool in the current market. Although, it is the most powerful tool you can easily learn SSIS in 28days (Maximum).
SSIS is all about Sources, Transformations, and Destinations. You need Connection Managers to connect with sources and destinations. So, if you know the connection Manager then you do not have to think about the Sources and Destinations.

Prerequisite: You cannot learn SSIS by simply reading this blog, or watching YouTube videos. You have to practice every scenario by yourself. If you practice multiple time, you can master this tool. So first, Download and install BIDS, or SQL Data Tools. Next, Download and attach Adventure Works, and Adventure Works DW database.

Learn SSIS step by step in 28 Days

Learn everything about Connection Managers in First 2 days. Generally, it takes one day to cover this topic. By seeing the links, you might wonder how you gone make it. Don’t worry, most of the steps in those links are same. I think maximum 2 to 3 steps may differ.
Introduction to Conn Manger
OLE DB
ADO
ADO.NET
Cache
EXCEL
File
FTP
SMO

Learn SSIS Sources and Destinations

Next two days concentrate to learn SSIS Source & Destinations. As I said before, if you know the connection managers, you are good with Destinations and the Sources.

Install SQL Server Data Tools

The Microsoft’s Business Intelligence Development Studio, shortly called as BIDS does not come with latest SQL Server like it did in SQL Server previous versions. Furthermore, Microsoft has renamed the BIDS as Microsoft SQL Server Data Tools Business Intelligence.
This article will show you the step by step approach to install Business Intelligence Development Tools or Microsoft SQL Server Data Tools. We can also say, install SSRS, or install SSIS etc.

In order to download the application, please click on this link: Microsoft Business Intelligence for Visual Studio and select the language (by default English is selected), and click the download button.
Install SQL Server Data Tools 0
Once the download is completed, click on the SETUP will open the following windows.
Install SQL Server Data Tools 0

How to Install SQL Server Data Tools

If you are upgrading from SQL Server 2005, SQL Server 2008, SQL Server 2008 R2 or SQL Server 2012 then select the second option.
In this example, and or we don’t have any previous installation. So, we are selecting the first option. I suggest you select the first option: New SQL Server stand-alone installation or add features to an existing installation
Install SQL Server Data Tools 1
In this page, we have to accept the licence terms and click the Next button
Install SQL Server Data Tools 2
Next, the application will look for Global rules. If you find any errors, try to Re-run.
Install SQL Server Data Tools 3
Next, it will automatically check for the product updates (if any)
Install SQL Server Data Tools 11
In the next screen we have two options:
Perform a new installation of SQL Server 2014: If you installed the 64-bit SQL Server 2014 then you must select this option. Because Microsoft released only 32-bit SQL Server Data Tools.
It means, if you select the second option you are adding 32-bit components to 64-bit SQL Server, which will raise architectural problems error.
Install SQL Server Data Tools 4
In the next screen, select SQL Server Data Tools – Business Intelligence for Visual Studio 2013 and click the Next button
Install SQL Server Data Tools 5
Once you click on the Next button, the installation process will start
Install SQL Server Data Tools 6
Once the installation process is completed, Your SQL Server 2014 installation completed successfully with product updates window will be displayed. Please click on the close button and start working with SQL Server Data Tools.
Install SQL Server Data Tools 7
Let me open the application by double clicking the application
Install SQL Server Data Tools 8

What is SSIS

SSIS Introduction

Microsoft SQL Server Integration Services also called as either SQL Integration Service or SSIS. The SSIS is a business intelligence tool that provides data transformation solutions for various organisations.
SQL Server Integration Services is an ETL (Extract, Transform and Load) tool. It means SSIS can be used to extract data from a wide variety of sources such as Excel Files, Flat Files, XML Files, Relational databases, and transform (slice and dice) them as per your requirements and finally load the data into the destination.

What is SSIS Work environment


Below screenshot shows you, What is SSIS work environment, and how this is used to create SQL Integration Services projects.
What is SSIS
As you can see from the above screenshot, we divided the window into different parts
  1. Solution Explorer: This is a combination of project level connection managers, actual packages, and project parameters.
  2. Properties: Use this window to change the properties of each and every task.
  3. Toolbox: SSIS Toolbox provides a lot of built-in tasks, containers, transformations, sources, destinations, and administrative tasks to solve complex business problems. You can use these graphical SSIS tools by drag and drop those tasks in the work environment. It means you do not have to write a single line of code to perform most of the operations.
  4. Information: You can see the information of each and every item in a toolbox by clicking the toolbox items
  5. Connection Managers: This window is to create a package level connection managers
  6. Package: Design your package

SSIS Project Development

SQL Server Integration Services project is a combination of Connections Managers, Packages, and project parameters (optional).

Connection Managers

SSIS is all about extract data from different sources transform data and load it in a completely different destination. We need connection manager to establish the connection between the SSIS package and source, and package and destination.
In SQL Server Integration Services, there are two types of connection managers and they are Package Level (created in a 5th window) and Project Level (created in Solution Explorer window). I suggest you to refer Introduction to Connection Managers article to understand them.

Package

This is where we design the complete data flow. Here is the place where we perform all the transformations.

Deployment

After the completion of the package development, you can deploy the package into the production environment.