0% found this document useful (0 votes)
18 views12 pages

Power BI Interview Questions Guide

Uploaded by

Vikram Sethuraj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views12 pages

Power BI Interview Questions Guide

Uploaded by

Vikram Sethuraj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Power BI Interview Questions — Comprehensive Guide

Prepared: Comprehensive set of conceptual, technical, and scenario-based interview questions (with
concise answers for concept items and suggested approaches for scenarios).

Table of Contents
1. Basics & What■is Questions
2. Data Modelling & Schema Design
3. Power Query / M
4. DAX — Basics
5. DAX — Advanced & Performance
6. Visualizations & Report Design
7. Power BI Service, Deployment & Administration
8. Security (RLS, Row Level Security) & Governance
9. Performance Tuning & Optimization
10. Scenario-Based Interview Questions (with suggested approaches)
11. Practical / Hands-on Tasks and Sample Tables
Appendix: Quick cheat-sheet & common commands
1. Basics & What■is Questions
Q: What is Power BI?
A: Power BI is a Microsoft business analytics service that provides interactive visualizations and BI
capabilities with a simple interface for end users to create reports and dashboards. It consists of Desktop,
Service (cloud), Mobile apps, and Report Server.

Q: What are the main components of Power BI?


A: Power BI Desktop, Power BI Service, Power BI Mobile, Power BI Report Server, Power BI Gateway,
and Power BI Report Builder (for paginated reports).

Q: What is PBIX?
A: PBIX is the file format for Power BI Desktop reports (contains model, visuals, queries, and metadata).

Q: Difference between Power BI Desktop and Power BI Service?


A: Desktop is the authoring tool to build reports locally. Service is the cloud platform to publish, share,
schedule refreshes, and manage workspaces.

Q: What is a Dataset in Power BI?


A: A Dataset is a collection of data imported or connected to Power BI, including tables, relationships,
measures, and metadata used to create reports.

Q: What is a Report vs Dashboard?


A: A Report is a multi-page interactive collection of visuals built from a dataset. A Dashboard is a
single-page (canvas) that pins visuals from reports and provides a consolidated view.

Q: What is Power Query?


A: Power Query (M) is the ETL layer in Power BI Desktop used to connect, clean, transform and shape
data before loading into the model.

Q: What is DAX?
A: Data Analysis Expressions — a formula language used to define measures, calculated columns and
tables in Power BI and Analysis Services.

Q: What are measures and calculated columns?


A: Measures are dynamic calculations evaluated in query context (filter context). Calculated columns are
computed during data refresh and stored in the model as values for each row.

Q: Import vs DirectQuery vs Live Connection?


A: Import loads data into the in-memory VertiPaq engine for fast queries. DirectQuery sends queries to the
source at runtime (no import). Live connection connects to an Analysis Services model or Power BI
dataset (metadata-only connection).

Q: What is VertiPaq?
A: VertiPaq is Power BI's in-memory columnar storage engine that compresses and stores data for
high-performance analytics.

Q: What is an aggregation table?


A: Aggregation tables store pre-aggregated data (e.g., monthly instead of daily) to improve query
performance for large models.
2. Data Modelling & Schema Design
Q: What is star schema and why prefer it?
A: Star schema organizes data into fact and dimension tables. It simplifies relationships, improves query
performance with VertiPaq, and helps DAX time-intelligence.

Q: What is a snowflake schema? When to avoid it?


A: Snowflake normalizes dimension tables into multiple related tables. Avoid for reporting models in Power
BI because extra joins can slow performance; prefer denormalized star schema.

Q: How do you handle many-to-many relationships?


A: Use bridge tables, composite models, or modeling features like relationship with cross-filter direction
and DAX functions (e.g., TREATAS). Power BI also supports many-to-many relationships with
single-direction filtering in modern versions.

Q: What is relationship cardinality?


A: Cardinality defines how rows in two tables relate: one-to-one, one-to-many, many-to-one, or
many-to-many. Choose correct cardinality for accurate filtering.

Q: Explain cross-filter direction.


A: Cross-filtering determines how filters flow across relationships: Single (one direction) or Both
(bi-directional). Bi-directional can simplify calculations but may cause ambiguity and performance issues.

Q: What is role of surrogate keys?


A: Surrogate keys are artificial integer keys used for joins to improve performance and stability versus
natural keys that may change.

Q: What is normalization vs denormalization in BI models?


A: Normalization reduces redundancy (good for OLTP), denormalization duplicates data to simplify
querying and is usually better for BI star schemas.
3. Power Query / M
Q: What is Power Query M language?
A: M is the functional language that underlies Power Query, used to define ETL steps. It's case-sensitive
and good for row-level transformations and query folding.

Q: What is query folding?


A: Query folding is pushing transformation steps back to the data source (e.g., SQL server) so heavy work
runs on server side, improving performance.

Q: How to check if query folding is happening?


A: Right-click a query step in Power Query and use 'View Native Query' (if enabled) to see the folded SQL;
some steps break folding.

Q: When to use 'Merge' vs 'Append' in Power Query?


A: Merge = join tables horizontally. Append = stack tables (union) vertically.

Q: How to handle incremental refresh in Power BI?


A: Define range parameters (RangeStart/RangeEnd), configure incremental refresh policy in Power BI
Desktop, and publish to workspace with Premium or PPU for true incremental refresh.
4. DAX — Basics
Q: What is filter context and row context?
A: Row context applies per row in a table (iterators or calculated columns). Filter context is the set of filters
applied by visuals, slicers, or CALCULATE; measures evaluate in filter context.

Q: What does CALCULATE do?


A: CALCULATE modifies filter context of an expression by applying filters, removing filters, or changing
context, and then evaluates the expression.

Q: Difference between SUM and SUMX?


A: SUM aggregates a single column. SUMX is an iterator that evaluates an expression row-by-row and
then sums results — useful for row-level calculations.

Q: What are iterator functions in DAX?


A: Functions that iterate over table rows such as SUMX, AVERAGEX, FILTER, ADDCOLUMNS — they
create row context for their expression.

Q: Explain context transition.


A: When a row context is converted into an equivalent filter context (e.g., when CALCULATE is called
inside a row context), it's called context transition.
5. DAX — Advanced & Performance
Q: How to optimize slow DAX measures?
A: Use variables to avoid repeated work, reduce use of iterators on large tables, prefer measure over
calculated columns where possible, minimize use of DISTINCTCOUNT on large high-cardinality columns,
and use SUMMARIZECOLUMNS/ADDCOLUMNS carefully.

Q: What is the difference between ALL and ALLEXCEPT?


A: ALL removes filters from specified columns/tables. ALLEXCEPT removes all filters except those
specified columns.

Q: How to write time-intelligence measures (YTD, MTD)?


A: Use TIMEINTELLIGENCE functions like TOTALYTD, SAMEPERIODLASTYEAR, or build with
CALCULATE + DATEFILTER using a proper Date table marked as Date.

Q: What is USERELATIONSHIP used for?


A: USERELATIONSHIP activates an inactive relationship inside CALCULATE for the duration of the
expression.

Q: When to use SUMMARIZE vs SUMMARIZECOLUMNS?


A: SUMMARIZECOLUMNS is optimized for query performance and respects current filters; SUMMARIZE
had quirks historically. Prefer SUMMARIZECOLUMNS for aggregation queries when possible.
6. Visualizations & Report Design
Q: How to design an effective Power BI report?
A: Use clear goals, audience-focused KPIs, consistent formatting, limited visuals per page, responsive
layout, proper use of bookmarks and tooltips, accessible colors, and ensure filters/slicers are intuitive.

Q: What are bookmarks and when to use?


A: Bookmarks capture the current state of a report page (filters, slicers, visibility) and are used for
storytelling, navigation, or toggle visuals.

Q: Difference between drillthrough and tooltip pages?


A: Drillthrough navigates to a target page with context, used to show details. Tooltip pages display small
popup pages for hover info.

Q: How to use custom visuals safely?


A: Use visuals from AppSource or vetted sources, check performance impact, licensing, and ensure they
meet security and governance policies.
7. Power BI Service, Deployment & Administration
Q: What is a workspace?
A: Container in Power BI Service for datasets, reports, dashboards, and workbooks. Workspaces can be
personal (My Workspace) or app workspaces that publish apps.

Q: How to schedule data refresh?


A: In Service, configure dataset scheduled refresh with credentials and gateway (if on-prem), set
frequency and refresh times. Import mode supports scheduled refresh; DirectQuery uses live queries.

Q: What is a gateway and types?


A: On-premises data gateway (personal or enterprise) allows cloud service to access on-prem data.
Personal gateway is for one user; enterprise supports multiple users, live connections and refreshes.

Q: What are Apps and how to use them?


A: Apps are packaged content from a workspace that can be distributed to users with controlled access;
they simplify sharing curated reports and dashboards.
8. Security (RLS) & Governance
Q: What is Row Level Security (RLS)?
A: RLS restricts data access for users at row-level by defining roles and filter expressions (static or
dynamic). Dynamic RLS typically uses USERPRINCIPALNAME() or USERNAME() in DAX.

Q: How to implement dynamic RLS?


A: Create a mapping table of users to values, create a role with DAX filter like [UserEmail] =
USERPRINCIPALNAME(), publish, and assign users to the role in Power BI Service.

Q: What is workspace access vs dataset permissions?


A: Workspace roles (Admin, Member, Contributor, Viewer) control object-level access. Dataset
permissions allow specific actions like build permission for reuse of datasets.

Q: What governance considerations for Power BI?


A: Naming standards, dataset certification, sensitivity labels, access controls, audit logs, workspace
lifecycle, and monitoring dataset refresh and usage metrics.
9. Performance Tuning & Optimization
Q: How to reduce PBIX file size?
A: Remove unused columns, reduce cardinality, change column data types to smaller types, turn off
'Enable Load' for staging queries, use aggregations, and remove unnecessary visuals.

Q: How to speed up refreshes?


A: Use query folding, incremental refresh, limit columns/rows imported, optimize source queries, and use
dedicated gateways/resources.

Q: How to troubleshoot slow visuals?


A: Use Performance Analyzer, check DAX query plans, reduce visual complexity, limit
cross-high-cardinality slicers, and cache results where possible.

Q: When to use aggregations?


A: Use aggregations for very large fact tables to serve common queries from aggregated table and fall
back to detailed data when needed.
10. Scenario-Based Interview Questions (with suggested approaches)
Scenario: Your report is extremely slow with a 100M rows fact table. What will you do?
Approach: Consider aggregations, import mode for relevant slices, incremental refresh, reduce columns,
create summary tables, use composite models or materialized views in source, and consider Premium
capacity for large memory.

Scenario: You need to implement RLS for a retail chain where each user should only see stores in
their region. How to design?
Approach: Create a mapping table (Store -> Region -> EmployeeEmail), implement dynamic RLS DAX on
the Store or Region table using USERPRINCIPALNAME(), test roles in Desktop, and assign security in
Service. Avoid hardcoding; use lookup table.

Scenario: You have to join two large tables but joins are slow in Power Query. What alternatives
exist?
Approach: Push join to source (query folding), create views in source DB, use staging tables, or use
relationships and perform minimal transformation in Power Query.

Scenario: Business asks for 'same store sales' comparison month-over-month. How to implement?
Approach: Create a proper Date table, mark as Date, build measures using DATEADD,
PARALLELPERIOD or SAMEPERIODLASTYEAR depending on need, and ensure correct filters for 'same
store' by using store context.

Scenario: You need to allow users to export underlying data but must hide PII columns. How to
handle?
Approach: Use sensitive data classification, dataset permissions, create separate view without PII for
exported usage, or create role-based views and implement RLS to restrict columns; use data protection in
Service.
11. Practical / Hands-on Tasks and Sample Tables
Below are sample hands-on tasks and a sample table structure you can present in interviews for
demonstrations.
Task 1: Build a Sales dashboard with KPIs: Total Sales, YoY Growth, Top 5 Products, Sales by
Region, and Monthly Trend. Provide steps and key measures.

Task 2: Implement dynamic RLS for managers to see only their teams' data. Provide DAX and
mapping table.

Task 3: Optimize a slow PBIX: list step-by-step actions and execute using Performance Analyzer.

Sample tables (provide in interview demonstrations):


| SalesOrderID | OrderDate | StoreID | ProductID | Quantity | UnitPrice | SalesAmount | CustomerID |
|--------------|-------------|---------|-----------|----------|-----------:|------------:|-----------:|
| 1001 | 2024-01-05 | S001 | P1001 | 2 | 499.00 | 998.00 | C001 |
| 1002 | 2024-01-07 | S002 | P1002 | 1 | 1299.00 | 1299.00 | C002 |

Appendix: Quick Cheat-sheet (useful DAX snippets)


YTD Sales: TOTALYTD([Total Sales], 'Date'[Date])

Running Total: CALCULATE([Total Sales], FILTER(ALLSELECTED('Date'[Date]), 'Date'[Date] <=


MAX('Date'[Date])))

Dynamic RLS filter example: [UserEmail] = USERPRINCIPALNAME()

Prepared by: Your Power BI Mentor (generated for interview preparation).

You might also like