Qlik to Power BI: Visualization Migration¶
Comparative positioning note
This document is written from the perspective of Microsoft Azure, Cloud Scale Analytics, and CSA Loom. Any description of third-party or competing products, services, pricing, or capabilities is derived from publicly available documentation and sources believed accurate at the time of writing, and is provided for general comparison only. We do not claim expertise in, or authority over, any non-Microsoft product or service; the respective vendor's official documentation is the authoritative source for their offerings, which may change over time. Nothing here is intended to disparage any vendor — where a competing product has genuine advantages, we aim to note them honestly. Verify all third-party details against the vendor's current official documentation before making decisions.
Audience: Report developers, UX designers, BI leads Purpose: Map every Qlik Sense chart type and interaction pattern to its Power BI equivalent Reading time: 15-20 minutes
1. Chart type mapping¶
1.1 Native Qlik charts to Power BI visuals¶
| Qlik Sense chart | Power BI equivalent | Fidelity | Notes |
|---|---|---|---|
| Bar chart (vertical/horizontal) | Clustered bar / Clustered column chart | High | Direct mapping; Power BI separates vertical (column) and horizontal (bar) |
| Stacked bar chart | Stacked bar / Stacked column chart | High | Direct mapping |
| Line chart | Line chart | High | Direct mapping; Power BI adds forecast, trend lines via Analytics pane |
| Area chart | Area chart | High | Direct mapping |
| Combo chart (bar + line) | Line and clustered column chart | High | Direct mapping with dual Y-axis support |
| Pie chart | Pie chart | High | Direct mapping |
| Donut chart | Donut chart | High | Direct mapping |
| Scatter plot | Scatter chart | High | Power BI adds play axis for time animation |
| KPI object | Card visual / KPI visual | High | KPI visual includes trend indicator; Card is simpler |
| Gauge chart | Gauge visual | High | Direct mapping with min/max/target |
| Pivot table | Matrix visual | High | Matrix supports expand/collapse rows, conditional formatting |
| Straight table (flat table) | Table visual | High | Direct mapping with data bars, sparklines, conditional formatting |
| Treemap | Treemap | High | Direct mapping |
| Waterfall chart | Waterfall chart | High | Native in Power BI |
| Funnel chart | Funnel chart | High | Direct mapping |
| Histogram | Histogram (custom visual or binning) | Medium | Use "New group" binning on a column, then bar chart |
| Box plot | Box and Whisker (AppSource custom visual) | Medium | Available as certified custom visual on AppSource |
| Distribution plot | Histogram or violin (custom visual) | Medium | Custom visual required for violin/density plots |
| Bullet chart | Bullet chart (AppSource custom visual) | Medium | Available on AppSource |
| Mekko / Marimekko chart | Marimekko (AppSource) or stacked bar | Medium | AppSource has Marimekko visuals; stacked bar is the native fallback |
| Network chart (extension) | Force-directed graph (AppSource) | Medium | Multiple network/graph visuals on AppSource |
| Sankey chart (extension) | Sankey (AppSource) | Medium | Available as certified custom visual on AppSource |
| Word cloud (extension) | Word Cloud (AppSource) | High | Available on AppSource |
| Org chart (extension) | Org Chart (AppSource) or Decomposition Tree | Medium | Decomposition Tree provides similar drill-down hierarchy |
| Calendar heatmap (extension) | Heatmap or Matrix with conditional formatting | Medium | Matrix with background color formatting achieves calendar heatmap |
| Radar chart (extension) | Radar chart (AppSource) | Medium | Available on AppSource |
| Multi-KPI (extension) | Multi-row card | High | Multi-row card displays multiple KPIs in a compact layout |
1.2 Custom/advanced Qlik visuals¶
| Qlik visual | Power BI approach |
|---|---|
| Nebula.js custom extension | Power BI custom visual SDK (TypeScript, D3.js) |
| Qlik Sense mashup (HTML page) | Power BI Embedded (JavaScript SDK, React wrapper) |
| SPC (statistical process control) | SPC chart custom visual on AppSource |
| Variance waterfall | Variance chart custom visual on AppSource |
| Timeline / Gantt | Gantt chart custom visual on AppSource |
| HTML extension (custom rendering) | Power BI HTML content visual or R/Python visual |
| Video extension | Web URL visual (embed video) |
| On-demand drill (ODAG link) | Drillthrough page + parameterized DirectQuery |
2. Selection model adaptation¶
The Qlik selection model (green/white/gray) is one of the hardest UX patterns to replicate in Power BI. This section provides practical alternatives.
2.1 Selection state comparison¶
| Qlik selection state | Meaning | Power BI equivalent |
|---|---|---|
| Green (selected) | User has selected this value | Slicer shows selected item highlighted |
| White (possible) | Value exists in associated data | Other visuals show filtered data (cross-filtering) |
| Gray (excluded) | Value has no associated data | No direct equivalent -- excluded values are hidden |
| Dark gray (alternative) | Not selected but could be | No direct equivalent |
2.2 Recreating the selection experience¶
Strategy 1: Slicer panels
Create a slicer panel on the left or top of the report with slicers for each dimension. Use slicer sync to propagate selections across pages.
Strategy 2: Cross-filtering and cross-highlighting
Power BI's default interaction behavior is cross-highlighting: clicking a bar in a chart highlights related data in other visuals. Configure via "Edit Interactions" to switch between filter and highlight modes.
Strategy 3: Filter pane
The Power BI filter pane shows all active filters at visual, page, and report levels. This replaces the Qlik selection bar for showing "what is currently filtered."
Strategy 4: Reset button
Add a "Clear All Filters" bookmark button to reset the report to its default state, similar to Qlik's "Clear All" selection button.
// To create a reset button:
// 1. Set all slicers to default state
// 2. Create a bookmark "Default State" capturing this state
// 3. Add a Button visual, set Action = Bookmark, choose "Default State"
Strategy 5: Selection display visual
For users who miss the Qlik current-selections bar, create a card or text visual with a DAX measure that shows active filter context:
Active Filters Text =
VAR SelectedRegion = IF(ISFILTERED(Geography[Region]),
"Region: " & SELECTEDVALUE(Geography[Region], "Multiple"),
"")
VAR SelectedYear = IF(ISFILTERED(Calendar[Year]),
"Year: " & SELECTEDVALUE(Calendar[Year], "Multiple"),
"")
RETURN
COMBINEVALUES(" | ", SelectedRegion, SelectedYear)
3. Container and conditional visibility¶
Qlik containers¶
Qlik containers allow multiple objects to occupy the same space, with tabs or conditions controlling which is visible. Common patterns:
- Tabbed containers (show different charts in the same area)
- Conditional show (show/hide based on selections)
Power BI equivalents¶
Bookmarks + buttons (tabbed container replacement):
- Create visual A and visual B in the same position on the canvas
- Create Bookmark "Show A" with visual A visible, visual B hidden
- Create Bookmark "Show B" with visual A hidden, visual B visible
- Add Button visuals labeled "View A" and "View B" that navigate to the respective bookmarks
- Uncheck "Data" in each bookmark to preserve filter state when toggling
Conditional formatting (conditional show replacement):
Use the "Title" or entire visual's visibility based on a measure:
- Select the visual
- In Format pane, go to General > Properties
- Set visibility to "Based on a field" and reference a DAX measure that returns TRUE/FALSE
4. Alternate states to bookmarks¶
Qlik alternate states¶
Qlik alternate states allow a single sheet to show the same visualization with two different selection states side-by-side (for example, comparing Region A vs Region B).
Power BI comparison patterns¶
Pattern 1: What-If parameter + duplicate measure
// Create a What-If parameter "Comparison Region" with region values
// Then create a comparison measure:
Comparison Sales =
CALCULATE(
SUM(Sales[Amount]),
Geography[Region] = SELECTEDVALUE('Comparison Region'[Comparison Region])
)
Pattern 2: Field parameters (2023+)
Field parameters allow users to dynamically switch which measure or dimension a visual displays, providing some of the flexibility of alternate states.
Pattern 3: Bookmarks for snapshot comparison
Create two bookmarks with different slicer states and use a toggle button to switch between them.
5. Storytelling to report navigation¶
Qlik storytelling¶
Qlik's storytelling feature lets users create guided narratives by arranging snapshots of visualizations with annotations into a sequential story format.
Power BI equivalents¶
| Qlik storytelling feature | Power BI equivalent |
|---|---|
| Story (multi-slide narrative) | Report with page navigator bar |
| Snapshot of visualization | Pin visual to dashboard or use PowerPoint integration |
| Annotations on snapshots | Text boxes on report pages |
| Slide transitions | Page navigation buttons |
| Presentation mode | Full-screen mode / PowerPoint with live Power BI visuals |
| Narration text | Smart Narratives visual (AI-generated text) |
Recommended approach: Use PowerPoint with live Power BI visuals for presentation scenarios. Visuals update in real-time during the presentation -- no snapshots needed.
6. Responsive design and mobile¶
Qlik responsive layouts¶
Qlik Sense uses a responsive grid layout that adapts to screen size automatically. Visualizations resize within the grid.
Power BI mobile layout¶
Power BI has a dedicated mobile layout editor:
- In Power BI Desktop, select View > Mobile Layout
- Drag visuals from the desktop layout onto the phone canvas
- Resize and arrange for optimal mobile viewing
- Publish -- mobile users automatically see the mobile layout
Power BI Mobile app features not available in Qlik:
- Offline access to reports (configured per report)
- QR code scanning to open specific reports
- Annotate and share screenshots from mobile
- Push notifications for data alerts
7. Formatting and theming¶
Qlik themes¶
Qlik uses JSON-based themes that control colors, fonts, and visual styling across an app.
Power BI themes¶
Power BI also uses JSON-based themes with broader customization:
{
"name": "Corporate Theme",
"dataColors": ["#0078D4", "#50E6FF", "#FFB900", "#E74856", "#00CC6A"],
"background": "#FFFFFF",
"foreground": "#252423",
"tableAccent": "#0078D4",
"textClasses": {
"callout": { "fontSize": 36, "fontFace": "Segoe UI" },
"title": { "fontSize": 16, "fontFace": "Segoe UI Semibold" },
"header": { "fontSize": 12, "fontFace": "Segoe UI" },
"label": { "fontSize": 10, "fontFace": "Segoe UI" }
}
}
Apply themes in Power BI Desktop via View > Themes > Browse for Themes.
Conditional formatting¶
Power BI's conditional formatting is more granular than Qlik's:
| Formatting type | Qlik support | Power BI support |
|---|---|---|
| Background color by value | Yes (expression-based) | Yes (rules, gradient, field value) |
| Font color by value | Yes (expression-based) | Yes (rules, gradient, field value) |
| Data bars in table | Limited | Yes (built-in data bar formatting) |
| Icons in table (KPI symbols) | Via extensions | Yes (built-in icon sets) |
| Sparklines in table | Via extensions | Yes (native sparklines since 2022) |
| Web URL (clickable links) | Yes (URL action) | Yes (web URL data category) |
| Image in table | Via HTML extension | Yes (image URL data category) |
8. Visualization migration checklist¶
- Inventory all sheet objects -- list every visualization, its type, its expressions, and its dimensions
- Map to Power BI visual types -- use the chart mapping table in Section 1
- Identify custom extensions -- check AppSource for equivalents; plan custom visual development if needed
- Plan the selection model -- decide how to replace green/white/gray with slicers + cross-filtering
- Design the page layout -- Power BI uses a fixed canvas (16:9 or custom); plan layout before building
- Build from semantic model measures -- all calculations should be in the semantic model, not the visual
- Apply corporate theme -- create a Power BI JSON theme matching organizational branding
- Configure interactions -- set Edit Interactions (filter vs highlight) for each visual pair
- Create mobile layout -- design the mobile view for each report page
- Validate visual accuracy -- compare Qlik and Power BI visuals side-by-side with same data and filters
Cross-references¶
| Topic | Document |
|---|---|
| Expression conversion | Expression Migration |
| Feature mapping (visualization) | Feature Mapping |
| Tutorial: full app migration | Tutorial: App to PBIX |
| Best practices for report design | Best Practices |
Maintainers: CSA-in-a-Box core team Last updated: 2026-04-30