Curated interview practice questions with answers. These are practice scenarios, not a verified list of past interview questions.
About HDFC Bank hiring for Power BI roles
HDFC Bank is one of India's largest private sector banks, offering retail banking, loans, cards, wholesale banking and digital banking. Its analytics, risk and technology teams work on credit decisions, customer analytics, fraud detection and digital channels. It hires for data analysts, credit and risk analysts, testers and technology roles.
For Power BI roles, this HDFC Bank practice set focuses most on Power BI Service, Sharing and Security (6), Power Query and Data Transformation (5), DAX Fundamentals (4), Data Modelling (4). It has 4 easy, 21 medium, 5 hard questions, so you can start easy and work up to the harder ones.
Company type
Banking & finance
Headquarters
Mumbai, India
Main India offices
Mumbai, Chennai, Bengaluru
HDFC Bank Power BI interview process
Online assessment (aptitude + domain)
Technical or functional interview
Managerial round
HR round
Typical pattern based on public candidate experiences. Rounds vary by role, team and year.
Solved for HDFC BankStart 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
Sales data has region codes, while targets use region names. How do you combine them?
I would create or import a region mapping table with code and name, clean both sides by trimming spaces and fixing case, then merge in Power Query or better, build a Region dimension table with both columns and relate sales by code and targets by name to it. Unmatched rows should be checked using a left anti join so missing mappings are fixed rather than silently dropped.
02
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.
03
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.
SUM aggregates a single column, such as SUM(Sales[Amount]). SUMX is an iterator: it evaluates an expression for each row of a table and then sums the results, such as SUMX(Sales, Sales[Qty] * Sales[Price]). Use SUMX when you need row-level calculations before aggregating. Other iterators include AVERAGEX, MAXX, COUNTX and RANKX.
05
How do you set up an app with different audiences?
In the workspace choose Create app or Update app, add the reports and dashboards, then in the Audience tab create audiences such as Sales Managers and Finance, choose which content each audience sees and grant access to the right Entra ID security groups. Publish the app and share the link. Remember RLS still controls rows inside reports; audiences only control which items are visible.
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.
07
A report must be embedded in a customer-facing web portal for users without Power BI licences. What approach do you take?
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.
Deployment pipelines move content through stages, typically Development, Test and Production workspaces. Creators deploy reports and semantic models from one stage to the next, compare differences, and use deployment rules to change data source connections or parameters for each stage. This supports controlled releases and testing before users see changes. They work alongside Git integration for version control in Fabric workspaces.
09
The total row of a table shows a different value than the sum of rows. Is this a bug?
Usually not. A measure's total is calculated in the total's own filter context, not by adding the visible rows. For non-additive measures like averages, distinct counts or ratios this differs from the row sum. If business wants the sum of rows, I write it explicitly with SUMX over the row values, for example SUMX(VALUES('Product'[Product]), [My Measure]).
10
How do you set up a custom function in Power Query to apply logic to many files?
Write a query for one file, turn the file path into a parameter, then right-click and Create Function. Or write it in M:
(path as text) as table =>
let
Src = Excel.Workbook(File.Contents(path), true),
Sheet = Src{[Item="Sales", Kind="Sheet"]}[Data]
in
Sheet
Then invoke it on a column of file paths with Add Column, Invoke Custom Function and expand the results.
11
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.
12
A measure works in a card but gives wrong results in a matrix with subtotals. How do you debug it?
I would test the measure at each level of the matrix using a table visual and check how filter context differs at the subtotal. Often logic uses SELECTEDVALUE or MAX, which return blank or misleading results when several values are visible. I would use ISINSCOPE to branch logic or SUMX over the grouping column for additive results, and validate with DAX Studio queries.
13
What is a calculated table and when would you use one?
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.
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.
15
Users want to analyse sales by both order date and delivery date in the same report. What do you do?
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.
16
The model is 9 GB and refresh times out. What would you do?
I would analyse it with VertiPaq Analyzer to find the largest columns and tables, remove unused columns, split or round datetime columns, replace text keys with integer keys and drop history users do not need. Then set up incremental refresh on large fact tables so only recent partitions reload. If needed, push heavy transformations upstream into the warehouse and consider Direct Lake on Fabric.
17
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.
18
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.
Product Rank =
IF(
ISINSCOPE('Product'[Product]),
RANKX(ALLSELECTED('Product'[Product]), [Total Sales], , DESC, DENSE)
)
ALLSELECTED ranks within the products visible after slicers, and ISINSCOPE hides the rank on total rows.
20
What are Import, DirectQuery and Live Connection modes?
Import loads a compressed copy of data into the in-memory VertiPaq engine, giving the fastest queries but requiring refresh. DirectQuery sends queries to the source at view time, so data is current but performance depends on the source and some DAX is limited. Live Connection connects a report to an existing semantic model or Analysis Services model without its own model. Composite models mix Import and DirectQuery tables.
21
What is the difference between ALL, ALLEXCEPT and REMOVEFILTERS?
ALL returns all rows of a table or column ignoring filters, and as a CALCULATE argument it removes filters, useful for percent of total. REMOVEFILTERS does the same removal but only as a CALCULATE modifier and reads more clearly. ALLEXCEPT removes all filters from a table except the listed columns, such as keeping the Year filter while removing others. ALLSELECTED keeps filters from outside the visual, like slicers.
22
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.
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.
24
How do you configure incremental refresh on a sales table?
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.
25
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.
26
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.
27
A stakeholder insists on a 3D pie chart with 12 slices. How do you handle it?
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.
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.
29
What is the grain of a fact table and why does it matter?
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.
30
What are endorsement, sensitivity labels and lineage view?
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.
Tips to crack the HDFC Bank Power BI interview
Learn Indian banking basics like CASA, NPAs, credit scores, KYC and RBI regulations for domain questions.
Revise SQL, Excel and basic statistics for analytics and risk roles with banking examples.
Understand UPI, net banking and mobile banking flows if applying for digital channel testing roles.
Keep a one-minute story ready for every project on your CV: problem, your part, tools, result.
Practise the hard questions on this page aloud; HDFC Bank interviewers usually ask follow-ups on your first answer.
Frequently asked questions
How many rounds are there in the HDFC Bank Power BI interview?
Candidates usually go through 4 stages: Online assessment (aptitude + domain); Technical or functional interview; Managerial round; HR round. The exact rounds change with the role, team, location and your experience, so confirm the process with the recruiter.
Which topics should I prepare for the HDFC Bank Power BI interview?
This practice set leans on Power BI Service, Sharing and Security (6), Power Query and Data Transformation (5), DAX Fundamentals (4), Data Modelling (4). Revise those first, then practise explaining one or two of your own projects end to end, because most HDFC Bank interviewers ask you to walk through real work.
Are these the exact questions asked at HDFC Bank?
No. These are curated practice questions that match the skills and difficulty usually tested in banking & finance interviews like HDFC Bank's. They are not a leaked or verified list of past questions.
Where does HDFC Bank hire Power BI professionals in India?
HDFC Bank has large teams in Mumbai, Chennai, Bengaluru. Openings and locations change often, so check the HDFC Bank careers page and filter by city and experience.