36 practice questions with answers for Power BI interviews in Kochi.
Power BI jobs in Kochi
Kochi's Infopark and SmartCity host IT-services firms, product companies and start-ups, making it Kerala's largest tech job market along with Thiruvananthapuram. Testing and data roles are common in its service and product teams.
Below are 36 questions that match the mix of service, product and domain employers hiring power bi developers in Kochi.
Solved for KochiStart 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 a decomposition tree and when is it useful?
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.
02
What is a role-playing dimension and how do you handle it?
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.
03
What is cross-filter direction and why is bi-directional filtering risky?
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.
04
What is the difference between Reference and Duplicate in Power Query?
Duplicate copies all the steps of a query into a new independent query, so later changes to the original do not affect it. Reference creates a new query whose source is the output of the original, so it inherits any changes. Reference is useful for building several tables from one staging query, such as dimension tables from a cleaned sales table, while Duplicate is for experimenting separately.
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.
06
Leadership wants to see a red, amber, green status for each region against target. How do you build it?
I would create a measure for achievement percentage, DIVIDE(Sales, Target), and a status measure returning a colour or icon based on thresholds agreed with leadership, such as below 90 percent red, 90 to 100 amber, above 100 green. Apply it through conditional formatting in a matrix or as icon rules. I would also add text or icons so status is clear without colour.
07
How do you publish a report and share it with business users?
In Desktop, choose Publish and select a workspace. In the Service, set up the semantic model's credentials and scheduled refresh. Then create or update an app from the workspace, choose the reports and audiences, and grant access to user groups. Apps give consumers a clean, stable view while authors keep working in the workspace. Avoid sharing from My workspace for team content.
08
How do you create a dynamic axis using field parameters?
Go to Modeling, New parameter, Fields, and add the fields such as Region, Category and Channel. Power BI creates a parameter table and slicer. Put the parameter field on the axis of a chart; users select which dimension to show from the slicer. You can add measures to a separate field parameter so users switch both the measure and the axis.
09
Describe a time you cleaned very messy data under a deadline.
Situation: a client sent 36 monthly Excel files with merged headers and changing columns two days before a review. Task: build a consolidated sales report. Action: I used the Folder connector with a custom function that promoted the right header row, unpivoted month columns and mapped renamed fields through a lookup table. Result: the report was ready a day early, and future files loaded automatically with no manual work.
10
What is a snowflake schema and should you avoid it in Power BI?
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.
let
StartDate = #date(2022, 1, 1),
EndDate = #date(2026, 12, 31),
Days = Duration.Days(EndDate - StartDate) + 1,
Dates = List.Dates(StartDate, Days, #duration(1, 0, 0, 0)),
T = Table.FromList(Dates, Splitter.SplitByNothing(), {"Date"}),
Typed = Table.TransformColumnTypes(T, {{"Date", type date}}),
Y = Table.AddColumn(Typed, "Year", each Date.Year([Date]), Int64.Type),
M = Table.AddColumn(Y, "Month", each Date.MonthName([Date]), type text)
in
M
12
Your measure returns an error that a table of multiple values was supplied where a single value was expected. How do you fix it?
This happens when an expression like VALUES or a column reference returns several rows where a scalar is needed, for example in IF or comparison. I would use SELECTEDVALUE with a fallback, wrap the column in an aggregation like MAX or SUM, or use HASONEVALUE to check first. If iteration is needed, use SUMX or another iterator over VALUES instead.
CALCULATE evaluates an expression in a modified filter context. Its filter arguments can add, replace or remove filters, for example CALCULATE([Total Sales], 'Product'[Category] = "Electronics") replaces any category filter with Electronics. It also performs context transition when used inside a row context, turning the current row into an equivalent filter. It is the most important function in DAX.
14
How do you handle a business user who keeps changing report requirements?
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.
15
What is the difference between drill-down and drill-through?
Drill-down moves within the same visual through a hierarchy, such as Year to Quarter to Month, using the drill buttons. Drill-through moves the user to a separate detail page filtered by the selected item, such as right-clicking a customer to open a Customer Details page. Drill-through pages are set up by adding fields to the drill-through well and include a back button.
16
How does the VertiPaq engine store and compress data?
VertiPaq is the in-memory columnar engine for Import models. It stores each column separately and compresses it using dictionary encoding, which maps unique values to integers, value encoding for numbers, and run-length encoding for repeated sequences. Compression depends mostly on column cardinality, so columns with few unique values compress very well, while unique IDs and precise timestamps take most of the memory.
Sales 3M Avg =
VAR periods =
DATESINPERIOD('Date'[Date], MAX('Date'[Date]), -3, MONTH)
RETURN
CALCULATE(
AVERAGEX(VALUES('Date'[Month Year]), [Total Sales]),
periods
)
AVERAGEX over months averages monthly totals instead of daily values. Month Year must be a column in the date table.
18
What is the difference between SELECTEDVALUE and VALUES?
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.
19
What is the difference between Group By in Power Query and summarising in DAX?
Group By in Power Query aggregates rows at refresh time and stores only the summarised table, reducing model size, which is useful when detail is never needed. Summarising in DAX through measures keeps detail in the model and aggregates dynamically for any filter at query time. Use Power Query grouping for fixed summaries such as monthly snapshots, and DAX measures when users need flexible slicing.
VAR defines a named value inside an expression and RETURN gives the final result. Variables make measures easier to read, avoid repeating the same calculation, which improves performance, and help debugging because you can return an intermediate variable. A variable is evaluated once in the context where it is defined, so its value does not change if later CALCULATE filters are applied.
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.
22
Your model has one wide flat table with 80 columns from an Excel export. How would you remodel it?
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.
23
Tell me about a time you had to learn a new BI tool or feature quickly for a project.
Situation: a client moved its data to a Fabric lakehouse and wanted reports on Direct Lake within three weeks. Task: learn it and deliver. Action: I studied the documentation, built a small proof of concept in two days, checked fallback behaviour and refresh rules, and then migrated the main sales model. Result: reports went live on time with data visible minutes after loading instead of after nightly refreshes.
24
Rewrite a slow measure to use variables and avoid repeated calculation.
Before:
Growth = IF([Sales PY] = 0, BLANK(), ([Total Sales] - [Sales PY]) / [Sales PY])
After:
Growth =
VAR cur = [Total Sales]
VAR py = [Sales PY]
RETURN DIVIDE(cur - py, py)
The previous year measure is now evaluated once instead of three times, and DIVIDE handles zero safely.
25
What are paginated reports and when would you use them?
Paginated reports, built with Power BI Report Builder, are pixel-perfect, print-ready reports that can span many pages, such as invoices, statements or regulatory reports with long tables. They are ideal when users need exact layout, export to PDF or Excel, or detailed row-level listings. Interactive Power BI reports are better for exploration. Paginated reports can run in the Service with Pro, PPU or Fabric capacity.
26
A manager must see their whole reporting hierarchy, not just their own team. How do you build RLS for that?
I would flatten the employee hierarchy with PATH(Employee[EmployeeID], Employee[ManagerID]) into a path column, then in the role filter use PATHCONTAINS(Employee[Path], LOOKUPVALUE(Employee[EmployeeID], Employee[Email], USERPRINCIPALNAME())). Each manager then sees every employee below them at any depth. I would test with a few known hierarchies and check performance on a large employee table.
27
What is the difference between Power Query M and DAX?
M is the language of Power Query, used at refresh time to extract, clean and shape data before it enters the model, such as merging tables or splitting columns. DAX is used after data is loaded, to define measures, calculated columns and security that evaluate in filter context at query time. As a rule, do row-level shaping in M or the source and dynamic calculations in DAX.
28
What are subscriptions and data alerts in the Power BI Service?
Subscriptions email a snapshot of a report page or dashboard to users on a schedule, or after data refresh, with a link to the live content. Data alerts notify users when a value on a dashboard card, KPI or gauge tile crosses a threshold, such as daily sales below a target. Paginated reports support subscriptions with attachments like PDF or Excel. Power Automate can extend alerts into workflows.
29
Write a measure that counts new customers in a period.
New Customers =
VAR minDate = MIN('Date'[Date])
RETURN
COUNTROWS(
FILTER(
VALUES(Sales[CustomerID]),
CALCULATE(MIN(Sales[OrderDate]), REMOVEFILTERS('Date')) >= minDate
)
)
A customer is new if their first ever order falls in the current period.
30
A YTD measure returns blank for future months on a chart. Users want the line to stop at today. How?
The issue is the opposite for many teams: YTD repeats the last value for future months. I would add a condition so the measure returns BLANK when the period starts after the last date with data, for example IF(MIN('Date'[Date]) > [Last Sales Date], BLANK(), TOTALYTD(...)). Alternatively add a column flagging dates up to today in the date table and filter the visual on it.
Use sufficient colour contrast and do not rely on colour alone, for example add icons or labels to red and green. Set alt text on visuals, a logical tab order in the selection pane, clear titles and readable font sizes. Avoid tiny text and very dense pages. Power BI supports screen readers and keyboard navigation, and high-contrast themes help users with low vision.
32
How do you control how visuals interact with each other?
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.
33
Your workspace has grown to 150 items and nobody knows which reports are used. How do you clean it up?
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.
34
How do you create a fiscal year column starting in April?
Fiscal Year =
VAR m = MONTH('Date'[Date])
VAR y = YEAR('Date'[Date])
RETURN
"FY " & IF(m >= 4, y, y - 1) & "-" & RIGHT(IF(m >= 4, y + 1, y), 2)
For April 2026 this returns FY 2026-27, which matches the Indian financial year. Add a fiscal month number column for sorting too.
35
How do you handle errors in Power Query without failing the whole refresh?
Use Keep Errors on a copy of the query to inspect the bad rows, then fix the cause, such as wrong data types or invalid dates. Replace Errors can substitute a value, and in M try ... otherwise catches errors per value:
= Table.AddColumn(Source, "AmountNum", each try Number.From([Amount]) otherwise null, type nullable number)
Log error rows to a separate query so they can be reviewed rather than silently dropped.
36
What is Copilot in Power BI and what should you watch out for?
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.
Which companies hire Power BI professionals in Kochi?
Companies with large offices in Kochi include EY. Use their company pages below to practise employer-specific sets.
Are Power BI interviews in Kochi different from other cities?
The questions depend more on the company than the city. Kochi's mix of employers decides the style: Testing and data roles are common in its service and product teams
How do I find Power BI jobs in Kochi?
Shortlist companies with Kochi offices, keep your CV focused on Power BI projects, apply on company career pages and job portals with the Kochi filter, and practise the questions on this page before each interview.