You are on page 1of 26

What is SSIS?

 SQL Server Integration Service (SSIS) is a component of the Microsoft SQL Server
database software that can be used to execute a wide range of data migration tasks.
 SSIS is a fast & flexible data warehousing tool
 used for data extraction, loading and transformation
 like cleaning, aggregating, merging data, etc.
 It makes it easy to move data from one database to another database. SSIS can extract
data from a wide variety of sources like SQL Server databases, Excel files, Oracle and
DB2 databases, etc.
 SSIS also includes graphical tools & wizards for performing workflow functions like
sending email messages, FTP operations, data sources, and destinations.

Why we use SSIS?


 SSIS eliminates the need of hardcore programmers
 Building BI into a Data Transformation Process
 SSIS tool helps you to merge data from various data stores
 Populates Data Marts & Data Warehouses
 Helps you to clean and standardize data
 Automate Data Loading
Following are components of SSIS architecture:

 Control Flow (Stores containers and Tasks)


 Data Flow (Source, Destination, Transformations)
 Event Handler (sending of messages, Emails)
 Package Explorer (Offers a single view for all in package)
 Parameters (User Interaction)

1. Control Flow
 Control flow is a brain of SSIS package.
 It helps you to arranges the order of execution for all its components.
 The components contain containers and tasks which are managed by precedence
constraints.
2. Precedence Constraints
 Precedence constrain are package component which direct tasks to execute in a
predefined order.
 It also defines the workflow of the entire SSIS package.
 It controls the execution of the two linked tasks by executing the destination tasks based
on the result of the earlier task — business rules which are defined using special
expressions.

3. Task
 A 'Task' is an individual unit of work.
 It is the same as a method/function used in a programming language.
 However, in SSIS, you don't use coding methods.
 Instead, you will use drag & drop technique to design surface and to configure them.

4. Containers
The container is units for grouping tasks together into units of work. Apart from offering
visual consistency, it also allows you to declare variables and event handlers which should be
in the scope of that specific container.
Four types of containers in SSIS are:
 A Sequence Container
 A For Loop Container
 Foreach Loop Container

 Sequence Container: allows you to organize subsidiary tasks by grouping them, and
allows you to you apply transactions or assign logging to the container.
 For loop container:Provides the same functionality as the sequence Container except
that it also lets you run the tasks multiple times. However, it is based on an evaluation
condition, like a looping from 1 to 100.
 For each Loop Container: It also allows looping. But the difference that instead of
using a condition expression, loop s done over a set of objects, likes files in a folder.

5. Data Flow
The main use of the SSIS tool is to extract data into the server's memory, transform it, and
write it to another destination. If Control Flow is the brain, Data Flow is the heart of SSIS
6. SSIS Packages
Another core component of SSIS is the notion of a package. It is a collection of tasks which
execute in an orderly fashion. Here, president constraints help manage the order in which the
task will execute.
A package can help you to saves files onto a SQL Server, in the msdb or package catalog
database. It can save as a .dtsx file, which is a structured file very similar to .rdl files are to
Reporting Services.

7. Parameters
Parameters behave much like a variable but with a few main exceptions. It can be set outside
the package easily. It can be designated as values that must be passed in for the package to start.

SSIS Tasks Types In SSIS tool, you can add a task to control flow. There are different
types of tasks which perform various kinds of works.

Some important SSIS tasks are mentioned below:

Task Name Descriptions

Execute SQL Task it will execute a SQL statement against a relational


database.

Data Flow Task This task can read data from one or more sources.
Transform the data when it is in the memory
and write it out against one or more destinations.

Analysis Services Processing Task Use this task to process objects of a Tabular
model or as an SSAS cube.

Execute Package Task Use can use this SSIS task to execute other packages
from within the same project.

Execute Process Task With the help of this task, you can specify command
line parameters.

File System Task It performs manipulations in the file system. Like


moving, renaming, deleting files, and creating
directories.

FTP Tasks It allows you to perform basic FTP functionalities.

Script Task This is a blank task. You can write NET code which
performs any task; you want to perform.
Send Mail Task You can send an email to notifying users that your
package has is finished, or some error occurs.

Bulk Insert Task Use can loads data into a table by using the bulk inser
command.

Script Task Runs a set of VB.NET or C# coding inside a Visual


Studio environment.

Web Service Task It executes a method on a web service.

WMI Event Watcher Task This task allows the SSIS package to wait for and
respond to certain WMI events.

XML Task This task helps you to merge, split, or reformat any
XML file.
Other Important ETL tools
 SAP Data Services
 SAS Data Management
 Oracle Warehouse Builder (OWB)
 PowerCenter Informatica
 IBM Infosphere Information Server
 Elixir Repertoire for Data ETL
 Sargent Data Flow

Advantages and Disadvantages of using SSIS

 SSIS tool the offers the following advantages:


 Broad documentation and support
 Ease and speed of implementation
 Tight integration with SQL Server and visual studio
 Standardized data integration
 Offers real-time, message-based capabilities
 Support for distribution model
 Helps you to remove network as a bottleneck for insertion of data by SSIS into SQL
 SISS allows you to use the SQL Server Destination instead of OLE DB to load the
data faster

Disadvantages of SSIS

 Few drawbacks of using SIS tools are as follows:


 Sometimes create issues in non-windows environments
 Unclear vision and strategy
 SSIS lacks support for alternative data integration styles
 Problematic integration with other products

Summary

 The full form of SSIS is SQL Server Integration Services


 SSIS tool helps you to merge data from various data stores
 Important versions of SQL Server Integration Service are 2005, 2008, 2012, 2014 and
216
 Studio Environments, Relevant data integration functions, and Effective implementation
speed are some important features of SSIS
 Control Flow, Data Flow, Event Handler, Package Explorer, and Parameters are essential
SSIS architecture components
 Execute SQL Task, Data Flow Task, Analysis Services Processing Task, Execute
Package Task, Execute Process Task, File System Task, FTP Tasks, Send Mail Task,
Web Service Task are some important
 Broad documentation and support
 The biggest drawback of SSIS is that it lacks support for alternative data integration
styles
 SAP Data Services, SAS Data Management, Oracle Warehouse Builder (OWB),
PowerCenter Informatica, IBM Infosphere Information Server
 SSIS is an in-memory pipeline. Therefore, it's essential to make sure that all
transformations occur in memory

1) What is SSIS?
SSIS or SQL Server Integration Services (SSIS) is a component of Microsoft SQL Server, which
can be used to accomplish a broad range of data transformation and migration tasks.

2) What are the important components of SSIS package?


The important component in SSIS package are
Data flow
Control flow
Package Explorer
Event handler

3) Explain solution Explorer in SSIS


Solution Explorer in SSIS Designer is a screen where you can view and access all the data
sources, data sources views, projects, and other miscellaneous files.

4) What does it mean by data flow in SSIS?


Data flow in SSIS is nothing but the flow of data from the corresponding sources to the target
destinations.
Stay
5) Define what is "task" in SSIS?
A task in SSIS is very much similar to the method of any programming language that represents
or carries out an individual unit of work.  Tasks are categorized into two categories
Control Flow Tasks
Database Maintenance Tasks

6) What is an SSIS package?


A package in SSIS is an organized collection of connections like data flow elements, control
events, event handlers, parameters, variables, and configurations. You assemble them either
building it programmatically or by graphical design tools that SSIS provides.

7) Name different types of connection or files that support SSIS?


Different types of connection that work within SSIS are
ODBC
OLEDB
.net SQLClient
Flat File
Excel
XML

8) What is a container? How many types of containers are there in SSIS?


In SSIS, a container is a logical grouping of tasks, and it allows to manage the scope of a task
together. Types of containers in SSIS are
Sequence container
For loop container
Foreach loop container
Task host container

9)  What is Precedence Constraint in SSIS?


Precedence Constraint in SSIS enables you to define the logical sequence of tasks in the order
they should be executed.  You can connect all the tasks using connectors- Precedence
Constraints.

10) What variables in SSIS and what are the types of variables in SSIS?
Variable in SSIS is used to store values.  In SSIS, there are two types of variables system
variable and user variable.

11) Explain what Ws a checkpoint in SSIS?


Checkpoint in SSIS allows the project to restart from the point of failure. Checkpoint file stores
the information about the package execution, if the package run successfully the checkpoint file
is deleted or else it will restart from the point of failure.

12) Explain connection managers in SSIS


While gathering data from different sources and writing it to a destination, connection managers
are helpful.  Connection manager facilitates the connection to the system that includes
information's like data provider information, server name, authentication mechanism, database
name, etc.
13) What is SSIS breakpoint?
A breakpoint enables you to pause the execution of the package in the business intelligence
development studio during troubleshooting or development of an SSIS package.

14) Explain  event logging in SSIS


In SSIS, event logging allows you to select any specific event of a task or a package to be
logged. It is beneficial when you are troubleshooting your package to understand the
performance package.

15) What is logging mode property?


SSIS packages and all the associated tasks have a property called LoggingMode.   This property
accepts three possible values.
Disabled: To disable logging of the component
Enabled: To enable logging of the part
Use Parent Setting: To use the parent's setting of the component

16) Explain the term data flow buffer?


SSIS operates using buffers; it is a kind of an in-memory virtual table to hold data
.
17) For what data checkpoint data is not saved?
Checkpoint data is not saved for For Each Loop and For Loop containers.

18) What is conditional split transactions in SSIS?


Conditional split transformation in SSIS is just like IF condition, which checks for the given
condition based on the condition evaluation.

19) Name different types of Data viewers in SSIS?


Different types of data viewers in SSIS include
Grid
Histogram
Scatter Plot
Column Chart

20) Explain the possible locations to save the SSIS package?


You can save SSIS package at
SQL Server
Package Store
File System

21) What will be your first approach if the package that runs fine in Business Intelligence
Development Studio (BIDS) but fails when running from an SQL agent job?
The account that runs SQL Agent Jobs might not have the required permission for one of the
connections in your package. In such cases, either you can create a proxy account or elevate the
account permissions.

22) What is the role of the Event Handlers tab in SSIS?


On the event handlers tab, workflows can be configured to respond to package events.  For
instance, you can configure workflow when any task stops, fails or starts.

23) How you can notify the staff members about package failure?
Either inside the package, you could add a Send Mail Task in the event handlers, or you can even
set the notification in the SQL Agent when the package runs.

24) How would you do logging in SSIS?


Logging in SSIS can be done by logging various events like onError, onWarning, etc. to the
multiple options like a flat file, XML, SQL server table, etc.

25) How would you deploy an SSIS package on production?


To deploy SSIS package we need to execute the manifest files and need to determine whether to
deploy this into File System or onto SQL Server.  Alternatively, you can also import package
from SSMS from SQL Server or File System.

26) How to handle Early Arriving Facts or Late Arriving Dimension?


Late Arriving Dimension are unavoidable; to handle these we can create a dummy dimension
with natural/business key and keep the rest of the attributes as null or default. So when the actual
dimension arrives, the dummy dimension is updated with Type 1 change. This is also referred to
as Inferred Dimensions.

27) Explain the method to perform incremental load?


The best and fastest way to do incremental load is by using Timestamp column in the source
table and storing the last ETL timestamp.

28) Name  three  data flow components  in SSIS


Three data flow components is SSIS are:
Source
Transformation
Destination

29) Why check Points used in SSIS?


Checkpoint used in SSIS to allows a package to restart at the point of failure.

30) Explain event logging mode property


The three values accept by event logging mode property are:
Enabled: Allows you to logging of the components
Disabled: It is used to disable the components
UserParentSetting: It is used to optimize the parent’s setting.

31) Explain different options for dynamic configuration is SSIS.


Different option for dynamic configuration are:
XML file
Customer variables
Database per environment with the variables
Allows you to use a centralized database with all variables

32) Explain Data conversion Transformation


Data conversion is the best method to convey the data from one type to another.  However, you
need to make sure that you have COMPATIBLE data in the column.

33) Explain few features of SSIS


Some important features of SSIS are:
Studio Environments
Relevant data analytics and integration functions
Tight integration with other Microsoft SQL family
Data Mining Query Transformation

34) Explain two disadvantages of SSIS


SIS sometimes create issues in non-windows environments
Unclear vision and strategy
SSIS doesn't provide support for alternative data integration styles

35) What is the use of Execute SQL task in SSIS?


Execute SQL helps you to execute a SQL statement against a relational database.

36) What is an SSIS Catalog?


The SSIS catalog is a database to store all the deployed packages. It is widely used for security
reasons to store and handle the deployed packages.

37) How would you stop a package that is running forever?


It depends. If you are running the package in the SQL Agent, you can kill the process using T-
SQL. However, if the package is running in the SSIS catalog, you can stop it using Active
Operations window or the stop operation stored procedure.

38) Explain project and package control flow in  SSIS


In SSIS, a project is a container for developing package while the package is an object which
helps you to implement ETL.

39) Explain use of XML Task


XML task allows you to split, merge, split or reformat any XML file.

40) What is the use of a sequence container?


Sequence contain helps you to organize subsidiary tasks by dividing them into the group. It will
enable you to apply transaction or assign logging to the container.

41) What are important best practices for using SSIS?


The best practices for using the SISS tool are:
You should avoid performing logged operations
You should make a clear plan for resource utilization.
Optimize the data source, lookup transformation, and destination
42) What is the use of control flow tab in SSIS?
Control flow tab in SSIS includes dataflow task, containers and precedence constraints which
helps you to connect containers and functions.

SSRS
What is SSRS?
SQL Server Reporting Services (SSRS) is a reporting software that allows you to produce
formatted reports with tables in the form of data, graph, images, and charts. These reports are
hosted on a server that can be executed any time using parameters defined by the users. It is part
of Microsoft SQL Server Services suite.
In this SSRS tutorial, you will learn
 Types of reporting services
 Why SSRS?
 Example of SSRS reporting
 Features of SSRS
 How SSRS Works?
 SSRS Architecture
 Reporting Life Cycle
 What is RDL?
 Type of SSRS reports
 Advantages of using SSRS
 Disadvantages of using SSRS

Types of reporting services


Three types of SSRS reporting services are:
Microsoft SQL Server Integration services which integrate data from different sources.
Microsoft SQL Server Analytical service which helps for the analysis of the data
Microsoft SQL Server Reporting service allows for generating a visual report of the data.

Why SSRS?
 Here, are prime reasons for using SSRS tool:
 SSRS is an enhanced tool compared to Crystal Reports
 Faster processing of reports on both relational and multidimensional data
 Allows better and more accurate Decision-making mechanism for the users
 Allows users to interact with information without involving IT professionals
 It provides a World Wide Web-based connection for deploying reports. Hence, reports
can be accessed over the internet
 SSRS allows reports to be exported in different formats. You can deliver SSRS reports
using emails
 SSRS provides a host of security features, which helps you to control, who can access
which report

Example of SSRS reporting


SSRS used in Medical Research Institute
Consider a SSRS report example of a medical research institute where patients are recruited for
various clinical trials.
The staff in the institute creates a database record for each patient.
Once they agree to be part of the trial, and the hospital gets the payment form the drug company
based on the price at which it is ready to participate.
Without SSRS, the medical institute would need to manually email a report to the pharma
company with the total number of weekly participants. The institute must also add details of
every patient included in the trial, the number of drugs used, and all the unwanted situations. As
a result, the time taken to collect and send this data in the correct format may consume loads of
valuable time in the clinic.
If the institute were recording data, with the help of SSRS tool, they would be able to produce
on-demand reports in a pre-defined format.
With SSRS, the drug company can access the report on the cloud, run the report at any time to
get the latest data from the clinic.

Features of SSRS
 Offers a Simple Object Access Protocol (SOAP) application and pluggable architecture
 Retrieve data from managed, OLE ODBC, and DB connections
 Allows you to create adhoc reports and save them to the server
 Display data in a variety of formats which includes tabular, free-form, and charts
 Create custom controls by using report-processing extension
 Embed graphics, images to the reports. You can also integrate with external content using
SharePoint
 You can store and manage custom reports
 Chart and Gauge control feature allows you to display KPI data
 How SSRS Works?
 Now in this SSRS tutorial, we will learn how SSRS works:

How
SSRS Works
The report users are the peoples who work with the data as well as want some insights from data.
They send a request to the SSRS server
SSRS server finds the metadata of the report and sends a request for data to the data sources.
Data returned by the data source is merged with the report definition into a report.
When the report is generated, it is returned to the client.
SSRS Architecture
SSRS Architecture
SSRS has quite a complex architecture. The report services architecture includes development
tools, administration tools, and report viewers.
Here, are important components of SSRS
Report Builder
It is an ad-hoc report publishing tool that is executed on a client's computer. It has a drag and
drop interface that is easy to use.
Report Designer
The Report designer tool helps to develop all types of reports. It is a publishing tool, that is
hosted in Visual Studio or Business Intelligence Development Studio (BIDS).
Report Manager
The report managers check the report, matching it with the given requirements. They make
decisions based on those reports.
Report Server
It is a server which uses the SQL Server database engine to store metadata information
Report server database
It stores metadata, report definitions, resources, security settings, delivery data, etc.
Data sources
Reporting services retrieve data from data sources like relational and multidimensional data
sources.
Reporting Life Cycle
Every organization follows a standard reporting lifecycle which can be classified as follows:

Authoring: In this phase, the report author defines the layout and syntax of the data. The tools
used in this process are the SQL Server Development Studio and SSRS tool.
Management: This phase involves managing a published report which is mostly part of the
websites. In this stage, you need to consider access control over report execution.
Delivery: In this phase, you need to understand when the reports need to be delivered to the
customer base. Delivery can be on-demand or pre-defined schedule. You can also add an
automation feature of subscription which creates reports and sends to the customer
automatically.

What is RDL?
Report Definition Language is shortly known as RDL. It describes all possible elements of a
report using an XML grammar which is validated by an XML schema.
The report definition of an individual report is based on RDL. It contains instructions for
rendering the design of the report at the run time.
Type of SSRS reports
Here, are types of reports which you can develop using SSRS tool.
Report Type Name Detail

Parameterized reports This type of report uses input values to complete


report or data processing.

Linked Reports A linked report offers a point to an existing report.


This type of report is derived from an existing
report and retains the original's report definition.

Snapshot reports A snapshot report contains layout information


and query results which can be retrieved at a
specific point in time.

Cached Reports The cashed report allows you to create a


copy of the processed reports.
They are used to enhance the performance
by reducing the number of processing requests and
time to retrieve large reports.

Drill down Reports Drill down reports helps you to hide complexity.
allows users toggle between hidden reports items
control how much detail data you want to see.
It must retrieve all possible information that
can be shown in the report.

Drillthrough Reports Drillthrough reports are standard reports which


can be accessed through a hyperlink on a text box
in the original report. It works with the main
report and is the target of a drill through an action
for a report item like a placeholder text or a chart.

Subreports As the name suggests, sub-reports is a report


which displays another report inside the body
of the main report.
Advantages of using SSRS
 It is faster and cheaper.
 Efficient reporting access to information that is residing in both MS SQL Server
database or Oracle
 No need for expensive specialist skills
 In SSRS the default report designer is integrated with Visual Studio .NET. This allows us
to create an application and reports in the same environment.
 The security is managed in a role-based method which can be applied to folders and
reports.
 Subscription-based reports are automatically sent to the users.
 Faster production of reports on both relational and cube data
 Real time information to the business, providing better decision support

Disadvantages of using SSRS


 Some limitations of SSRS are given below:
 There is no print button. So if you want to print something you need to export PDF,
excel, word or other formats.
 All reports need parameters to be accepted by users.
 It is difficult to make changes in the custom code and debug expressions.
 Does not allow you to add page number or total pages in the report body
 Does not offer any method to pass values form sub-reports to the main report
 Page header always creates extra spaces on every new page.

Summary
 The SSRS full form is SQL Server Reporting Services which allows you to produce
formatted reports with tables in the form of data, graph, images, and charts.
 Three types of analytical SSRS services are 1) Integration 2) Analytics 3) Reporting.
 SSRS offers faster processes of reports on both relational and multidimensional data.
 SSRSS helps you to retrieve data from managed, OLE, ODBC, and DB connections.
 Report Builder, Report Designer, Report Managee, Report Server, Data sources are
important SSRS components.
 Reporting life-cycle main based on three aspects 1) Authoring 2) Management 3)
Delivery.
 Report Definition Language (RDL) describes all possible elements of a report using an
XML grammar which is validated by an XML schema.
 Important types of SSRS reports are: 1)Parameterized reports 2)Linked Reports 3)
Snapshot reports 4) Cached 5) Drill through Reports, etc.
 
Top 20 SSRS Interview Questions & Answers
1) Mention what is SSRS?
SSRS or SQL Server Reporting Services is a server-based reporting platform that gives detailed
reporting functionality for a variety of data sources. Reporting services include a complete set of
tools to manage, create and deliver reports and APIs that allows developers to synchronize data
and report process in custom application.

2) Mention what are the important architecture components of SSRS?


Important architecture components of SSRS includes
Report Manager
Report Designer
Browser types supported by reporting services
Report Server
Report Server and Command line utilities
Report Server Database
Data Sources

3) Explain what data regions are and what are the different data regions?
Data regions are report items that show repeated rows of summarized information from datasets.
Different data regions include
Chart
Gauge
List
Matrix
Table

4) Explain what are the different stages of Report Processing?


Different stages of Report Processing includes
Compile: It analyze expressions in the report definitions and save the compiled intermediate
format internally on the server
Process: It run dataset queries and combine intermediate format with data and layout
Render: It sends processed report to a rendering extension to tell how much information fits on
each page and create the page report
Export: It exports the reports to a different file format

5) Mention what are the new features in SSRS?


New features in SSRS includes
Excel File Export: The files can be exported into Excel file formats, earlier only XLS files were
only exported
Data Alerts: The new data alerts allow to create alert threshold which are evaluated on a user
defined schedule, also there is data alert manager for alerting administrators
Power View: With the new RDLX file format, power view is a new interactive Business
Intelligence feature
These are the new features included, apart from these, if you are using SSR on SharePoint it
gives additional benefits like drag and drop ad hoc reporting and sending e-mails when data
changes.

6) Explain what is a sub-report?


Sub-report are inserted into the main part, just like a main report, you also pass queries and
parameters to it. In other words, a sub-report can be considered as an extension to your main
report, but it consists of a different data set. For example, you can prepare a report of customers
and then use a sub-report to show a list of orders for each customer.

7) List out what other servers you can use with SSRS?
Most of the times companies use SQL server with SSRS, but there are other servers you can
integrate
Oracle
ODBC and OLEDB
Hyperion
Teradata
Flat XML files

8) Mention what are the core components of SSRS?


The core components of SSRS includes
A set of tool to View, Create and Manage report
A report server component that hosts and processes reports in a different formats like PDF,
HTML, Excel, CSV,
An API, which enables developers to integrate with custom applications or to create custom tools
to manage or build reports

9) Mention what are the different types of SSRS reports?


The different types of reports include
Parameterized reports
Snapshot reports
Cached reports
Clickthrough reports
Drilldown reports
Drillthrough reports
Sub-reports
Linked reports
Ad-hoc reports
10) Name some of the open source software that you can use in alternative to SSR?
Some of the open source software alternative are
Jasper Reports
JFree Report
BIRT (Business Intelligence Reporting Tool)
OpenReport
DataVision and so on

11) Mention what are the reporting service components in SSRS?


The reporting service components in SSRS includes.
Report Designer: It is a place where the report is created or designed
Report Server: It provides services for delivery of reports and for implementations
Report Manager: A web based administration tool to manage the report server

12) Explain can you implement data mining in SSRS?


Yes, it is possible to implement data mining in SSRS by using DMX designer to create data
mining queries for SSRS reports.

13) Explain how you can configure a running aggregate in SSRS?


To configure a running aggregate in SSRS, you can use the Running Value function.

14) Mention what is the main function of a query parameter?


The main function of a query parameter is to filter data in the data source.

15) Explain can SSRS reports Cache results?


Caching reports enables users to access and view reports much faster. SSRS does allow Cache
reports on reporting server.

16) Mention what are the three command line utilities and what are their primary
functions?
The three command line utilities include
RsConfig.exe: It is used to determine the connection properties from the SSRS instance to the
Report Server database
RsKeyMgmet.exe: It executes scale out deployment set-up and encryption key operations
Rs.exe: It executes Report server Script files which can perform management operations and
report deployment

17) Explain how you can deploy an SSRS report?


SSRS report can be deployed in three ways
By Visual Studio: You can directly deploy the report in Visual Studios through solution
explorer, by declaring the report server URL in project properties at Target Server URL.
By Report Server: By browsing the report from the disk location of the server you can deploy
the report to report server
By creating the Utility: Another option is to create customized utility to deploy the report
18) Mention what method you can use to reduce the overhead of Reporting Services data
sources?
Cached reports and Snapshots can be used to reduce the overhead of Reporting Services Sources.

19) Explain what is the difference between Tabular and Matrix report?
Tabular Report: Tabular report is the most basic type of report. Each column relates to a
column chosen from the database
Matrix Report: A matrix report is a cross-tabulation of four groups of data.

20) Explain how would you store your query in an SSRS report or a Database server?
Storing SQL queries directly in text format in the data should be avoided. Instead, it should be
stored in a stored procedure in the database server. The advantage is that the SQL would be in a
compiled format in an SP and gives all the benefits of SP compared to using an ad-hoc query
from the report.

What is SSAS?

SQL Server Analysis services (SSAS) is a multi-dimensional OLAP server as well as an


analytics engine that allows you to slice and dice large volumes of data. It is part of Microsoft
SQL Server and helps perform analysis using various dimensions. It has 2 variants
Multidimensional and Tabular. The SSAS full form is SQL Server Analysis Services.

In this SSAS tutorial for beginners, you will learn:

 Architecture of SSAS
 History of SSAS
 Important SSAS Terminology
 Type of Models in SSAS
 Tabular vs. Multidimensional Model
 Key Features of SSAS
 SSAS vs. PowerPivot
 Advantages of SSAS
 Disadvantages of using SSAS
 Best practices of using SSAS

Architecture of SSAS

First in this SSAS tutorial, we will learn about the SSAS architecture:
1.6M
Remove Background with PEN tool? Photoshop CC Tutorial
The architectural view of SQL server analysis services is based on a three-tier architecture,
which consists of

1. RDBMS: The data from different sources like Excel, Database, Text, others can be pulled
with the help of ETL tool in to the RDBMS.
2. SSAS : Aggregate data from RDBMS is pushed into SSAS cubes by using analysis
services projects. The SSAS cubes will create an analysis database, and once the analysis
database is ready, it can be used for many purposes.
3. Client: Clients can access data using Dashboards, Scorecards, Portals etc.

History of SSAS

Now in this SSAS tutorial, we will go through the history of SSAS:

 MSOLAP feature first included in SQL Server 7.0. This technology was later purchased
from an Israeli company called Panorama.
 Soon it becomes most used OLAP engines because it was included as a part of SQL
Server.
 SSAS was renovated entirely with the release of MS-SQL Server 2005
 This latest version also offers a feature for "subcubes" with the Scope statement. This has
increased the functionality of SSAS cubes.
 SSAS 2008R2 and 2012 versions are mainly concerned with query performance and
scalability
 In Microsoft excel 2010 came an add-in called PowerPivot which uses a local instance of
Analysis service with new XVelocity engine which increases the query performance

Important SSAS Terminology

Now in this SSAS tabular model tutorial, we will learn some important terminologies of SSAS:

 Data Source
 Data Source View
 Cube
 Dimension Table
 Dimension
 Level
 Fact Table
 Measure
 Schema

Data Source:

Data Source is a kind of connection string. It establishes a connection between the analysis
database and RDBMS.

Data Source View:

Data source view is a logical model of Database

Cube:

A cube is a basic unit of storage. It is a collection of data which has been aggregated to allow
queries to return data quickly.

MOLAP:

The MOLAP is made of data cube which contains of measures and dimensions. It includes all
the members who may be in a hierarchical relationship.

It is specific set of rule which helps you to determine how certain cells are computed in a sparse
cube and measures values rolled up inside that hierarchies.

Dimension Table

 A dimension table contains dimensions of a fact.


 They are joined to fact table using a foreign key.
 Dimension tables are de-normalized tables.
 Dimensions offer characteristics of the facts with the help of their attributes.
 Not offers limit set for a given number of dimensions
 The dimension contains one or more hierarchical relationships.

Dimension:

Dimension offers the context surrounding a business process event. In simple terms, they give
who, what, where of a fact. In the Sales business process, for the fact sales number, dimensions
would be who customer Names.

 Where – Location
 What – Product Name
 In other words, you can say that a dimension is a window to view the information in the
facts.

Level:

Each type of summary which can be retrieved from the single dimension is called label.

Fact Table:

A fact table is the most important table in a dimensional model. A Fact Table contains
Measurements/fact and Foreign key to the dimension table. For example, payroll operations.

Measure:

Each fact table contains one or more table which should be analyzed. For example, a book sells
information table. It can be a profit or loss for the number of book's sold.

Schema:

The database schema of a database system and its structure described in a formal language. It


supports the database management system. The term "schema" means to the organization of data
as a blueprint of a manner of which database is constructed.

Type of Models in SSAS

Now, we will learn types of models in SSAS in this SSAS cube tutorial:

Multi-Dimensional Data Model

The Multi-Dimensional Data Model, which consists of a data cube. It is a group of operations


which allows you to query the value of cells by using cube and dimension members as
coordinates.

It defines rules which decide the way that measure values are rolled up within hierarchies or how
specific values are computed in a sparse cube.
Tabular Modeling

Tabular modeling organizes data into related tables. The table doesn't designate as "dimensions"
or "facts" and development time is less with tabular because of all related tables able to serve
both roles.

Tabular vs. Multidimensional Model

Parameters Tabular Multidimensional

Memory In memory cache File-based storage

Structure Loose structure Rigid structure

Best feature Data does not need to move from source It is best when data is put into a star schema.

Type of Model Relational model Dimensional model

DAX MDX

Complexity Simple Complex

Size Smaller Larger

Key Features of SSAS

Essential features of SSAS are :

 It offers backward compatibility on the API level.


 You can use OLEDB for OLAP for the client access API and MDX as a query language.
 SSAS helps you to build MOLAP, HOLAP, and ROLAP architectures
 It allows you to work on client-server mode or offline mode.
 You can use SSAS tool with different wizards and designers.
 Data model creation and management is flexible.
 Customize application from extensive support
 Offers Dynamic structure, Ad hoc Report, Shared metadata, and Security features

SSAS vs. PowerPivot

Parameter SSAS PowerPivot

What is SSAS Multidimensional is "Corporate BI" Microsoft PowerPivot is a "Self- Service BI

Deployment Deploy to SSAS It is deployed to SharePoint

Use for Visual Studio Project Excel

Size Size limited to memory Capacity limited to 2 GB.

Partition support Supports Partitioning No partitions

Query type DirectQuery and Vertipaq Allows only Vertipaq Queries

Admin tools Server Admin tools (e.g., SSMS] Excel and SharePoint "Admin"

Security Row-level & dynamic security Workbook file security

Advantages of SSAS

Pros/benefits of SSAS are:

 Helps you to avoid resource contention with the source system


 It is an ideal tool for numeric analysis.
 SSAS enables the discovery of data patterns that may not be immediately apparent using
the data mining features built into the product.
 It offers a unified and integrated view of all your business data Reporting, analysis of
Key Performance Indicator (KPI) scorecards Data mining.
 SSAS offers online analytic processing (OLAP) of data from different data sources.
 It allows users to analyze data with a host of tools, including SSRS and Excel.
Disadvantages of using SSAS

 Once you select a path(Tabular or Multidimensional) you cannot migrate to the other
version without starting over
 You are not allowed to "merge" data between Tabular and Multidimensional cubes
 Tabular proves to be risky if requirements change mid-way through the project

Best practices of using SSAS

 Optimize Cube And Measure Group Design


 You should define useful Aggregations
 Use Partitions method
 Write Efficient MDX
 Use The Query Engine Cache Efficiently
 Scale Out When You Can No-Longer Scale Up

You might also like