Power BI / Basic: analytical and modeling foundations / Lesson 6
Visual context, filters and interactions
Make report selections and totals understandable by distinguishing filter scope, cross-highlighting, sorting and the question each visual answers.
On this page
Lesson goals
- Explain visual, page and report filter scope.
- Distinguish cross-filtering from cross-highlighting.
- Design clear selection and no-data acceptance cases.
Choose a visual for the question
A bar chart compares categories, a line chart emphasizes an ordered time trend and a card displays one contextual result. The chart type does not determine whether the metric is correct. Start with the analytical task and required precision: a table can be appropriate when exact small values matter, while a chart can reveal distribution. Avoid presenting a truncated or sorted subset as the entire population without a label. A top-category visual and a total card may intentionally cover different scopes, but the report must explain that difference so users do not infer a contradiction.
Trace the filter stack
A visual’s query context can combine report filters, page filters, visual filters, slicers and interactions with model relationship propagation. Hidden or synchronized selections can make a page seem inconsistent. The first record describes a synthetic filter stack whose expected revenue is50 for product A. It is not a GUI test. If a card still shows70, inspect whether the slicer interacts with it and whether the model path is valid before rewriting the measure. A filter pane label alone does not establish the actual included fact rows.
base fixture revenue:70
page selection: Product A
relationship: DimProduct -> FactSales active
card interaction: filtering enabled
expected selected revenue:50
The record lists assumptions for a future engine/UI check and captures no Power BI interaction.
Distinguish highlight from filter
Cross-filtering changes the included data for another visual; cross-highlighting can retain the total context while emphasizing a selected part where supported. A dimmed remainder is therefore not necessarily excluded from the visual’s total. Interaction behavior varies with visual type and author settings, so review every important pair deliberately. The second program compares a selected subset with the full fixture and prints both. It does not simulate rendering or highlight semantics; it supplies the two quantities a report designer must keep distinguishable when explaining a selected segment and the surrounding population.
revenue = {"A": 50, "B": 20}
selected = {"A"}
print(sum(value for product, value in revenue.items() if product in selected))
print(sum(revenue.values()))
50
70
50 is selected revenue and70 is the full fixture. The program performs no visual interaction.
Make ordering and labels honest
Month names sorted alphabetically do not create a chronological trend. Use a deliberate sort key and clarify date grain, currency, units and exclusions in titles or nearby context. Color should reinforce meaning rather than be the only carrier of status. A percentage card needs a denominator explanation, and a blank result should not look like a verified zero. Avoid decorative density that hides a critical filter or freshness label. Report clarity is part of analytical correctness because a mathematically correct value can still support a wrong decision when its context is invisible.
Review the reader journey
Define the initial state, one selection, multiple selections, clear/reset behavior and a no-matching-data case. Check whether the displayed context remains understandable after drill or navigation. Editing permissions are needed to change interaction settings; a consumer’s ability to select data is a different capability. This course clicks no GUI and opens no service report. Its subset program establishes exact synthetic totals only. Actual visual behavior, accessibility, persistence and model evaluation remain unexecuted checks, which should be recorded in a future authorized review instead of inferred from the presence of an interaction icon.
Common errors and fixes
A highlighted total is mistaken for a filtered total
- Why it happens
- The visual retained population context while emphasizing a subset.
- How to fix it
- Inspect interaction mode and explain selected versus whole values.
- Prevent it next time
- Test important visual pairs with a known small fixture.
Months appear in alphabetical order
- Why it happens
- Display labels were used without a chronological sort key.
- How to fix it
- Define and apply the intended month/year ordering.
- Prevent it next time
- Review category sorting as part of trend acceptance.
A hidden slicer changes an unexplained card
- Why it happens
- Selection state was not visible in the reader journey.
- How to fix it
- Expose meaningful context and a clear reset behavior.
- Prevent it next time
- Review synchronized, hidden and persistent selections explicitly.
Check your understanding
1. A card shows70 after Product A is selected. What should be checked before changing DAX?
Show worked solution
Check whether the slicer targets the correct dimension, whether its interaction with the card is enabled, whether hidden filters conflict and whether the active relationship reaches FactSales. Compare expected included rows. A correct measure can legitimately return70 when the intended filter never enters its context.
2. Why can a top-five chart and a total card differ without either formula being wrong?
Show worked solution
The chart may apply a category-limiting filter while the card covers the complete selected population. That can be intentional, but labels and interactions must make the scopes clear. Verify whether the total is meant to represent the top five or all categories, then test the corresponding context explicitly.
Key takeaways
- A visual result is a measure evaluated under a specific selection context.
- Interaction, sorting and labels determine whether readers understand that context.