Power BI is Microsoft’s business analytics service, which lets you:
- Connect to a wide variety of data sources (Excel, SQL, Azure, web APIs, etc.)
- Transform and model that data
- Visualize it in interactive reports and dashboards
- Share insights across your organization via the cloud
Power BI consists of:
- Power BI Desktop (report authoring tool)
- Power BI Service (cloud platform for sharing)
- Power BI Mobile (iOS/Android app to consume reports)
Power BI’s usefulness stems from several core capabilities:
- Ease of Use: A drag-and-drop canvas in Desktop—no manual coding is required to build visuals.
- Broad Connectivity: Over hundreds of built-in connectors (SQL, Excel, Dynamics, Salesforce, Azure, etc.).
- Fast In-Memory Engine: The VertiPaq xVelocity engine compresses data and executes calculations very quickly.
- Real-Time / DirectQuery: Supports live connections so that your reports can reflect up-to-the-minute data.
- Collaboration & Sharing: Publish reports to Power BI Service, set up workspaces, dashboards, and control permissions.
Example (no code required):
Imagine loading a 10 million-row sales table into Power BI Desktop. VertiPaq can compress that into just a few hundred MB, and running DAX measures like
TotalSales = SUM(Sales[Amount])
returns almost instantly.
Business Intelligence (BI) refers to the processes, tools, and techniques that transform raw data into meaningful insights for better decision-making. Key phases include:
- Data Ingestion/ETL: Extract, Transform, Load from operational systems into a data warehouse or data model.
- Data Modeling: Build relationships, hierarchies, and calculations (e.g., with DAX).
- Visualization & Reporting: Create dashboards and interactive reports to surface KPIs.
- Distribution & Collaboration: Share reports/dashboards securely with stakeholders.
No code snippet needed—it’s a conceptual workflow.
Power BI is effective because it combines:
- Integration with Microsoft Ecosystem: Seamless connectivity with Excel, Azure services, SQL Server, Azure Synapse, and Office 365.
- In-Memory Compression (VertiPaq): Columnar storage and compression make large datasets manageable.
- Rich Visuals + Custom Visuals Marketplace: Hundreds of built-in chart types + thousands more from AppSource.
- AI & ML Features: AI visuals (Key Influencers, Decomposition Tree) and integration with Azure Cognitive Services for auto-insights.
- Governance & Security: Row-Level Security (RLS), Azure AD integration, sensitivity labels, data lineage.
No code snippet required; this is high-level functionality.
DAX (Data Analysis Expressions) is Power BI’s formula language. It lets you create:
- Measures (calculations evaluated at query time),
- Calculated Columns, and
- Calculated Tables.
DAX is built around two core contexts: Row Context (for calculated columns) and Filter Context (for measures).
Example 5.1 – Simple DAX measure:
TotalSales = SUM(Sales[Amount])
Example 5.2 – Using CALCULATE vs. FILTER:
-- Inefficient: uses FILTER() which iterates row by row
TotalSalesWest_Filter =
CALCULATE(
SUM(Sales[Amount]),
FILTER(
Sales,
Sales[Region] = "West"
)
)
-- Efficient: directly pass the filter to CALCULATE()
TotalSalesWest =
CALCULATE(
SUM(Sales[Amount]),
Sales[Region] = "West"
)
Example 5.3 – Using variables (VAR) for readability and performance:
SalesGrowthPct =
VAR CurrentYearSales =
CALCULATE(
SUM(Sales[Amount]),
YEAR(Sales[Date]) = 2025
)
VAR PriorYearSales =
CALCULATE(
SUM(Sales[Amount]),
YEAR(Sales[Date]) = 2024
)
RETURN
DIVIDE(
CurrentYearSales - PriorYearSales,
PriorYearSales,
0
)
Power BI is built on several core components:
- Power Query (M): Data ingestion & transformation.
- Power Pivot (VertiPaq xVelocity): In-memory modeling & DAX calculations.
- Report View: Design interactive visuals.
- Power BI Desktop: Authoring environment combining Power Query, Power Pivot, and visuals.
- Power BI Service: Cloud service (app.powerbi.com) for sharing, scheduling refresh, collaboration.
- Power BI Mobile: Native iOS/Android app to consume reports.
- Power BI Report Server: On-premises server to host paginated and interactive reports.
M‐Code Example (Power Query snippet):
let
Source = Sql.Database("MyServerName", "SalesDB"),
SalesTable = Source{[Schema="dbo",Item="Sales"]}[Data],
#"Filtered Rows" = Table.SelectRows(SalesTable, each [Region] = "West"),
#"Removed Other Columns" = Table.SelectColumns(#"Filtered Rows", {"Date", "Amount", "ProductID", "CustomerID"})
in
#"Removed Other Columns"
This M snippet shows connecting to a SQL Server source, filtering to “West,” and selecting only certain columns before loading to the model.
- Power BI Desktop (Free): Author interactive reports locally (.pbix files). No sharing.
- Power BI Pro: Includes Desktop + sharing to the Power BI Service. Per-user license—each consumer needs Pro to view shared content. Collaboration: App workspaces, dashboards, app publishing.
- Power BI Premium: Dedicated compute/memory in Azure. Larger dataset limits (400 GB+). Users without Pro can view reports if published to a Premium capacity. Advanced features: paginated reports, AI, dataflows.
No code snippet required; it’s license/feature enumeration.
- Report View: Drag visuals onto a canvas, build pages, configure formatting and interactions.
- Data View (Table View): Inspect loaded tables and columns after Power Query has run; create calculated columns.
- Model View: Visual diagram of tables, relationships, and cardinalities; drag-and-drop to create/edit relationships.
No DAX or M code needed; this is UI description.
A Power BI dashboard is a single-page “canvas” in the Power BI Service that shows tiles (snapshot visuals) pinned from one or more reports. Key points:
- Tiles: Static but clickable to navigate back to the underlying report.
- Widgets: KPI cards, images, text boxes, video, Power Apps.
- Real-Time Tiles: Can show streaming data (e.g., from Azure Stream Analytics).
No code snippet needed; dashboards are primarily a visual construct.
Note: Content Packs have been replaced by Apps in Power BI Service, but historically:
- Service Vendor Content Packs: Prebuilt dashboards & datasets from services like Google Analytics, Salesforce, etc.
- Organization Content Packs: Internally curated—bundles of reports, datasets, and dashboards that your organization shares.
Conceptual JSON Example (illustration):
{
"name": "Sales Insights Content Pack",
"description": "Contains Sales dataset, reports for Sales Overview, Product Analysis, Dashboard with KPIs",
"components": [
{
"type": "dataset",
"source": "Azure SQL Database",
"schema": { /* table definitions, relationships */ }
},
{
"type": "report",
"file": "SalesOverview.pbix"
},
{
"type": "dashboard",
"tiles": [
{ "report": "SalesOverview.pbix", "visual": "TotalSalesCard" },
{ "report": "ProductAnalysis.pbix", "visual": "TopProductsChart" }
]
}
]
}
That JSON is a conceptual illustration of how a “Content Pack” might bundle multiple artifacts (dataset, report files, dashboard definitions).
Power Pivot is the in-memory data modeling engine embedded in Power BI Desktop (and Excel’s Power Pivot). Key points:
- VertiPaq xVelocity Engine: Uses columnar storage and compression to store large tables in memory efficiently.
- DAX Calculations: Enables creation of measures, calculated columns, and calculated tables.
- Relationships: Define relationships between tables—supports single or bidirectional cross-filtering.
- Data Model: Once imported, data resides in a compressed, optimized model for fast querying during report rendering.
Power BI integrates tightly with Microsoft ecosystems (Excel, Azure, Office 365) and uses the VertiPaq in-memory engine. Tableau is vendor-agnostic, focusing on drag-and-drop visual analytics. Key differences:
- Cost & Licensing: Power BI often costs less at scale for Microsoft 365 organizations; Tableau licensing can be more expensive.
- Integration: Power BI’s native integration with Excel, Azure Synapse, and other Microsoft services is deeper. Tableau connects broadly but requires separate connectors.
- AI/ML Features: Power BI has built-in AI visuals and Azure Cognitive Services integration; Tableau’s Einstein Discovery (Salesforce) is separate.
- Custom Visuals vs Extensions: Power BI has a marketplace for custom visuals (AppSource). Tableau uses community extensions or the Tableau SDK to build custom viz.
- On-Premises vs Cloud: Power BI offers Power BI Report Server for on-premises; Tableau Server is a separate product requiring its own infrastructure.
In Power BI Desktop’s Model view, you visually connect tables by dragging a field from one table to a matching field in another. Each relationship has:
- Cardinality: One-to-One, One-to-Many (Most common), Many-to-One, Many-to-Many.
- Cross-Filter Direction: Single (default: from Lookup to Fact) or Both (bidirectional cross-filtering).
- Active/Inactive: Only one active relationship per pair of tables; others can be inactive until explicitly used in DAX.
- Security Option: You can assume referential integrity where applicable to improve query performance.
Once relationships are set, Power BI uses them to propagate filters and enable DAX calculations across tables.
- Bar/Column Charts: Compare categorical data or time series.
- Line/Area Charts: Show trends over time (continuous data).
- Pie/Donut Charts: Display part-to-whole relationships (limited categories).
- Scatter/Bubble Charts: Show correlations between two measures (size can be third measure).
- Map Visuals: Plot data geographically (Bubble Map, Filled Map, ArcGIS, Azure Maps).
- Card/KPI: Display single-value metrics (e.g., total sales, percentage growth) with optional trend line.
- Matrix/Table: Tabular representation of data with drill-down, conditional formatting, and subtotals.
- Gauge: Display progress toward a target or goal (e.g., 65% of quota).
- Custom Visuals: Import custom visuals (Sankey, Heatmap, Tornado, Bulletin Chart) from AppSource or external sources.
Power BI Service refers to the cloud-based SaaS platform accessible at app.powerbi.com
. It provides:
- Workspaces: Logical containers for datasets, reports, dashboards, and dataflows.
- Sharing & Collaboration: Publish reports, create dashboards, share with colleagues, embed reports in SharePoint/Teams.
- Data Refresh: Schedule refresh for imported datasets, configure gateways for on-premises sources.
- Row-Level Security (RLS): Define security roles to restrict data access for specific users/groups.
- Apps: Package multiple dashboards/reports into a single app for distribution across the organization.
- Admin Portal: Tenant-level settings, capacity management, usage metrics, compliance settings.
In 2025, enhancements include Premium Gen2 capacities (improved performance/cost), AI-powered insights, and tighter integration with Azure Synapse Analytics.
- Import Mode: Data is imported into the in-memory VertiPaq engine; requires scheduled refresh for updates.
- DirectQuery: Live connection to source (SQL Server, Azure SQL DB, Azure Synapse, Snowflake, etc.); queries run on the source when visuals render.
- Live Connection to SSAS: Connect directly to SQL Server Analysis Services (Tabular or Multidimensional) without importing data.
- Composite Models: Combine Import and DirectQuery tables in the same model; as of 2025, supports many sources (Snowflake, Databricks, BigQuery).
Import Mode: Data is stored in the VertiPaq xVelocity in-memory engine, compressed and kept within the PBIX file locally, and in Microsoft’s Azure-managed infrastructure once published to Power BI Service.
DirectQuery / Live Connection: Data remains in the original source (e.g., SQL Server, Azure Synapse, SSAS, Snowflake). Every visual query is sent back to the source at runtime.
Power BI Premium: In Premium capacities, imported datasets reside in dedicated compute resources in Azure, enabling larger models and incremental refresh.
Custom visuals are user-imported visuals built with the Power BI Visuals SDK (TypeScript/HTML). They can be:
- Downloaded from Microsoft AppSource (certified or uncertified visuals like Sankey, Radar, Heatmap).
- Developed by organizations for specialized needs (e.g., KPI Indicator, Custom Timeline).
Each custom visual runs within a secure sandbox environment. Administrators can allow or block specific custom visuals at the tenant level. In 2025, custom visuals support features like drill-down, bookmarks, and dynamic formatting.
Yes. In Power Query Editor, you connect to any SQL database (SQL Server, Azure SQL Database) via the “SQL Server” connector. Under “Advanced Options,” you can write a native SQL statement. If you supply a SQL query, Power Query will send it directly to the server (query folding applies). You can also shape data using the UI or M—filter, group, merge—while letting Power Query push transformations back to the source for better performance.
The typical Power BI workflow encompasses:
- Connect & Transform (Power Query): Use M queries to extract, transform, and load data from on-premises or cloud sources.
- Model (Power Pivot): Define relationships, create calculated columns/measures with DAX, and optimize storage in the VertiPaq engine.
- Visualize (Report View): Build interactive report pages with visuals, slicers, filters, and bookmarks in Power BI Desktop.
- Publish (Power BI Desktop → Service): Upload PBIX to Power BI Service; manage dataset settings, schedule refresh, configure RLS.
- Share & Collaborate: Create dashboards, apps, or embed reports in SharePoint/Teams. Set up permissions, alerts, and subscriptions.
- Consume (Web & Mobile): End users view reports/dashboards in the Power BI Service or Mobile Apps. They can interact with visuals, ask questions using Natural Language Queries, and export data.
Power Map (now known as “Map” in Power BI) is a 3D geospatial data visualization tool. It plots data points on a globe or map surface based on latitude/longitude or location fields. Features include:
- 3D Tours: Visualize data changes over time with animated tours.
- Heatmaps & Clusters: Aggregate data geographically to identify hotspots.
- Layers: Add multiple map layers (e.g., bubble, filled) and switch between them.
In Power BI Desktop, “Map” and “Filled Map” visuals leverage Bing Maps. As of 2025, Power BI also supports Azure Maps with custom tile layers and geospatial queries for advanced map-based analytics.
By default, relationships filter from the lookup table (one side) to the fact table (many side). Bidirectional cross-filtering allows filters to propagate in both directions across a relationship. This is useful for:
- Many-to-many scenarios without a bridge table when using composite models.
- Sparkline or detail visuals that need to filter parent tables based on child selections.
However, enabling bidirectional filtering can introduce ambiguous filter paths and performance overhead. In 2025, Microsoft introduced “Composite Models on Power BI datasets and Azure Analysis Services” to better manage bidirectional filtering with explicit role-based access and selective filter propagation.
xVelocity (formerly called VertiPaq) is Power Pivot’s columnar, in-memory compression engine. Key aspects:
- Columnar Storage: Stores data column by column instead of row by row, enabling better compression ratios.
- Compression: Uses dictionary encoding and run-length encoding to compress large tables (millions of rows) into a fraction of their original size in memory.
- In-Memory Calculations: During query time, only relevant column segments are loaded into memory, speeding up DAX calculations.
- Scalability: Handles large datasets efficiently—Premium Gen2 further optimizes cache management and dynamic partitioning.
- Data Connectivity: Power BI Desktop supports native connectors to modern cloud sources (Azure Synapse, Snowflake, Databricks), whereas Power Pivot is limited to Excel-based sources and on-premises SQL.
- Model View Interface: Power BI has a fully visual Model view—drag-drop relationships, view table diagrams side by side. Power Pivot’s interface is more spreadsheet-like (tabs with table previews).
- Composite Models: Power BI allows combining Import and DirectQuery tables in one model; Power Pivot only supports imported data.
- Row-Level Security: Power BI Desktop lets you define RLS roles natively; in Power Pivot, RLS must be handled in SSAS or via Excel Services workarounds.
- Sharing & Reuse: Power BI uses dataflows and shared datasets for reuse across multiple reports. Power Pivot models reside in individual Excel workbooks—no central reuse mechanism.
“Get Data” is the entry point in Power BI Desktop’s Home ribbon. It provides a unified interface to import or connect to data from:
- Files (Excel, CSV, JSON, XML, PDF)
- Databases (SQL Server, Azure SQL Database, MySQL, PostgreSQL, etc.)
- Online Services (SharePoint, Salesforce, Google Analytics, Facebook, etc.)
- Azure (Blob Storage, Data Lake, Synapse, Databricks)
- Other Sources (ODBC, web APIs, R, Python scripts, etc.)
Behind the scenes, Get Data uses Power Query (M) to establish connections, preview data, and apply transformations. In 2025, Microsoft added AI-driven connector recommendations in the “Get Data” dialog.
Query folding is the process by which Power Query translates transformation steps (filter, group, join, etc.) into native queries (e.g., SQL) that run on the data source. Benefits:
- Pushes data operations to the source engine—reduces data transferred to Power BI.
- Improves performance by leveraging the source system’s compute (e.g., SQL Server’s indexes).
- Ensures efficient refresh—only relevant data is pulled into memory.
Not all steps fold—custom columns or certain transformations may break folding. You can check “View Native Query” in Power Query to verify. As of 2025, more connectors (Azure Data Explorer, Databricks) support partial or full folding.
A many-to-many relationship occurs when two tables can have multiple matching rows on both sides (e.g., Students ↔ Courses). Traditionally, a bridging table resolves this. Power BI supports:
- Bridge Table Method: Create a third table (e.g., Enrollment) linking StudentID ↔ CourseID, then relate Bridge → Student and Bridge → Course as one-to-many.
- Native Many-to-Many: As of Power BI Desktop 2020+, you can directly define a many-to-many relationship between tables if you enable bidirectional cross-filtering. Power BI will auto-manage the intermediate storage, though careful design is needed to avoid ambiguous filtering paths.
In 2025, Power BI composite models allow mixing Import and DirectQuery tables with many-to-many relationships, using calculated tables or DAX to handle more complex scenarios.
Power Map (Map visuals) leverage Bing Maps under the hood. Any table containing location fields (latitude, longitude, address, city, state, country) can be plotted. Specifically:
- CSV, Excel, SQL Server, Azure SQL, Azure Data Lake, SharePoint Lists, and any source supported by Power Query that provides location data.
- Custom tile layers from services like Mapbox, ArcGIS; as of 2025, also supports Azure Maps with vector tile layers for advanced geospatial analytics.
When you schedule a dataset refresh in Power BI Service:
- Imported Data: All imported tables (from files, databases, web, etc.) are re-queried based on the source. Scheduled refresh pulls updated data into the in-memory model.
- Dataflows: If using dataflows, the upstream Power Query transformations run first; then datasets refresh based on refreshed dataflow entities.
- DirectQuery & Live Connection: Visuals always query the source at runtime, so data is up-to-the-minute, assuming no caching is interfering.
- Incremental Refresh (Premium): Only new or changed partitions (e.g., last 90 days) are updated to reduce load.
A calculated column is a column you create in a table using a DAX expression. It’s evaluated row by row during model processing. You need a calculated column when:
- You want a static, row-level value that can be used in slicers, filters, or relationships (e.g., concatenated fields, category flags).
- The value cannot be derived at query time (for example, it’s used as a key to join two tables).
Example:
FullCustomerName = Customers[FirstName] & " " & Customers[LastName]
Overusing calculated columns can bloat memory; prefer measures if you only need dynamic calculations.
In Power BI Desktop, you can create a group by:
- Right-click a categorical field in the Fields pane (or within a visual) and choose “New group.”
- Select individual data points in a visual (e.g., bars in a bar chart) and click “Group.” Assign a group name—Power BI creates a new grouping column behind the scenes.
Alternatively, in Data view you can use DAX to create grouping logic via SWITCH
or BIN
functions. Groups help categorize data into buckets for analysis or filtering.
Z-order determines the layering order of visuals on a report page—that is, which visuals appear in front of or behind others. In Power BI Desktop:
- Each new visual is placed on top of older ones by default.
- You can change z-order under the “Format” pane by selecting “Bring forward” or “Send backward.”
- Z-order is important when visuals overlap (shapes, images, transparent visuals) to ensure correct display of pop-ups, buttons, and tooltips.
M (Power Query Formula Language) is the functional, case-sensitive language behind Power Query. It defines each step in your query’s Applied Steps. Key points:
- Uses
let…in
constructs, record, list, table, and function data types. - Enables data extraction, filtering, transformation, and loading via code (Advanced Editor).
- Power Query attempts query folding—pushing transformations to the source when possible.
- New connectors (Azure Synapse, Databricks, OneLake) continue to expand M’s capabilities in 2025.
SSRS (SQL Server Reporting Services) paginated reports can be migrated to:
- Power BI Report Server (On-premises): Upload your existing
.rdl
files directly if you have Premium licensing. This allows you to host paginated reports alongside interactive Power BI reports. - Power BI Service (Cloud): Use Power BI Report Builder (new RDL authoring tool) to create paginated reports and publish to a Premium workspace in Power BI Service. Data source connections (SQL Server, Oracle, etc.) remain valid.
- Interactive SSRS Dashboards: Rebuild SSRS dashboards in Power BI Desktop—connect to the same data sources, recreate visuals with DAX measures, and leverage Power BI’s modern visuals and drill-through capabilities.
Conclusion
We hope these 34 Power BI interview questions and answers have given you a solid understanding of the core concepts—ranging from introductory basics to advanced modeling techniques. By practicing these questions and exploring the code examples, you’ll be well prepared to impress in your next data analytics or BI-focused interview.
For a deeper dive, hands-on labs, and advanced tutorials, visit LogicMojo, where our expert-led courses and resources will help you master Power BI and other top data tools. Keep learning, keep exploring, and good luck!