Module 6 — High-Value Exam Extras
This module revisits Power BI features that experienced analysts may not use every day but can still appear in PL-300 scenarios. Each topic is explained as a working concept—not just an exam shortcut—so you can distinguish when paginated reports, dashboards and tiles, AI visuals, calculation groups, DirectLake, DAX query view and advanced analytics are actually appropriate.
Paginated reports & visual calculations
Standard Power BI reports are optimized for interactive exploration, but some requirements are primarily about precise printed layout, complete multi-page output or calculations that depend on the structure of a visual. Paginated reports and visual calculations address these different needs.
Paginated reports
A paginated report is designed for highly formatted, page-oriented output. It uses the RDL report format and is commonly authored with Power BI Report Builder. Unlike a normal interactive report canvas, a paginated report is built with explicit control over page size, headers, footers, tables, grouping, page breaks and print layout.
Paginated reports are appropriate for scenarios such as invoices, statements, regulatory extracts, operational lists and reports where users must export or print every row across many pages with repeating headers. The defining requirement is not simply “the dataset has many rows”; it is that the output needs pixel-precise, print-friendly pagination.
Visual calculations
A visual calculation is a DAX calculation evaluated over the data structure produced by a visual. This makes it convenient for calculations such as running totals, moving averages or comparisons that depend on the visual's rows and columns.
Because visual calculations belong to the visual layer, they are not the same as reusable semantic-model measures. If a calculation represents governed business logic that should behave consistently across many reports and visuals, a model measure—or sometimes a calculation group—is usually the better design.
Running Sales =
RUNNINGSUM ( [Sales Amount] )
[Sales Amount]refers to a value already present in the visual's data structure.RUNNINGSUMaccumulates that value along the visual's default axis up to the current position.- Because this is a visual calculation, the expression is stored on the visual rather than as a reusable semantic-model measure.
- The visual's ordering and hierarchy affect how the running result is evaluated. Additional visual-calculation arguments can control axis, ordering and reset behavior when needed.
Dashboards & tiles
A Power BI dashboard is a single-page canvas that exists in the Power BI service. It is intended for at-a-glance monitoring and can bring together information from supported report visuals or other tile sources. A dashboard is not the same thing as a report page in Power BI Desktop.
Tiles
The individual objects displayed on a dashboard are called tiles. A tile can be created by pinning a visual from a report or from supported Q&A content. Dashboards can also contain supported standalone tile types such as text boxes, images, web content, video or streaming-data tiles depending on the service experience.
When a report visual is pinned, the tile acts as a dashboard representation of that source visual. Selecting the tile commonly opens the underlying report or source content for deeper exploration.
Dashboard vs report
| Dashboard | Report |
|---|---|
| Single-page Service canvas. | Can contain multiple interactive pages. |
| Built from tiles. | Built from report visuals connected to a semantic model. |
| Strong for monitoring and overview. | Strong for detailed analysis, slicing, drill and exploration. |
| Created/managed in the Power BI service. | Commonly authored in Desktop or the Service. |
A pinned tile and its source report are related but not identical objects. For example, the tile can retain the visual type that was originally pinned even if the source report visual is later changed to another type, while refreshed data can still update what the dashboard shows.
AI visuals, Q&A, narrative & Copilot
Power BI's AI-assisted features help users investigate drivers, decompose measures, ask natural-language questions and generate narratives or report content. These features overlap in purpose, so exam questions often test whether you can match the feature to the analytical task.
Key influencers
The Key influencers visual analyzes a target outcome and ranks the factors that are most strongly associated with that outcome. The target might be categorical—such as whether a customer churned—or numeric. The visual helps answer questions such as “which attributes are associated with higher satisfaction?” or “what factors are associated with churn?”
Key influencers identifies statistical associations in the available data; it should not automatically be interpreted as proving that an influencer caused the outcome.
Decomposition tree
A decomposition tree starts with a measure and lets the user break it down across multiple explanatory dimensions. Users can choose the next split manually or use AI-assisted high/low splits. It is ideal for interactive root-cause-style exploration such as Total Profit → Region → Product Category → Sales Channel.
Q&A, narratives and Copilot
- Q&A allows the user to type a natural-language question such as “sales by region this year” and Power BI generates an appropriate result or visual based on the semantic model.
- Narrative visuals generate textual descriptions of important report insights. In current Power BI experiences, Copilot can assist with narrative summarization and report creation where the required tenant/capacity features are available.
- Copilot can help suggest content for a new report page, create report content from prompts, and summarize the underlying semantic model. Good model names, descriptions and business terminology improve the quality of AI-assisted experiences.
Semi-additive measures, calculation groups & DAX queries
Not every measure can be summed meaningfully across every dimension. Semi-additive measures are additive across some dimensions but require special treatment across others—most commonly time.
Balances, inventory levels and headcount snapshots are classic examples. It is reasonable to sum the balances of many accounts on the same date, but summing Monday's balance + Tuesday's balance + Wednesday's balance does not produce a meaningful “weekly balance.” Across time, you normally want the opening, closing, minimum, maximum or average snapshot instead.
Closing-balance reasoning
A closing-balance measure should identify the last applicable date in the current reporting period and return the balance for that snapshot. In sparse datasets, the last date in the Date table can differ from the last date that actually has fact data, so robust logic may need to locate the latest data-bearing date.
Calculation groups
A calculation group lets one reusable transformation apply to many measures. Instead of creating separate measures such as Sales YTD, Profit YTD, Quantity YTD, Sales PY, Profit PY and so on, you can define calculation items such as Current, YTD and Prior Year and apply them to whichever measure is currently selected.
SELECTEDMEASURE() represents the measure being transformed by the calculation item. Calculation groups reduce measure proliferation and centralize recurring logic, but they add semantic-model complexity and are unnecessary when only one isolated measure needs a special calculation.
DAX query view
DAX query view is an authoring and inspection surface where you can run DAX queries against the model. The keyword EVALUATE returns a table expression, while functions such as SUMMARIZECOLUMNS() can group and project model results. This is different from defining a model measure: a DAX query returns a result set for inspection or analysis rather than creating a reusable report object.
Closing Balance =
VAR LastDateWithData =
MAXX (
FILTER (
VALUES ( 'Date'[Date] ),
CALCULATE ( COUNTROWS ( Balance ) ) > 0
),
'Date'[Date]
)
RETURN
CALCULATE (
SUM ( Balance[BalanceAmount] ),
'Date'[Date] = LastDateWithData
)
VALUES('Date'[Date])returns the dates currently available in the report's date context.FILTERkeeps only dates for which the Balance fact table has at least one row. The innerCALCULATEturns the iterator's current date into filter context soCOUNTROWS(Balance)is tested date by date.MAXXreturns the latest date from that filtered set, giving the last date that actually contains balance data rather than simply the last date in the calendar.- The final
CALCULATEevaluates the balance amount only forLastDateWithData, while other current filters such as Account, Product or Region remain in effect.
// Example calculation item
CALCULATE (
SELECTEDMEASURE(),
DATESYTD ( 'Date'[Date] )
)
// DAX query example
EVALUATE
SUMMARIZECOLUMNS (
Product[Category],
"Sales", [Total Sales]
)
- In the calculation-item example,
SELECTEDMEASURE()is a placeholder for whichever model measure the calculation group is currently transforming. DATESYTD ( 'Date'[Date] )returns the year-to-date set of dates for the current date context.CALCULATEreevaluates the selected measure over that YTD date set, allowing the same calculation item to transform Sales, Profit, Quantity and other measures.- In the query example,
EVALUATEis a DAX query keyword that tells the engine to return the following table expression as the result set. SUMMARIZECOLUMNSgroups the result byProduct[Category]and adds a named expression"Sales"whose value is produced by[Total Sales]. This query is for inspection/output; it does not create a new model table.
Model properties & performance optimization
Power BI performance depends not only on DAX but also on how much data the model stores and how efficiently VertiPaq can encode it. Good model optimization starts by removing data the report does not need and by avoiding unnecessary detail.
VertiPaq is a columnar storage engine. It compresses repeated values very efficiently, so columns with relatively few distinct values usually compress well. High-cardinality columns—especially long text, unique transaction identifiers and precise timestamps—can consume much more memory because they contain many distinct values.
Practical model optimization
- Remove unused columns before load. A hidden column still occupies model memory; hiding only changes the authoring experience.
- Remove rows that are outside the analytical requirement when it is safe to do so.
- Reduce unnecessary granularity. If the report only analyzes dates, storing second-level timestamps may add cardinality without analytical value.
- Use appropriate data types and precision. Smaller, simpler representations can improve compression.
- Set meaningful names, formatting and data categories so report authors use fields correctly.
- For numeric identifiers such as Product ID, use Don't summarize when summing the number has no business meaning.
Diagnosing performance
Performance Analyzer in Power BI Desktop records how long visuals take to execute, including DAX query time and rendering-related activity. Use it when you need to identify which report visuals are slow before deciding how to optimize them.
DAX query view allows you to write and run DAX queries against the model. It is useful for inspecting model results and investigating calculations. A slow report can come from inefficient measures, poor relationship design, too many visuals, source latency in DirectQuery, or an oversized model—not just from one DAX formula.
Storage modes & connections
Before you transform or model anything, you need to decide where Power BI will read the data from and how that data will be accessed at report time. Storage mode affects performance, freshness, refresh behavior, source-system load, and which Power BI features are available.
In Import mode, Power BI copies data into the semantic model and stores it in the VertiPaq engine. Report visuals query this in-memory model rather than repeatedly querying the source, so interaction is usually very fast. The trade-off is that source changes are not visible until the semantic model is refreshed. Import is therefore a strong default when the data volume fits comfortably in the model and the required freshness can be achieved with scheduled or on-demand refresh.
In DirectQuery mode, the detailed data remains in the external source. When a user interacts with a report, Power BI generates queries that are sent to that source. This can reduce the amount of data stored in Power BI and can expose more recent source data, but report performance now depends heavily on source performance, network latency, query design, relationships, and the number of visuals on a page.
DirectLake is designed for Microsoft Fabric data stored in OneLake. It allows a semantic model to query lake data without using the traditional Import refresh process or behaving exactly like DirectQuery. It is important to recognize DirectLake as its own storage mode rather than treating it as another name for DirectQuery.
Connections, credentials and shared semantic models
- A shared semantic model lets report authors reuse an existing governed model, including relationships, measures and security, instead of rebuilding the same logic in another PBIX file. A report built this way is often called a thin report.
- Credentials prove that Power BI is allowed to access a source. A gateway provides the network path between the Power BI service and supported on-premises sources. A gateway can be online while the stored credentials are still invalid.
- Privacy levels—Public, Organizational and Private—help Power Query control how data from different sources can be combined. Privacy level is about source isolation during data preparation; it is not row-level security.
- Data source settings are where you commonly change credentials, privacy settings, server/database details and related connection configuration.
Analyze features, reference lines, error bars, forecasting, anomalies & clustering
Power BI contains analytical features that help users move beyond displaying values and begin identifying patterns, unusual behavior, uncertainty and possible future movement. Each feature answers a different type of question.
Reference and analytical lines
A constant/reference line displays a fixed benchmark such as a target of 95%. An average line is calculated from the data shown in the visual. Other supported analytical lines can represent minimum, maximum, median or percentile-type reference information depending on the visual.
Forecasting, anomalies and error bars
- Forecasting uses historical time-series patterns to estimate future values and can display an uncertainty interval. It is appropriate when the question is “what might happen next?” rather than “which historical point is unusual?”
- Anomaly detection identifies unexpected spikes or dips in supported line-chart scenarios. It is intended to highlight observations that differ from the expected pattern in existing data.
- Error bars communicate uncertainty or variation around a value. They can help viewers understand that a point estimate has a range rather than treating it as perfectly precise.
Grouping, binning and clustering
Grouping manually combines known discrete categories, such as placing several small product categories into “Other.” Binning places numeric or date values into ranges such as Age 20–29 or Sales 0–999. Clustering is different because Power BI uses patterns in numeric data to identify naturally similar groups of observations.
Analyze feature
The Analyze functionality can help explain increases, decreases or differences in a visual by examining other fields that may contribute to the observed change. It is an exploratory aid, not proof of causation.