Back to Blog

BI Analyst Interview Questions 2026

Big DataHiringIT Hiring

Last updated: November 8, 2026

By Jennifer Burdick, Recruiting Manager, KORE1

BI analyst interview questions in 2026 should give the candidate two reports that ought to agree and do not, then watch how they find the gap, because reconciling numbers is most of what the job really is. Tool questions and textbook definitions still belong in the loop. They just should not fill the hour.

Most BI analyst reqs I take at KORE1 start with a story about two reports. The sales dashboard says one thing. The month-end package from finance says another, and somebody senior has quietly stopped trusting both.

In March, a grocery distributor outside Lancaster, Pennsylvania, called us after its second BI analyst in eighteen months resigned. Both hires had interviewed well. Both could explain a star schema, both held a Power BI certification, and both had talked with real enthusiasm about their favorite way to chart a sales funnel. Neither one could tell the controller why the route-level revenue dashboard ran $214,000 higher than the general ledger for February, and after a few weeks of that, the controller stopped asking them anything at all. A contractor found it eventually. A join to the delivery-stops table repeated every invoice line once for each stop on a split delivery. Nobody had asked either candidate anything like that during the interviews.

Most published lists of BI analyst interview questions are written for the candidate. That is fine. Define a KPI, compare star and snowflake schemas, describe a dashboard you are proud of. A prepared candidate has rehearsed every one of them, which is exactly why they tell a hiring panel so little.

The obvious conflict first. KORE1 is paid only after an analyst we put forward accepts your offer and starts, so I want your loop to end in a hire, and I would much rather it end in the right one. Our BI analyst staffing desk runs versions of the questions below on candidates before a client panel ever sees them.

Hiring manager listening as a BI analyst candidate explains how she would reconcile two reports during an interview

Table of Contents

The Standard Question Bank, and What It Cannot Tell You

A BI analyst interview tests whether a candidate can turn warehouse data into numbers a business will act on. In practice that means SQL, data modeling, a reporting tool such as Power BI, Tableau, or Looker, and the judgment to define a metric and stand behind it. The standard questions cover the first three well enough.

Here are the ones that show up on nearly every prep list, with what a rehearsed answer covers and the part it tends to skip.

Common questionWhat a rehearsed answer coversWhat it usually leaves out
Write a query for the top five customers by revenue in each regionA window function with PARTITION BY and RANK or ROW_NUMBERWhat happens with ties, and which revenue column the business means
Explain a star schema versus a snowflake schemaFact tables, dimension tables, normalizationThe grain of the fact table, and what breaks when two grains get joined
Walk me through a dashboard you builtAudience, KPIs, tool, layout choicesWho still opened it three months after launch
How would you define churn?A formula and a time windowWhich edge cases they settled, and who signed off on them
What is a slowly changing dimension?Type 1 overwrites, Type 2 adds a rowWhich reports moved the last time someone changed a Type 1 attribute
How do you make sure your data is accurate?Tests, validation rules, peer reviewWhat they did the one time it was not
Tell me about a difficult stakeholderListening, alignment, a happy endingWhether they have ever told an executive a number was wrong

Keep them. They are a floor, and a candidate who stumbles on the window function is not ready for the seat no matter how well the rest goes. But the third column is where the job lives. Everything after this table is built to reach it.

Hand Over Two Numbers That Should Match

Two figures, two systems, one question. Hand the candidate the dashboard’s March revenue and the ledger’s March revenue, tell them both are supposed to match, and ask where the money went. Then stop talking for a while, which is harder for most panels than it sounds.

Why this format? Because it is the work. By the time the second analyst left the Lancaster distributor, the controller kept a spreadsheet tab titled “Why BI is wrong” with 41 rows on it, every one a gap somebody had found by hand. The analysts who are good at closing rows like that share a habit you can hear within two minutes. They ask questions before they offer causes. Which number does finance report to the board? When was each one pulled? What filters sit on each report? Weak candidates go the other way. They guess a cause in the first sentence and then defend it.

Demand for people who can do this is not slowing down, which is part of why a bad loop is so expensive. The government does not count BI analysts as their own occupation, so the closest public proxy is the data scientist category, and the Bureau of Labor Statistics projects that group to grow 35 percent from 2025 to 2035, with about 24,800 openings a year and a median wage of $120,230. Strong reconciliation people get recruited away. You will interview more of them if your loop is fast.

The questions below are grouped by which two systems are fighting. Use one or two from each group. Not all nine.

Questions Where the Dashboard and the Ledger Disagree

The dashboard shows $4.31 million in March revenue. Finance closed March at $4.12 million. Where do you look first?

The gap is $190,000, about 4.4 percent, and a strong candidate says the number out loud before doing anything else. Then they ask which one is the system of record. Usually it is the general ledger, and the dashboard is reading order or invoice tables that sit upstream of it.

Good answers break the $190,000 into buckets instead of hunting for a single cause. Returns and credit memos that post to the ledger but never touch the orders table. Freight and sales tax sitting inside an order total that finance books to separate accounts. Revenue recognition timing, where an order shipped March 30 but finance recognized part of it in April. Manual journal entries posted on day three of the close. A candidate who names three of those and then says they would ask the controller for the list of GL accounts that roll up to revenue is a candidate who has done this before.

The weak answer is “I would rebuild the dashboard.” It sounds decisive. It also means they would spend two weeks recreating the same gap.

Finance reopened February and posted a $38,000 correction. Should February change on the dashboard?

There is no single right answer, and that is the point of asking. The best candidates say it depends on what the dashboard promises its readers, then ask who reads it. A board package needs to match what was reported, with the restatement noted. An operations team tracking trends probably wants the corrected figure. Some of the strongest analysts I have placed suggest showing both, “as reported” and “as restated,” and labeling them so nobody has to guess.

Listen for whether they know what a period close is at all. Plenty of analysts who came up through marketing analytics have never had to care.

Sales are booked in euros and dollars, and the dashboard used a different exchange rate than the ledger. Which rate is right?

Finance’s. The candidate should say so quickly, then explain the three rates that usually collide, the rate on the transaction date, the month-end rate, and a monthly average, and ask which one the company’s accounting policy uses. Short question. It separates people who have worked next to a controller from people who have only worked next to a marketing team.

Questions Where the Dashboard and the CRM Disagree

Salesforce shows 212 open opportunities. The warehouse table shows 231. What explains the extra 19?

Every experienced candidate has lived some version of this. What you are listening for is the order of their checks, and the first one should be the filters on the Salesforce report itself, because a pipeline report almost always excludes something: a record type, a stage, opportunities owned by people outside the viewer’s role hierarchy, anything older than a set close date. After that, deleted records. Most warehouse connectors sync soft-deleted rows with a flag rather than removing them, so a table that ignores the deleted flag will count opportunities a rep threw in the recycle bin last week. Then sync lag, then merged accounts.

A candidate who goes straight to “the connector is broken” has probably never opened the report filter panel. That is a useful thing to learn in minute four instead of month four.

Sales realigned territories in January. Now last year’s West region revenue is $1.6 million lower than it was in December’s board deck. Did something break?

Probably not. Something got overwritten. If the region lives on the customer dimension as a Type 1 attribute, moving 140 accounts from West to Central rewrote their history too, and every prior-year report now shows them in Central. The Kimball Group’s own description of Type 1 says the technique “destroys history,” which is a blunt way of putting it, and accurate.

An agricultural equipment dealer group in Fargo, North Dakota, fought about exactly this for most of a quarter last year. The regional VPs believed someone had tampered with their numbers. Nobody had. The warehouse was doing what it was built to do, and nobody had ever asked which version of history the board wanted to see. The analyst they hired after that search answered this question by asking it back to the panel: should last year’s West mean the accounts that were in West last year, or the accounts that are in West now? Both are legitimate. Only one can be on the slide without a footnote.

Strong candidates mention Type 2, a new dimension row with effective dates, as the fix if the business wants history preserved. Stronger ones also mention that the reports have to be told which row to use.

Two stacks of oak discs of different heights, illustrating a dashboard total that does not match the ledger in a BI analyst interview question

Questions Where the Query Disagrees With Itself

These four are printed. Hand the SQL over on paper, give the candidate a few minutes, and do not let anyone run it.

This query returned revenue 18 percent higher than last month’s report, which did not join shipments. Why?

SELECT o.region,
       SUM(o.order_total) AS revenue
FROM orders o
JOIN shipments s
  ON s.order_id = o.order_id
WHERE o.order_date >= '2026-01-01'
GROUP BY o.region;

Any order that went out in two shipments now appears twice, and its total gets summed twice. That is the Lancaster problem in nine lines. A strong candidate spots the fan-out in under a minute and offers a fix, either aggregating shipments to one row per order before the join or using EXISTS if the join was only there as a filter. The best ones add a habit. They check the row count before and after every join, every time, because the one-to-many relationship that is not supposed to exist is usually the one that does.

Marketing expected about 3,000 lapsed customers. This query returns zero. What happened?

SELECT COUNT(*)
FROM customers
WHERE customer_id NOT IN (
  SELECT customer_id
  FROM orders
  WHERE order_date >= '2026-10-01'
);

One guest checkout left a NULL in orders.customer_id. That is enough. When the subquery contains a NULL and no match, NOT IN does not return true for anyone, and the PostgreSQL documentation on subquery expressions spells it out: the result of the NOT IN construct “will be null, not true.” Same behavior in Snowflake, SQL Server, and BigQuery. The fix is NOT EXISTS, or filtering the NULLs out of the subquery.

I like this one because the candidate cannot reason their way to the answer from first principles in the room. Either they have been burned by it or they have not. Being burned is the qualification.

The dashboard shows Black Friday sales of $612,000. The store platform’s own report says $571,000. Same orders. Why?

Time zones. The warehouse stores order timestamps in UTC, the dashboard groups by the UTC date, and the store platform reports on the store’s local time, which for a Pacific-time retailer puts the day boundary eight hours apart. A slice of Thursday evening landed on Friday in one report and not the other. Expect the candidate to ask where the timestamp is converted and which time zone the business considers “the day.” Also expect a good one to say that Cyber Monday will have the same problem.

Weekly active users were 8,200, 8,500, 7,900, and 8,100. The monthly number is 14,600, not 32,700. Is the monthly number wrong?

No. Most of the same people showed up in more than one week, and a distinct count cannot be summed across time. Kimball calls measures like this non-additive facts. This is the easiest question in the set. I still ask it, because roughly one candidate in five starts explaining how they would fix the monthly figure, and you want to know that before they own a usage dashboard.

Symptom, Usual Cause, First Check

Not everyone on a BI panel writes SQL. The controller does not need to, and neither does the sales operations lead. This table gives them something to listen for.

What the panel seesUsual causeWhat a strong candidate checks first
Dashboard revenue above the ledgerReturns, credits, tax and freight, close-period entriesWhich GL accounts roll up to revenue
Totals jump after a new joinOne-to-many fan-outRow count before and after the join
Last year’s numbers changedType 1 overwrite, or a finance restatementHow the dimension handles changes
CRM count and warehouse count differReport filters, deleted records, sync lagThe filter panel on the CRM report
Daily totals differ from the source systemUTC versus local timeWhere timestamps get converted
Monthly users fewer than the weeks added upDistinct counts are non-additiveHow the measure is defined
A filter returns nothing at allA NULL inside NOT INNULLs in the subquery column

If the candidate’s first move matches the right column, write that down. If their first move is to propose a fix, write that down too.

Build the Exercise From Last Quarter’s Argument

The questions above are generic on purpose. The live exercise should not be. Every company with a BI function has at least one recent fight about a number, and that fight is a better interview than anything I could write for you. The same fight belongs in the posting, and our BI analyst job description guide shows where to put it.

A property management company in Henderson, Nevada, tried this with us in September. They pulled two reports from June that had disagreed on occupied units by 312, anonymized the property names, and gave each finalist forty-five minutes, both reports, the data dictionary, and a sandbox copy of the two tables underneath. The finalist who had scored lowest on the SQL screen found the cause first. Her opening question was when each report had been pulled. One ran before the nightly move-out batch and one ran after it. That was the whole gap, and she had it in eleven minutes. They hired her.

How to set yours up:

  • Pick a gap your team has already explained, so the panel knows the answer before the candidate starts.
  • Strip anything customer-identifying. Property names, account names, and rep names all go.
  • Both reports, plus the definitions behind each. Hand over the data dictionary even if it is out of date. Especially if it is out of date.
  • Forty-five minutes is plenty.
  • Count the questions they ask before they propose a cause. Three or more is a good sign.
  • End by asking what they would tell the controller tonight, before they are sure, and what they would tell the controller next week. Two different messages. The good ones know that.

One thing to avoid. Do not use a gap that took your own team three weeks to find. Forty-five minutes is an interview, not an audit.

Hourglass and magnifying glass on an oak table, representing a timed 45-minute BI analyst reconciliation exercise

The Conversation After the Gap Is Found

Finding the $190,000 is half of it. The Lancaster controller would tell you the other half mattered more, since both departing analysts had spotted problems and sat on them for weeks rather than walk into her office. Three questions get at that half.

“You found the $190,000. The CFO already presented the dashboard figure to the board last week. What do you do in the next hour?” You want to hear that they tell their manager first, bring the bucketed breakdown rather than a vague warning, and do not quietly change the dashboard and hope nobody notices. A surprising number of candidates suggest exactly that last option, and a few of them say it with confidence.

“Sales wants the dashboard to keep matching last year’s deck. Finance restated. What happens?” There is no clean answer, so listen for whether they reach for labels and footnotes or try to pick a winner.

And the plainest one. “Tell me about the last number you published that turned out to be wrong. Who found it?” An analyst who says it has never happened is either very new or not paying attention.

Where the Tool Questions Still Fit

Ten minutes, near the end, on whichever tool your company already runs. On Tableau, ask why a Top 10 customers filter returns a different list once a context filter on region is added, which is really a question about the order of operations. On Looker, ask what a symmetric aggregate is, since it exists precisely to keep a fan-out like the shipments query above from inflating a sum in an Explore. If the shop runs Power BI and the seat involves heavy semantic-model work, the printed measures in our Power BI developer interview questions will test DAX far more precisely than anything on this page.

Also worth ten minutes before you schedule anyone: deciding whether the seat is really a BI analyst at all. Where a BI analyst seat ends and a data analyst seat begins changes which of these questions matter. A data analyst seat leans toward investigation and gets more from the query questions. A BI seat owns a reporting layer and needs the ledger and CRM questions most.

Once the loop produces a finalist, the offer conversation is a separate problem. The BI analyst hiring playbook on our site covers the 2026 pay bands and the search timeline, so I will not repeat them here. The salary side has its own page, the BI analyst pay guide, which bands the role by who reads the work.

Things the Panel Raised While Booking the Room

Does a junior BI analyst get the same reconciliation questions?

Smaller gaps, same format. A junior candidate should still be able to find a fan-out join and ask when each report was pulled, even if the ledger questions are new to them. Drop the exchange-rate and restatement questions for anyone under two years. Keep the NULL question, because if they have not seen it yet, the first week on the job will show it to them.

Take-home exercise or live?

Live, for this one. The value of a reconciliation exercise is hearing the questions the candidate asks before they guess, and a take-home only shows you the final guess. If scheduling makes live impossible, keep the take-home to ninety minutes and ask them to send their questions along with their answer.

How many rounds does a BI analyst loop actually need?

Three is enough for most seats. A thirty-minute SQL screen with the standard questions, a forty-five-minute reconciliation exercise with whoever owns the reporting layer, and a final conversation with the business stakeholder the analyst will serve most. Adding a fourth round rarely changes the decision and often costs you the finalist, since strong BI candidates tend to be holding more than one process at once.

Nobody on our panel writes SQL. Can we still run this?

Yes, if someone builds the answer key first. Have whoever maintains your reports write down the cause of each gap before the interview, and give the non-technical panelists the symptom table above. They will not grade the SQL. They will grade the order of the candidate’s questions, which is the more useful signal anyway.

What should a BI analyst offer look like after a loop like this?

$90,000 to $150,000 in base pay covers most BI analyst hires we see, with senior analysts closer to the top of that range. Industry and metro move it, and a candidate who handled the ledger questions cleanly usually has another offer in hand, so price for that. The full breakdown lives in our hiring guide linked above.

Should a contract BI analyst go through the full loop?

A shorter one. For a quarter-long reconciliation cleanup through contract staffing, skip the stakeholder round and run the live exercise on the actual gap the contractor would be hired to close. You learn whether they can do the job by watching them start it.

Bring the Two Reports That Disagreed Last Quarter

If you take one thing from this page into your next loop, make it the exercise. Find the last argument your company had about a number, write down how it was resolved, and hand the two reports to every finalist. You will learn more in forty-five minutes than a full afternoon of definitions will tell you.

If you would rather have help building it, send both reports to our BI recruiting team and we will turn them into an exercise and a shortlist. Seventeen days is our average IT search, first call to signed offer. Our twelve-month retention is 92 percent, and that is a number we can reconcile name by name. For the roles around this one, data engineers, analytics engineers, and the rest, our data analytics staffing team recruits those too.