Skip to content

BI Consultant Interview Questions & Answers

40 questions for BI Consultant interviews — 3 easy, 31 medium, 6 hard.

About the BI Consultant role

BI Consultants work with clients to understand reporting needs, design data models and deliver Power BI solutions, often in consulting and IT services firms serving global customers. Beyond technical work they run requirement workshops, estimate effort, present solutions and train end users. Strong communication, domain knowledge in areas like finance or supply chain, and solid modelling and DAX skills are expected.

Requirement gathering Solution design Client presentations DAX and modelling User training
Solved for this roleStart practicing
3 QUESTIONS FREESign up to unlock the full question bank and track your progress.Unlock every question and answer, then continue practising company-wise and package-wise.
3 questions free Unlock the rest in seconds
01

What is the difference between static and dynamic RLS?

Save to ▾
Show answer
Static RLS hard-codes values in each role, such as one role per region, which becomes hard to manage as regions grow. Dynamic RLS uses one role with a filter based on the logged-in user, such as Users[Email] = USERPRINCIPALNAME(), with a security mapping table linking users to the regions or managers they may see. Dynamic RLS scales better and is driven by data rather than role edits.
02

How do you create a measure-driven conditional colour?

Save to ▾
Show answer
Sales Colour = VAR ach = DIVIDE([Total Sales], [Target]) RETURN SWITCH(TRUE(), ach < 0.9, "#D64550", ach < 1, "#F2A93B", "#2E9E5B") In the visual, open conditional formatting for background or font colour, choose Format style Field value and select this measure.
03

Your workspace has grown to 150 items and nobody knows which reports are used. How do you clean it up?

Save to ▾
Show answer
I would export usage from the activity log or the workspace usage metrics, list items not viewed in 90 days and confirm with owners before archiving. Duplicate models are consolidated into shared semantic models, naming standards are applied, and workspaces are split by domain with clear owners. A quarterly review keeps it tidy. This also reduces refresh load on capacity.
04

What is the grain of a fact table and why does it matter?

Save to ▾
Show answer
Grain is the level of detail of one fact row, such as one row per order line per day. It must be defined clearly before building measures, because mixing grains in one table, for example daily sales and monthly targets, causes double counting and wrong totals. Facts at different grains should be separate tables related to dimensions at the matching level.
05

A stakeholder insists on a 3D pie chart with 12 slices. How do you handle it?

Save to ▾
Show answer
I would understand what they want to see, usually share of total by category, then show a quick comparison: a sorted bar chart beside the pie, explaining that bars make small differences readable while 3D distorts sizes. Offering a donut with top five plus Others is a compromise. Usually seeing both side by side convinces them, and the final choice remains theirs.
06

How do you configure incremental refresh on a sales table?

Save to ▾
Show answer
In Power Query create RangeStart and RangeEnd parameters of type Date/Time, and filter OrderDate so it is greater than or equal to RangeStart and less than RangeEnd. Confirm the step folds to the source. In Desktop right-click the table, choose Incremental refresh, set to archive, say, 5 years and refresh the last 10 days, optionally detect data changes. Publish, and the Service creates partitions on first refresh.
07

Users complain the report page is cluttered with 22 visuals. How do you redesign it?

Save to ▾
Show answer
I would ask which decisions the page supports and keep only visuals that answer those questions. Then group related KPIs into a top row of cards, keep two or three main charts, and move details to drill-through or tooltip pages. Slicers can move into a collapsible panel using bookmarks. Fewer visuals also make the page load faster.
08

How do you build a custom tooltip page?

Save to ▾
Show answer
Create a new page, set Page information, Allow use as tooltip on, and set Canvas settings to the Tooltip size. Add small visuals like a monthly trend line for the hovered item. On the main visual, go to Format, Tooltips, set Type to Report page and select the tooltip page. Fields in the main visual automatically filter the tooltip page on hover.
09

What is incremental refresh?

Save to ▾
Show answer
Incremental refresh partitions a large table by date so each refresh reloads only recent data, such as the last 10 days, while keeping older partitions, such as five years of history, unchanged. It uses the RangeStart and RangeEnd datetime parameters to filter the query, which must fold to the source. It cuts refresh time and load on sources, and can add a DirectQuery partition for real-time data.
10

Write a running total measure.

Save to ▾
Show answer
Running Total = VAR maxDate = MAX('Date'[Date]) RETURN CALCULATE( [Total Sales], 'Date'[Date] <= maxDate, REMOVEFILTERS('Date') ) REMOVEFILTERS clears the current period filter so all earlier dates are included. In a visual-only scenario, the visual calculation RUNNINGSUM is simpler.
11

How do you design a KPI card that shows value, target and variance?

Save to ▾
Show answer
Use the new Card visual or a KPI visual with a main measure such as Total Sales, a target measure and a variance percent measure. Add conditional formatting so the variance turns red below target and green above it, and include a small trend if space allows. Keep labels short, such as Sales vs Target, and show the comparison period in the subtitle.
12

What are endorsement, sensitivity labels and lineage view?

Save to ▾
Show answer
Endorsement marks content as Promoted by its owners or Certified by authorised reviewers, guiding users to trusted semantic models. Sensitivity labels from Microsoft Purview classify content, such as Confidential, and labels flow to exports like Excel and PDF. Lineage view shows how data sources, dataflows, semantic models, reports and dashboards depend on each other, which helps impact analysis before changes.
13

Each regional manager must see only their region, and the CEO must see everything. How do you implement this?

Save to ▾
Show answer
I would build dynamic RLS with a security table of Email and Region, related to the Region dimension, and a role filter Security[Email] = USERPRINCIPALNAME(). The CEO and other full-access users get an 'All' flag handled in the rule, or are placed in a separate role with no filter. I would test with View as role in Desktop and in the Service before publishing the app.
14

What is the difference between sharing a report, publishing an app and using a workspace?

Save to ▾
Show answer
A workspace is where creators collaborate. Direct sharing gives one person or group access to a single report, which is quick but hard to govern at scale. An app packages reports and dashboards from a workspace for consumers, with audiences controlling who sees which content, and updates only when republished. Apps are the recommended way to distribute content to large business audiences.
15

What does the XMLA endpoint allow you to do?

Save to ▾
Show answer
The XMLA endpoint exposes semantic models on Premium, PPU or Fabric capacity like an Analysis Services server. Tools such as Tabular Editor, DAX Studio, SQL Server Management Studio and ALM Toolkit can then read or write the model, manage partitions, refresh specific tables, script deployments and apply object-level security. Read-write mode must be enabled in capacity settings by an admin.
16

What is the difference between SELECTEDVALUE and VALUES?

Save to ▾
Show answer
SELECTEDVALUE(column, alternate) returns the single value of a column when exactly one is visible in the filter context, otherwise the alternate or blank. VALUES(column) returns a table of distinct visible values, including blank for unmatched rows, and can be used in iterators or as a filter. Use SELECTEDVALUE for titles and parameters, and VALUES when you need to loop over the visible items.
17

Scheduled refresh fails every night with a gateway error. How do you troubleshoot?

Save to ▾
Show answer
I would check the refresh history error details, confirm the gateway machine is on and the gateway service is running and updated, and verify data source credentials in the gateway connection have not expired. Then test connectivity from the gateway machine to the source and check that the source names in the model exactly match the gateway data source. Gateway logs and network or firewall changes are next.
18

What are active and inactive relationships?

Save to ▾
Show answer
Only one active relationship can exist between two tables along a filter path; additional relationships become inactive and appear as dashed lines. For example, Sales may have OrderDate and ShipDate both linked to Date, with OrderDate active. An inactive relationship is used only inside a measure with USERELATIONSHIP, such as CALCULATE([Sales], USERELATIONSHIP(Sales[ShipDate], 'Date'[Date])).
19

How do you control how visuals interact with each other?

Save to ▾
Show answer
By default, selecting a data point cross-filters or cross-highlights other visuals on the page. Use Format, Edit interactions to choose filter, highlight or none for each visual pair, for example stopping a slicer from affecting a target KPI card. Slicers can also be synced across pages with the Sync slicers pane. Clear interaction design prevents confusing behaviour.
20

What is a role-playing dimension and how do you handle it?

Save to ▾
Show answer
A role-playing dimension is one dimension used in several roles, such as Date acting as Order Date, Ship Date and Delivery Date. Options are one Date table with one active and other inactive relationships used through USERELATIONSHIP in measures, or separate copies of the date table for each role so users can slice by each date independently. The second is easier for users but increases model size slightly.
21

What is a snowflake schema and should you avoid it in Power BI?

Save to ▾
Show answer
A snowflake schema normalises dimensions into several related tables, such as Product linked to Subcategory linked to Category. It saves little space in Power BI because columnar compression already handles repetition, and it adds relationships, longer filter paths and a more confusing field list. Usually it is better to flatten these into one Product dimension in Power Query, keeping the model a clean star.
22

Totals look inflated after adding a second fact table. What could be wrong?

Save to ▾
Show answer
Likely a relationship is joining at the wrong grain or creating a many-to-many path, so rows get duplicated in filtering, or a bi-directional relationship is letting one fact filter another unexpectedly. I would check the relationships, keys and cardinality, make filters flow from shared dimensions only, and verify a measure against a known total in the source system using a simple table visual.
23

What is a decomposition tree and when is it useful?

Save to ▾
Show answer
The decomposition tree is an AI visual that lets users break down a measure across several dimensions in any order, for example splitting a sales drop by region, then category, then channel. It can also suggest the next split automatically using high value or low value analysis. It is useful for root-cause exploration by business users, though it is less suited to fixed reporting.
24

What is object-level security?

Save to ▾
Show answer
Object-level security hides entire tables or columns from specific roles, so users in that role cannot see or query them, for example hiding a Salary column from non-HR users. It is configured with Tabular Editor or similar external tools on the model's roles. Unlike RLS, which filters rows, OLS removes metadata access. Visuals using a secured object show an error for restricted users.
25

What are bookmarks and how are they used?

Save to ▾
Show answer
Bookmarks capture the current state of a report page, including filters, slicers, visual visibility and sort order. They are used for storytelling, toggling between chart and table views with buttons, creating custom navigation, and resetting filters. Combined with the selection pane, they show and hide visuals. Too many bookmarks become hard to maintain, so field parameters are often a simpler alternative for switching measures.
26

When would you use a custom visual and what are the risks?

Save to ▾
Show answer
Custom visuals from AppSource add chart types not built in, such as Gantt charts, sankey diagrams or advanced KPI cards. Risks include performance issues, limited support, export and accessibility gaps, and data security, since some visuals may call external services. Prefer certified visuals, check organisational policy, since admins can restrict them, and use built-in visuals where they meet the need.
27

What is Copilot in Power BI and what should you watch out for?

Save to ▾
Show answer
Copilot in Power BI uses generative AI to help create report pages, summarise visuals in narrative form, suggest DAX and answer questions about data in natural language. It needs supported capacity and tenant settings enabled by admins. Results depend heavily on a clean model with clear names, descriptions and synonyms, and outputs must be checked for correctness before sharing, especially generated DAX.
28

Tell me about a time a user rejected your report design. What did you do?

Save to ▾
Show answer
Situation: sales managers stopped using a dashboard I built. Task: find out why. Action: I watched two managers use it and found they needed weekly target gaps first, which were hidden on page three. I moved those to the top, removed four rarely used charts and added drill-through for details. Result: weekly usage in the activity log tripled within a month.
29

Users want to analyse sales by both order date and delivery date in the same report. What do you do?

Save to ▾
Show answer
I would keep the Date table related to OrderDate as the active relationship and add an inactive relationship to DeliveryDate. Then create measures like Sales by Delivery Date using USERELATIONSHIP. If users need separate slicers for both dates at the same time, I would create a second Delivery Date table as a role-playing copy related actively to the delivery column.
30

How do you handle a business user who keeps changing report requirements?

Save to ▾
Show answer
I first understand the goal behind the changes, because frequent changes often mean the core question was not clear. I write down agreed requirements and a mock-up, then deliver in small iterations so feedback comes early. In one project weekly 20-minute reviews cut rework a lot, and changes that were large were logged for the next version rather than added mid-sprint.
31

Create a date table with DAX.

Save to ▾
Show answer
Date = ADDCOLUMNS( CALENDAR(DATE(2022, 1, 1), DATE(2026, 12, 31)), "Year", YEAR([Date]), "Month No", MONTH([Date]), "Month", FORMAT([Date], "MMM"), "Quarter", "Q" & QUARTER([Date]), "Weekday", FORMAT([Date], "ddd") ) Then mark it as a date table and sort Month by Month No.
32

Business users keep asking for edits directly in production reports. How do you set up a better process?

Save to ▾
Show answer
I would set up separate Development, Test and Production workspaces with a deployment pipeline, store PBIP files in Git, and route requests through a simple backlog. Changes are built in Dev, reviewed by a key user in Test and deployed to Production on a release schedule. Users consume through an app, so production stays stable and changes are traceable.
33

Your model has one wide flat table with 80 columns from an Excel export. How would you remodel it?

Save to ▾
Show answer
I would identify the grain, such as one row per order line, and split descriptive attributes into dimension tables like Customer, Product, Store and Date using Reference queries and Remove Duplicates on keys. The fact table keeps keys and numeric columns only. Then create one-to-many single-direction relationships. This reduces size, simplifies DAX and makes slicers faster and more reliable.
34

Tell me about a report you built that changed a business decision.

Save to ▾
Show answer
Situation: regional managers tracked sales in separate Excel files, and stock planning was late. Task: give one daily view. Action: I combined ERP and target data in Power Query, built a star schema with DAX measures for target achievement and stock cover, and published an app with row-level security per region. Result: weekly planning moved from Friday to Monday morning, and two slow-moving products were discontinued earlier.
35

A report must be embedded in a customer-facing web portal for users without Power BI licences. What approach do you take?

Save to ▾
Show answer
I would use Power BI Embedded with the 'embed for your customers' pattern, also called app owns data. The application authenticates with a service principal, generates embed tokens and passes customer identity for RLS, so each customer sees only their data. It needs Fabric or embedded capacity. I would design RLS carefully, test token expiry and monitor capacity load as the customer base grows.
36

What is a calculated table and when would you use one?

Save to ▾
Show answer
A calculated table is created with a DAX expression and stored in the model, recalculated at refresh. Examples are a date table using CALENDAR, a disconnected parameter table for what-if analysis, or a summary table. It is handy but adds memory, and it cannot use Power Query folding. For most shaping tasks, creating tables in the source or Power Query is preferred.
37

How do you use a bridge table for a many-to-many scenario?

Save to ▾
Show answer
For example, accounts can have multiple customers and customers multiple accounts. Create a bridge table with unique Account and Customer pairs. Relate Customer to Bridge one-to-many, and Account to Bridge one-to-many, with the Bridge to Account relationship set to filter in both directions or use CROSSFILTER in measures. Facts relate to Account. Test totals carefully because shared accounts count once per customer.
38

Tell me about a time you redesigned a data model.

Save to ▾
Show answer
Situation: a finance report took 40 seconds per page with a 2 GB file built on joined flat tables. Task: improve speed. Action: I split it into a star schema with Date, Account, Cost Centre and fact tables, removed unused columns, turned off auto date/time and replaced bi-directional filters with single direction. Result: model size dropped to 450 MB and pages loaded in under 4 seconds.
39

A slicer on Product Category does not filter the Targets visual. What do you check?

Save to ▾
Show answer
I would check the relationship path in model view: whether Targets is related to the Product or Category dimension at all, whether the relationship is active, and its cross-filter direction. If Targets are at category level, it needs a relationship to a Category table that also filters Product. Also check whether visual interactions were turned off for that slicer and whether the measure uses ALL or REMOVEFILTERS.
40

What is cross-filter direction and why is bi-directional filtering risky?

Save to ▾
Show answer
Cross-filter direction controls which way filters travel across a relationship. Single direction, from the one side to the many side, is the default and safest. Bi-directional lets the fact table filter the dimension too, which can be useful for slicers showing only relevant values, but it can cause ambiguous paths, unexpected results and slower queries. Prefer single direction and use CROSSFILTER inside specific measures when needed.

Frequently asked questions

What does a BI Consultant do?

BI Consultants work with clients to understand reporting needs, design data models and deliver Power BI solutions, often in consulting and IT services firms serving global customers. Beyond technical work they run requirement workshops, estimate effort, present solutions and train end users. Strong communication, domain knowledge in areas like finance or supply chain, and solid modelling and DAX skills are expected.

Which skills are tested in a BI Consultant interview?

Expect questions on Requirement gathering, Solution design, Client presentations, DAX and modelling, User training. Most rounds also ask you to explain a project and solve one practical problem live.

How do I prepare for a BI Consultant interview?

Revise Data Modelling, Visualisation and Report Design, Power BI Service, Sharing and Security first using the topic sheets, practise the questions on this page aloud, then do one full mock interview to practise timing.