Power BI is the dominant business intelligence tool in the Indian enterprise market, used by IT services giants and BFSI companies for regulatory reporting, business performance dashboards, and operational analytics. This guide covers DAX formulas, data modelling, and the Power BI interview questions you will face at Indian companies in 2026.
Power BI and BI analyst salary in India 2026
Power BI / Business Intelligence analyst salary India (2024-25):
Junior BI analyst (0-2 years): 4-12 LPA at IT services and mid-size companies. Mid-level BI developer (3-5 years): 12-28 LPA at product and consulting companies. Senior BI architect (5-8 years): 22-50 LPA.
Power BI skills are in demand at:
- Indian IT services companies with analytics practices (TCS, Infosys, Wipro analytics teams)
- BFSI companies (banks and insurance companies need BI dashboards for regulatory reporting and business performance tracking)
- Manufacturing and retail companies (supply chain analytics, sales performance dashboards)
- Indian arms of global consulting companies (Deloitte, PwC, Accenture analytics practices)
Power BI vs Tableau vs Looker:
- Power BI: dominant in Microsoft-stack companies and mid-market India; more affordable licensing; deep Excel/Azure integration
- Tableau: more common at large enterprises and US-headquartered companies; considered more visually polished; higher licensing cost
- Looker: used at data-mature companies (typically cloud-native or with large data teams); model-based (LookML); rarer in India
For the Indian job market: Power BI is the highest-priority skill. Tableau is a valuable second. Both on your resume is better than just one.
DAX fundamentals: calculated columns, measures, and CALCULATE
DAX (Data Analysis Expressions) interview questions:
1. What is DAX? DAX is the formula language used in Power BI, SSAS (SQL Server Analysis Services), and Excel Power Pivot. DAX formulas define calculated columns, measures, and calculated tables.
2. Calculated columns vs measures: Calculated column: computed row-by-row at data refresh time; stored in the model (takes up memory); available as a regular column for filtering and grouping. Example: Full Name = [First Name] & ' ' & [Last Name] Measure: computed at query time based on the filter context of the report; not stored; recalculates dynamically as filters and slicers change. Example: Total Sales = SUM(Sales[Amount]). Recommendation: use measures whenever possible; calculated columns should only be used when you need a column for filtering/slicing that cannot be computed as a measure.
3. The CALCULATE function (most important DAX function): CALCULATE(expression, filter1, filter2, ...): evaluates an expression in a modified filter context. Examples: - CALCULATE(SUM(Sales[Amount]), Sales[Region] = 'South') returns total sales for the South region only, regardless of what region is selected in slicers - CALCULATE(SUM(Sales[Amount]), DATEYTD(Calendar[Date])) returns year-to-date sales - CALCULATE(SUM(Sales[Amount]), ALL(Sales)) removes all filters from the Sales table; useful for calculating percentage of total
4. Time intelligence functions: DATEYTD, DATESYTD: year-to-date. SAMEPERIODLASTYEAR: same period in the prior year. DATEADD(dates, -1, YEAR): offset by time period. All time intelligence functions require a dedicated date/calendar table in the model marked as a Date Table.
Data modelling: star schema, relationships, and best practices
Power BI data modelling:
1. Star schema: A fact table (transactional data: Sales, Orders, Payments) in the centre surrounded by dimension tables (descriptive data: Customers, Products, Dates, Geography). Relationships: fact to dimension (many-to-one); the fact table holds foreign keys (CustomerID, ProductID, Date_ID) that reference the dimension tables' primary keys.
Why star schema for Power BI: DAX filter propagation follows the direction of the relationship (from dimension to fact by default). Star schema is optimised for this pattern; snowflake schema (normalised dimensions with multiple levels) requires bidirectional filters or additional DAX complexity.
2. Relationship types: Active relationship (solid line): the default; used by all DAX measures unless specified otherwise. Inactive relationship (dashed line): only activated with the USERELATIONSHIP() function inside CALCULATE. Use when you need multiple date relationships on a fact table (e.g., order date and ship date). Filter direction: single (default: dimension filters fact), bidirectional (dimension filters fact AND fact filters dimension; use sparingly; can cause ambiguity and performance issues).
3. Best practices for Power BI data modelling: - Use a dedicated date table (mark it as Date Table); never use order date columns directly for time intelligence - Remove unnecessary columns before loading data into Power BI (smaller model, faster queries) - Use integer surrogate keys for relationships (not text: integers are faster to compare) - Avoid calculated columns for aggregations (use measures instead) - Do not use bidirectional relationships unless absolutely necessary
Practise Power BI and data analyst interview questions with HireStepX's AI voice interviewer. Get scored feedback on your DAX explanations and data modelling reasoning. First 2 sessions free.
Practice freePower Query, row-level security, and report design
Power Query and report design:
1. Power Query (M Language): Power Query is the ETL (Extract, Transform, Load) layer in Power BI. All data shaping and transformation happens in Power Query before the data is loaded into the model.
Common Power Query operations:
- Remove columns, rows, duplicates
- Split columns (split email at @ to get domain)
- Merge queries (equivalent to SQL JOIN: combine two tables on a common key)
- Pivot and unpivot columns (reshape data from wide to tall format)
- Conditional columns (equivalent to CASE WHEN in SQL)
- Group by (equivalent to SQL GROUP BY)
M language: Power Query's underlying scripting language. Each transformation step generates M code visible in the Advanced Editor. For complex transformations not achievable via the UI, write M directly.
2. Row-level security (RLS): RLS restricts which rows a user can see in a Power BI report. Defined in Power BI Desktop: create roles with DAX filter expressions (e.g., [Sales Region] = USERPRINCIPALNAME()). Published to Power BI Service: assign users or Azure AD groups to roles. Use cases: regional managers see only their region's data, salespeople see only their own deals.
3. Report design best practices: - Choose the right visual: bar chart for comparing categories, line chart for trends over time, scatter chart for correlation, matrix for multi-dimensional summaries. Do not use pie charts for more than 4-5 slices. - Consistent colour palette: use your company's brand colours; apply conditional formatting sparingly for emphasis - Performance: too many visuals on one page slows load time; use bookmarks and buttons to toggle between views instead of adding more visuals
Frequently asked questions
Explore more