Ravindra BagaleCourses & study guides

31. Interview Questions Asked in MNC Interviews

31.8 Capgemini, Tech Mahindra, HCLTech and LTIMindtree

M72. Write DAX for the top 3 customers by sales.

Reported for: Capgemini [S22]

Top 3 Customers Sales =
CALCULATE([Total Sales],
    TOPN(3, ALL(Customer[Customer Name]), [Total Sales], DESC))

To show the three names in a visual, apply a Top N filter (Top 3 by Total Sales) on Customer Name, or use a rank measure like M18. TOPN can return more than 3 rows if values tie.

M73. How do you handle missing data in a report?

Reported for: Capgemini [S22] [S23]

First find it (Column quality/profile on the entire data set). Then decide per column: remove rows that are unusable (no Order ID), fill down for grouped exports, replace with a default only when the default is true (discount null → 0), and keep numeric measures such as delivery time as null so averages are not distorted. Label unknown dimension values "Unknown" so they are visible in the report (Module 7.5).

M74. Your PBIX will not publish. What could be the reasons?

Reported for: Capgemini [S22]

Common reasons: you are not signed in or lack a Pro/PPU licence, you don't have a Contributor-or-higher role in the target workspace, the file is over the size limit for the workspace's licence type, a workspace on a capacity you can't access, tenant settings that block publishing, network or proxy problems, or a report that already exists and is being replaced by someone without permission. Read the error message, check the licence and role, and reduce the model size if needed.

M75. What subscription options does Power BI offer?

Reported for: Capgemini [S22] · also Wipro [S17]

In the Service you can subscribe yourself or others to a report page, a dashboard or a paginated report, and receive e-mails with a snapshot and link on a schedule (daily, weekly, after data refresh). Paginated reports and newer features also allow attachments, and dynamic per-recipient subscriptions send each person their own filtered version (availability depends on licence/capacity). Data alerts on dashboard card/KPI/gauge tiles e-mail you when a value crosses a threshold (Module 25.8).

M76. What is the Decomposition Tree used for?

Reported for: Capgemini [S22] · also KPMG [S8]

It is an AI visual that breaks one measure down across several dimensions in any order the user chooses, and can pick the next split automatically ("High value" / "Low value"). Example: start with [Cancelled Orders], split by City → Store → Hour → Payment Mode to find where cancellations concentrate (for example late-night Cash on Delivery orders in one Nagpur store, in our fictional data).

M77. What is query folding, how do you check it, and why does it matter?

Reported for: Tech Mahindra [S24] · also HCLTech [S26]

Query folding means Power Query translates your steps into the source's language (SQL) so the database does the work and only the result is transferred. Check it by right-clicking a step: if View Native Query is enabled, that step folds. Newer versions also show folding indicators in Applied Steps. Benefits: faster refresh, less memory, and it is required for efficient incremental refresh. Steps like adding an Index column, some custom M functions or merging with a local Excel file can break folding, so put foldable steps first (Module 4.4).

M78. What refresh types exist, and when would you use incremental refresh?

Reported for: Tech Mahindra [S24] [S25]

Import models: manual/on-demand refresh, scheduled refresh and incremental refresh. Also: DirectQuery/Live (no data import, queries run live, with optional automatic page refresh), dashboard tile cache refresh, and refresh triggered through the REST API or Power Automate. Use incremental refresh when a large fact table (years of Blinkit orders) takes too long to refresh fully and older data does not change.

M79. Why do we need a calendar (Date) table?

Reported for: Tech Mahindra [S24]

A dedicated Date table gives a continuous range of dates with attributes (Year, Fiscal Year, Month, Week, Day Name, Holiday flag). It is required for reliable time intelligence (YTD, SAMEPERIODLASTYEAR), lets several fact tables share one calendar, allows custom fiscal years (April–March), and avoids the hidden auto date/time tables that bloat the model. Mark it with Mark as date table (Module 11.5).

M80. What is the difference between slicers and filters?

Reported for: Tech Mahindra [S24] · also LTIMindtree [S27] [S28]

Slicers are visuals on the canvas that users see and click; they can be synced across pages and styled as buttons, lists or dropdowns. Filters live in the Filters pane at visual, page or report level. They can be hidden or locked, and they support advanced conditions, Top N and measure filters. Use slicers for the few choices users change often (City, Month), and filters for fixed scope and advanced logic (Module 22.11).

M81. What is the difference between Import, DirectQuery and composite modes?

Reported for: HCLTech [S26] · also Wipro [S19], Infosys [S16], Accenture [S20], Mu Sigma [S30]

Import copies compressed data into the model: fastest, full DAX, but refreshed on a schedule. DirectQuery leaves data at the source and queries it on every interaction: current data, but slower and with limitations. Composite mixes both in one model (some tables Import, others DirectQuery, or Dual), for example imported dimensions and aggregation tables with a DirectQuery fact table. Live connection connects to an existing semantic model or Analysis Services, and you cannot change the model (Module 4.7).

M82. Explain context transition and dynamic segmentation.

Reported for: HCLTech [S26] · also Tech Mahindra [S24], Mu Sigma [S30] (context transition)

Context transition: when CALCULATE (or a measure reference, which has an implicit CALCULATE) runs inside a row context, the current row is turned into an equivalent filter context. In AVERAGEX(VALUES(Customer[Customer ID]), [Total Sales]), the measure is evaluated for each customer. Dynamic segmentation groups items by a measure that responds to filters, for example customers into "Low / Medium / High" spend bands for the selected city and month:

Customers High Spend =
COUNTROWS(FILTER(VALUES(Customer[Customer ID]), [Total Sales] >= 2000))

A disconnected Segments table (Band, Min, Max) makes the thresholds editable without changing DAX.

M83. How do you create and manage relationships between tables?

Reported for: LTIMindtree [S27] [S28] · also Deloitte [S1] (data modelling)

In Model view, drag the key from the dimension to the fact (DarkStore[Store ID] → Orders[Store ID]), or use Manage relationships. Check cardinality (one-to-many), cross-filter direction (single by default), and the active state. Keys must be the same data type, cleaned (trimmed, same case) and unique on the "one" side. Disable Autodetect if it creates wrong links, hide foreign key columns in the fact table, and keep one active path between any two tables.

Ravindra Bagale's Tip

He bagha, mitrano: A common mistake in scenario questions like "Your PBIX won't publish" is guessing one cause. List the likely causes in order (licence, workspace role, size, tenant settings) and say how you would check each one. Ekdum simple aahe, fakt savay lavun ghya.