Top Microsoft Business Intelligence Interview Questions For Beginners

Recommended by 3 users

Apr 24, 2016
Top Microsoft Business Intelligence Interview Questions For Beginners
Add to Bookmark Email this Post 11.4K    2


Businesses across the world are increasingly adopting Business Intelligence tools to capture data and analyze it for smarter decision making. This has opened up myriad opportunities for Business Intelligence professionals and the demand for skilled BI practitioners is huge. There has never been a better time to make a career in the Business Intelligence space! Familiarizing yourself with Microsoft Business Intelligence, the leader among BI tools, can help you bag top jobs in Business Intelligence. This blog lists the top Microsoft Business Intelligence interview questions to help you prepare for your job interview after mastering Microsoft BI. In case you have attended a MSBI interview recently, we urge you to share any questions you may have faced. Our experts will be happy to answer them for you. All the best!

Microsoft Business Intelligence Interview Questions:

1. Define SSIS. How it is related with SQL Server?

A component of SL Server, SQL Server Integration Services (SSIS) can be used to perform a variety of Data migration and ETL operations. SSIS is a platform for Integration and Workflow applications which is known for a fast and flexible OLTP and OLAP extensions used for data extraction, transformation, and loading (ETL). It can also be used to automate maintenance of SQL Server databases and multidimensional data sets.

2. Which are the different Lookup Cache Modes Available in SSIS?

There are three Cache Modes available in SSIS Lookup Transformation:

  • Full Cache Mode: In this cache mode, SSIS queries the database before the start of the data flow task execution (pre-execute phase) and loads all the data from lookup/reference table into SSIS lookup cache.
  • Partial Cache Mode: In this cache mode, SSIS queries the database against new rows coming in from the source. If there is a match, the row is cached into SSIS Lookup Cache for rows coming subsequently in the data flow which might have a match. When the cache is full, SSIS then proceeds to remove few rows from cache based on the usage/match statistics for those rows and loads the new matching rows into the Lookup Cache.
  • No Cache Mode: In this cache mode, SSIS does not cache any rows into Lookup Cache (except in cases such as two subsequent source data rows having a match with same lookup values). For every row coming from the source, the database is queried to get the matching value/data from the reference table.

3. What are the differences between DTS and SSIS?

The differences are as follows:

Data Transformation Services SQL Server Integration Services
Limited error handling Complex and powerful error handling
Message boxes in ActiveX scripts Message boxes in .NET scripting
No deployment wizard Interactive deployment wizard
Limited set of transformation Good number of transformations
No BI functionality Complete BI integration

4. What is control flow?

A control flow consists of one or more tasks and containers that execute when the package runs. To control order or define the conditions for running the next task or container in the package control flow, we use precedence constraints to connect the tasks and containers in a package. A subset of tasks and containers can also be grouped and run repeatedly as a unit within the package control flow. SQL Server Integration Services (SSIS) provides three different types of control flow elements:

  • Containers that provide structures in packages
  • Tasks that provide functionality
  • Precedence Constraints that connect the executables, containers, and tasks into an ordered control flow

5. What is data flow?

Data flow consists of the sources and destinations that extract and load data, the transformations that modify and extend data, and the paths that link sources, transformations, and destinations. Data Flow task is the executable within the SSIS package that creates, orders, and runs the data flow. A separate instance of the data flow engine is opened for each Data Flow task in a package. Three important categories in the data flow are:

  • Data Sources
  • Transformations
  • Data Destinations

6. How to log SSIS Executions?

SSIS includes logging features that write log entries when run-time events occur. They can also write custom messages although it is not enabled by default. Integration Services supports a diverse set of log providers, giving you the ability to create custom log providers. The Integration Services log providers can write log entries to text files, SQL Server Profiler, SQL Server, Windows Event Log, or XML files. Logs are associated with packages and are configured at the package level. Each task or container in a package can log information to any package log. The tasks and containers in a package can be enabled for logging even if the package itself is not.

7. How do you deploy SSIS packages?

SSIS Project BUILD provides a Deployment Manifest File which needs to be run. We have to then decide whether to deploy this onto File System or onto SQL Server [ msdb]. SQL Server Deployment is faster and more secure then File System Deployment. Another way of doing this is to import the package from SSMS from File System or SQL Server.

8. Name the components of SSAS.

The components are:

  • An OLAP Engine is used for enabling fast ad hoc queries by end users. A user can interactively explore data by drilling, slicing or pivoting.
  • Drilling refers to the process of exploring details of the data.
  • Slicing refers to the process of placing data in rows and columns.
  • Pivoting refers to switching categories of data between rows and columns.
  • In OLAP, we will be using what are called as Dimensional Databases.

9. Explain the two-tier architecture of SSAS?

  • SSAS uses both server and client components to supply OLAP and data mining functionality to BI Applications.
  • The server component is implemented as a Microsoft Windows service. Each instance of Analysis Services is implemented as a separate instance of the Windows service.
  • Clients communicate with Analysis Services using the standard XMLA (XML for Analysis) protocol for issuing commands and receiving responses.

10. How does error-handling work in SSIS?

When a data flow component applies a transformation to column data, extracts data from sources, or loads data into destinations, errors can occur. Errors frequently occur because of unexpected data values.
The types of typical Errors in SSIS are:

  • Data Connection Errors, which occur in case the connection manager cannot be initialized with the connection string. This applies to both Data Sources and Data Destinations along with Control Flows that use the Connection Strings.
  • Data Transformation Errors, which occur while data is being transformed over a Data Pipeline from Source to Destination.
  • Expression Evaluation errors, which occur if expressions that are evaluated at run time perform invalid

11. What is OLAP?

OLAP stands for On-Line Analytical Processing. It stands for a category of applications and technologies that allow the collection, storage, manipulation and reproduction of multidimensional data, with the goal of analysis.

12. Differentiate between OLAP and ETL tools.

  • OLAP is an online analytical processing tool.
  • ETL stands for Extract, Transform and Load. This is a product to extract the data from multiple/single sources and transform the data and load it into a table, flat file or simply a target.

13. Name the tools used in MSBI.

Microsoft BI contains the following tools:

  • SQL Server Analysis Services (SSAS)
  • SQL Server Integration Services (SSIS)
  • SQL Server Reporting Services (SSRS)
  • Performance Point Services (PPS)

14. What is a workflow in SSIS?

Workflow is a set of instructions to tell the Program Executor how to execute tasks and containers within SSIS Packages.

15. What is the difference between WHERE and HAVING clauses in SQL Server?

  • HAVING clause can be used only with a GROUP BY clause, whereas a WHERE clause can be used with constructs such as SELECT, UPDATE, DELETE etc.
  • HAVING clause is applied as a filter to the data/output resulting from the GROUP BY clause, where as a WHERE clause is applied to every row in the SELECT, UPDATE, DELETE etc constructs.
  • In queries where both HAVING and WHERE clauses are used, WHERE clause is applied first (to every row in the SELECT statement to filter the records before they are fed to GROUP BY clause for aggregation) and then the HAVING clause is applied (to filter the aggregated result from GROUP BY clause).

16. Name the differences between view and materialized view.


  • A view takes the output of a query and makes it appear like a virtual table. You can use a view in most places where a table can be used.
  • All operations performed on a view will affect data in the base table and so are subject to the integrity constraints and triggers of the base table.
  • A View can be used to simplify SQL statements for the user or to isolate an application from any future change to the base table definition. A View can also be used to improve security by restricting access to a predetermined set of rows or columns.
  • In addition to operating on base tables, one View can be based on another. A view can also JOIN a view with a table (GROUP BY or UNION).

Materialized Views:

  • Materialized views are schema objects that can be used to summarize, pre-compute, replicate, and distribute data. E.g. to construct a data warehouse.
  • A materialized view provides indirect access to table data by storing the results of a query in a separate schema object.
  • The existence of a materialized view is transparent to SQL, but when used for query rewrites, it will improve the performance of SQL execution.

17. What languages are used in SSAS?

The languages used are:

  • Structured Query Language (SQL)
  • Multidimensional Expressions (MDX) – an industry standard query language orientated towards analysis
  • Data Mining Extensions (DMX) – an industry standard query language oriented toward data mining
  • Analysis Services Scripting Language (ASSL) – used to manage Analysis Services database objects

18. What is WriteBack? What are the pre-conditions?

The Enable/Disable WriteBack dialog box enables or disables WriteBack for a measure group in a cube. Enabling WriteBack on a measure group defines a WriteBack partition and creates a WriteBack table for that measure group. Disabling WriteBack on a measure group removes the WriteBack partition but does not delete the WriteBack table, to avoid unanticipated data loss.

19. Name the business analysis enhancements available for SSAS.

The table below shows the business intelligence enhancements that are available in Microsoft SQL Server Analysis Services (SSAS). The table also lists the cube or dimension to which each business intelligence enhancement applies, and indicates whether an enhancement can be applied to an object that was created without using a data source and for which no schema has been generated.

Enhancement Type Applied to No data source
Time Intelligence Cube Cube No
Account Intelligence Dimension Dimension or cube No
Dimension Intelligence Dimension Dimension or cube Yes
Custom Aggregation Dimension Dimension (unary operator) or cube No
Semiadditive Behavior Cube Cube Yes
Custom Member Formula Dimension Dimension or cube No
Custom Sorting and Uniqueness Settings Dimension Dimension or cube Yes
Dimension Writeback Dimension Dimension or cube Yes

20. How do you extract first tuple from the set?

Use could usefunctionSet.Item(0)
Example:SELECT {{[Date].[Calendar].[Calendar Year].Members
ON 0
FROM [Adventure Works]

21. If you want to create a calculated member that intersects all measures, where do you put it and why?

You would put it in a dimension other than Measures because a member in a dimension cannot intersect its own relatives in that dimension.

22. What is the use of property called non-empty behavior while creating a new calculated member in a cube?

Nonempty behavior is used for ratio calculations. An MDX expression will return an error if the denominator is empty, just as it would if the denominator were equal to zero. By selecting one or more measures for the non-empty behavior property, we’re establishing a requirement that each selected measure first be evaluated before the calculation expression is evaluated. If each selected measure is empty, then the expression is also treated as empty and no error is returned.

23. What is a RAGGED hierarchy?

Under normal circumstances, each level in a hierarchy in Microsoft SQL Server Analysis Services (SSAS) has the same number of members above it as any other member at the same level. In a ragged hierarchy, the logical parent member of at least one member is not in the level immediately above the member. When this occurs, the hierarchy descends to different levels for different drilldown paths. Expanding through every level for every drilldown path is then unnecessarily complicated.

24. How are Cubes implemented in SSAS?

Cubes are multidimensional models that store data from one or more sources. They can also store aggregations. SSAS Cubes are created using the Cube Wizard.

25. What are the differences between TRUNCATE & DELETE clauses in SQL Server?

  • TRUNCATE is a DDL (Data Definition Language) command, whereas DELETE is a DML (Data Manipulation Language) command.
  • TRUNCATE removes all the records from a table without making a log entry for individual row deletions whereas DELETE removes all or selected records (based on absence or presence of a WHERE condition) from a table by making a log entry for individual row deletion. Hence TRUNCATE is faster than DELETE.
  • TRUNCATE removes all the records from a table and a WHERE clause or filter condition cannot be used with TRUNCATE, whereas DELETE can remove selected records or all records based on whether a WHERE clause (Optional) is used or not used respectively.
  • TRUNCATE cannot be used on a table if it satisfies one of the following conditions:
  • Table is referenced by one of more FOREIGN KEY constraints
  • Table is marked/enabled for replication
  • TRUNCATE resets IDENTITY in any of the columns in a table, whereas DELETE does not reset the IDENTITY.

Got a question for us? Please mention them in the comments section and we will get back to you.

Related Posts:

Get Started with Microsoft BI Training

Introduction to Microsoft BI

Pallavi PoojaryAbout Pallavi Poojary (14 Posts)

Pallavi is a technology enthusiast who writes on hot technologies such as Big Data and DevOps, and industry-relevant skills like Project Management. She is a believer in transformation of careers through learning.

Share on

24 X 7 Customer Support X

  • us flag 1-800-275-9730 (Toll Free)
  • india flag +91 88808 62004