The Power BI Fellowship

Power BI in plain English

A

Active relationship Modeling

Only one relationship path between two tables can be active. Inactive ones (dashed lines) are used on demand with USERELATIONSHIP.

Also written as: inactive relationship, inactive
See also: USERELATIONSHIP, Role-playing dimension

Advanced Editor Power Query

The Power Query window that shows a query's full M code, so you can read, rename or edit the steps by hand.

See also: M

Aggregation table Performance

A small pre-summarized table that answers most queries instantly, while the big detailed table is used only for drill-down.

Also written as: aggregations, aggregation
See also: Composite model

Anti join Power Query

A join that keeps only the rows with no match in the other table. Ideal for finding orphan keys and data quality problems.

Also written as: anti joins, Left anti
See also: Merge

App Basics

A read-only package of reports and dashboards published from a workspace to a wide audience, with its own navigation. Audiences let different groups see different pages.

Also written as: Apps, Power BI app
See also: Workspace, Audience

Append Power Query

Stacks queries with the same columns on top of each other, adding rows. The Power Query version of SQL UNION.

Also written as: Append Queries
See also: Merge

Applied steps Power Query

The ordered list of transformations in a Power Query query. Order matters: each step works on the output of the one above it.

Also written as: Applied Steps
See also: Power Query

Assume referential integrity Storage modes

A DirectQuery relationship setting that promises every fact key exists in the dimension, so Power BI can use faster INNER JOINs.

See also: DirectQuery

Audience Basics

A group inside an App that sees a chosen subset of its reports and pages.

Also written as: audiences
See also: App

Auto date/time Modeling

A Power BI option that silently creates a hidden date table for every date column. Turn it off in real models: it bloats the file.

See also: Date table
B

Best Practice Analyzer Tools

A Tabular Editor feature that checks a model against rules (naming, formatting, performance) and lists violations.

Also written as: BPA
See also: Tabular Editor

BLANK DAX

DAX's empty value. Visuals hide rows where every measure is BLANK, which keeps them tidy.

Also written as: ISBLANK
See also: DIVIDE

Bookmark Visuals

A saved state of a page (filters, visibility, sort) for storytelling, toggles and reset buttons.

Also written as: bookmarks
See also: Selection pane

Bridge table Modeling

A small table of unique keys that sits between two tables whose link would otherwise be many-to-many.

Also written as: bridge
See also: Many-to-many

Build permission Service

Permission that lets someone create their own reports on a semantic model, or query it from Excel, without editing it.

See also: Semantic model
C

Calculated column Modeling

A column computed row by row with DAX at refresh time and stored in the model. Use it when you need to slice or filter by the result.

Also written as: calculated columns
See also: Measure

Calculated table Modeling

A table created with a DAX expression (e.g. CALENDAR or SUMMARIZE) and stored in the model at refresh.

See also: Date table

Calculation group DAX

Reusable modifiers (YTD, prior month, currency…) that apply to any measure, so 10 measures × 5 variants doesn't mean 50 measures.

Also written as: calculation groups, SELECTEDMEASURE
See also: Explicit measure, Tabular Editor

CallbackDataID Performance

A marker in a query plan meaning the storage engine had to call back to the formula engine for each row. A common sign of slow DAX.

See also: Storage engine

Capacity Fabric

Purchased compute (F SKUs, measured in capacity units) that powers workspaces and features such as XMLA, deployment pipelines and large models. PPU is a per-user alternative for Power BI features.

Also written as: Fabric capacity, capacity units, CU, Premium capacity, PPU, Premium Per User
See also: Capacity Metrics app

Capacity Metrics app Fabric

The admin app that shows how much capacity each item consumes and when throttling happens.

See also: Capacity

Cardinality Modeling

(1) For relationships: one-to-many, one-to-one or many-to-many. (2) For columns: how many distinct values a column has. High cardinality compresses badly.

Column profiling Power Query

Power Query's built-in data checks: % valid/error/empty, distinct and unique counts, and value statistics. By default it only looks at the top 1,000 rows.

Also written as: Column quality, Column distribution, Column profile
See also: Distinct vs unique

Composite model Storage modes

A model that mixes storage modes or sources, e.g. DirectQuery facts with Import dimensions, or a shared model extended with local tables.

Also written as: composite models, composite
See also: Dual storage mode, Aggregation table

Conditional formatting Visuals

Colours, icons or data bars driven by values or rules, so exceptions stand out.

Context transition DAX

When CALCULATE, or a measure reference, runs inside a row context, the current row turns into an equivalent filter.

Cross-filter direction Modeling

Which way filters flow across a relationship. Single (dimension → fact) is the safe default. Both can cause ambiguity and slower queries.

Also written as: bi-directional, bidirectional, both directions, single direction
See also: Relationship, CROSSFILTER

Cross-highlight Visuals

What happens to other visuals when you click a data point: filter (remove the rest) or highlight (show the matching share). Control it with Edit interactions.

Also written as: cross-highlighting, cross-filter, Edit interactions
See also: Slicer

CROSSFILTER DAX

Changes a relationship's filter direction, or turns it off, inside one measure only.

Custom function Power Query

A reusable M function you write once and invoke on many columns or queries, e.g. to clean a money column.

Also written as: custom functions, fnCleanMoney, fnParseDate
See also: M
D

Dashboard Basics

A single page in the Service made of tiles pinned from one or more reports. Good for monitoring and alerts, but no slicers and limited interaction.

Also written as: dashboards
See also: Report, Data alert

Data alert Service

A notification when a dashboard tile's number crosses a threshold you set.

Also written as: data alerts
See also: Dashboard

Dataflow Fabric

Power Query that runs in the cloud and is reused by many semantic models. Gen2 in Fabric can write its output to a Lakehouse or Warehouse.

Also written as: Dataflows, Dataflow Gen2, dataflows
See also: Power Query, Lakehouse

Date table Modeling

A continuous table of dates with Year/Month/Quarter columns, marked as a date table. Time intelligence needs one.

Also written as: date table, calendar table, Mark as date table, mark as date table
See also: Time intelligence, Auto date/time

DATEADD DAX

Time intelligence functions that shift or build date ranges, e.g. DATEADD(Dates[Date], -1, MONTH) = the same dates one month earlier.

Also written as: SAMEPERIODLASTYEAR, TOTALMTD, DATESINPERIOD, DATESMTD
See also: Time intelligence

DAX DAX

Data Analysis Expressions: the formula language for measures, calculated columns, calculated tables and security rules.

DAX Studio Tools

A free tool for writing and timing DAX queries, reading query plans and measuring model size.

Delta table Fabric

An open table format (Parquet files plus a transaction log) that Fabric uses everywhere.

Also written as: Delta, Delta Parquet
See also: OneLake

Deployment pipeline Deployment

A Service feature that moves content Dev → Test → Prod, with rules that swap data sources or parameters per stage.

Also written as: deployment pipelines, deployment rule, deployment rules
See also: Parameter, PBIP

Dimension table Modeling

A table that describes things you filter and group by: product, customer, region, date.

Also written as: dimension tables, dimensions, dimension
See also: Fact table, Star schema

Direct Lake Storage modes

A Fabric storage mode that loads Delta tables straight from OneLake into memory: close to Import speed without import refreshes. It can fall back to DirectQuery.

See also: OneLake, Lakehouse

DirectQuery Storage modes

Data stays in the source, and every visual sends a live query. It is always current, but slower and with some DAX limits.

Distinct vs unique Power Query

Distinct = how many different values exist. Unique = how many values appear exactly once.

Also written as: distinct count, unique count
See also: Column profiling

DIVIDE DAX

Safe division that returns BLANK (or a value you choose) instead of an error when dividing by zero.

See also: BLANK

Drill down Visuals

Moving down a hierarchy within the same visual, e.g. Year → Quarter → Month.

Also written as: drill-down, drill down
See also: Drillthrough, Hierarchy

Drillthrough Visuals

Right-click a data point to jump to a detail page filtered to that item (e.g. one customer).

Also written as: drillthrough
See also: Drill down

Dual storage mode Storage modes

A table that acts as Import or DirectQuery depending on the query, typically used for dimensions in composite models.

Also written as: Dual
See also: Composite model
E

Enable Load Power Query

The query setting that decides whether a query's result becomes a table in the model. Turn it off for staging or helper queries.

See also: Reference

Endorsement Governance

Trust labels on content. Promoted = 'recommended'. Certified = reviewed and approved by people the admin authorized.

Also written as: Certified, certification, Promoted
See also: Governance

Enter Data Basics

A Power BI Desktop button that creates a small table by typing or pasting. It is handy for practice data, but it can't be refreshed from a source.

See also: Power Query

Explicit measure DAX

A measure you write in DAX. An implicit measure is the automatic sum Power BI creates when you drag in a numeric column. Prefer explicit measures.

Also written as: explicit measures, implicit measure, implicit measures, Discourage implicit measures
See also: Measure, Calculation group
F

Fact table Modeling

The table of events or measurements (sales lines, clicks, stock snapshots): many rows, numbers and keys.

Also written as: fact tables, fact
See also: Dimension table, Grain

Field parameter Visuals

A slicer-driven switch that changes which measure or column a visual uses.

Also written as: field parameters, Fields parameter
See also: Slicer

Filter context DAX

The set of filters that applies to one calculation: slicers, visual rows and columns, page and report filters and cross-highlighting. It is why the same measure shows a different number in each cell.

Filter pane Visuals

The side pane with visual-, page- and report-level filters. Authors can lock or hide these filters.

Also written as: page-level filter, visual-level filter, report-level filter
See also: Slicer

Formula engine Performance

The single-threaded part of the engine that handles complex logic. Too much time here usually means the DAX needs a rewrite.

Also written as: FE
See also: Storage engine
G

Gateway Service

Software on a machine in your network that lets the cloud Service reach on-premises data for refresh or DirectQuery.

Also written as: on-premises data gateway, gateways
See also: Scheduled refresh

Git integration Deployment

Connecting a Fabric workspace to a Git branch (Azure DevOps or GitHub) so content is version-controlled and reviewable.

Also written as: Git
See also: PBIP, TMDL

Governance Governance

The policies that keep self-service BI trustworthy: who can publish, tenant settings, certified models, labels, naming and monitoring.

Grain Modeling

The level of detail one row represents, e.g. one order line or one region per category per month. Mixing grains without care causes double counting.

Also written as: granularity
See also: Fact table
H

Hierarchy Modeling

An ordered set of columns (Year → Quarter → Month) that users can drill down through.

Also written as: hierarchies
See also: Drill down

Hybrid table Storage modes

One table with imported history partitions plus a DirectQuery partition for today's live data.

Also written as: hybrid tables
See also: Incremental refresh
I

Import mode Storage modes

Data is copied into Power BI's compressed memory engine. The fastest option, but it needs refreshing.

Also written as: Import
See also: DirectQuery, Direct Lake

Incremental refresh Performance

Refreshing only recent date partitions (e.g. the last 3 days) and keeping older history, instead of reloading everything.

Iterator DAX

A function ending in X (SUMX, AVERAGEX, MAXX…) that evaluates an expression row by row over a table, then aggregates the results.

Also written as: iterators, SUMX, AVERAGEX, MAXX
See also: Row context
K

KEEPFILTERS DAX

Makes a CALCULATE filter intersect with the existing filter instead of replacing it.

See also: CALCULATE
L

Lakehouse Fabric

A Fabric item holding files plus Delta tables. It is built for Spark and notebooks and has a read-only SQL endpoint.

LASTNONBLANK DAX

Returns the last date that actually has data. The core of semi-additive measures like stock on hand.

Also written as: LASTDATE
See also: Semi-additive measure

Limited relationship Storage modes

A relationship between tables from different sources in a composite model. It has no guaranteed one side and behaves slightly differently.

Also written as: limited relationships
See also: Composite model

Lineage view Service

A diagram of how sources, dataflows, models, reports and dashboards depend on each other.

Also written as: lineage, impact analysis

Live connection Storage modes

A report that connects to an existing published semantic model and uses its model as is.

Also written as: connect live
See also: Thin report
M

M Power Query

The formula language behind Power Query. Every step you click is written as a line of M, which you can read and edit in the Advanced Editor.

Also written as: M code, Power Query M
See also: Power Query, Advanced Editor

Many-to-many Modeling

A relationship where neither side's key is unique. It is supported, but it needs care. A bridge table often gives clearer behaviour.

Also written as: many-to-many relationship, *:*
See also: Bridge table

Matrix Visuals

Power BI's pivot-table visual: rows, columns, values, subtotals and drill-down.

See also: Hierarchy

Measure DAX

A DAX formula computed at query time for whatever filters apply to that cell. Not stored, and it is what every number on a visual should be.

Also written as: measures
See also: Calculated column, Explicit measure

Medallion architecture Fabric

Bronze (raw) → Silver (cleaned) → Gold (business-ready) layers of data, each more trustworthy than the last.

See also: Lakehouse

Merge Power Query

Joins two queries side by side on matching key columns, adding columns. The Power Query version of a SQL JOIN or VLOOKUP.

Also written as: Merge Queries, merge queries
See also: Append, Anti join

Microsoft Fabric Fabric

Microsoft's all-in-one analytics platform. Data integration, engineering, warehousing, real-time and Power BI share one storage layer called OneLake.

Also written as: Fabric
See also: OneLake, Lakehouse, Warehouse

Mobile layout Visuals

A separate portrait layout you design for each page so reports read well on phones.

My workspace Basics

Your personal workspace in the Service. Fine for experiments. Team content should live in a shared workspace.

See also: Workspace
N

Notebook Fabric

An interactive code document (PySpark, Python, SQL) used in Fabric for data engineering and data science.

Also written as: notebooks, PySpark
See also: Lakehouse
O

Object-level security Security

Hides whole tables or columns (e.g. Salary) from certain roles. It is set with Tabular Editor.

Also written as: OLS
See also: Row-level security

OneLake Fabric

Fabric's single organization-wide data lake. Tables are stored once, in Delta format, for every engine to read.

P

Parameter Power Query

A named value, such as a server, file path or environment, that queries read instead of a hard-coded value. You can change it in the Service without editing the file.

Also written as: parameters, Power Query parameter
See also: RangeStart / RangeEnd, Deployment pipeline

Parent-child hierarchy Modeling

Rows that point to another row in the same table, such as an employee's ManagerKey. DAX's PATH functions flatten it into levels.

Also written as: parent-child
See also: PATH

Partition Performance

A slice of a table (often by date) that can be refreshed on its own.

Also written as: partitions
See also: Incremental refresh

PATH DAX

DAX functions that turn a parent-child table into a text path ('1|2|6|8') you can split into levels or test for membership.

Also written as: PATHITEM, PATHCONTAINS
See also: Parent-child hierarchy

PBIP Deployment

Power BI Project format: the same report saved as a folder of readable text files (TMDL for the model, JSON for the report) so Git can track and compare changes.

Also written as: .pbip, Power BI Project
See also: TMDL, Git integration

PBIX Basics

The single binary file Power BI Desktop saves: queries, model, report pages and, in Import mode, the data itself.

Also written as: .pbix
See also: PBIP

Performance Analyzer Performance

A Desktop pane that records how long each visual takes, split into DAX query, visual display and other.

See also: DAX Studio

Power BI Desktop Basics

The free Windows application where you build reports: connect to data, shape it, model it and design pages. The file you save is a .pbix or a Power BI Project (.pbip).

Power BI Service Basics

The cloud website (app.powerbi.com) where reports are published, shared, refreshed on a schedule and turned into dashboards and apps.

Also written as: the Service, app.powerbi.com
See also: Workspace, App, Scheduled refresh

Power Query Power Query

The data preparation tool in Power BI, Excel and Fabric. Every click becomes a recorded step that replays on each refresh.

Also written as: Power Query Editor
See also: M, Applied steps, Query folding

Publish to web Governance

Makes a report PUBLIC on the internet with no sign-in. Never use it for internal data. Admins often disable it.

See also: Tenant settings
Q

Query folding Power Query

When Power Query translates your steps into the source's own language (usually SQL) so the source does the work. Faster refreshes, and required for efficient incremental refresh.

Also written as: folding, folds, fold
See also: View Native Query, Incremental refresh
R

RangeStart / RangeEnd Power Query

Two reserved Date/Time parameters that incremental refresh uses to load one date partition at a time.

Also written as: RangeStart, RangeEnd
See also: Incremental refresh, Parameter

RANKX DAX

Ranking functions: RANKX ranks items by an expression, and TOPN returns the top N rows of a table.

Also written as: RANK, TOPN
See also: Iterator

Reference Power Query

A new query that starts from another query's output and stays linked to it. Use it to build staging → clean layers without copying steps.

Also written as: Reference query
See also: Enable Load

REMOVEFILTERS DAX

The DAX functions that remove filters inside CALCULATE. REMOVEFILTERS and ALL ignore every filter on the given columns or tables. ALLSELECTED keeps what the user selected. ALLEXCEPT keeps the listed columns.

Also written as: ALL, ALLSELECTED, ALLEXCEPT
See also: CALCULATE

Report Basics

One or more interactive pages of visuals built on one semantic model. Users can filter, slice, drill and hover.

Role-playing dimension Modeling

One dimension used in several roles, e.g. a Date table linked to both OrderDate (active) and ShipDate (inactive).

Also written as: role-playing date, role-playing
See also: Active relationship, USERELATIONSHIP

Row context DAX

The idea of 'the current row' while DAX walks a table (calculated columns and iterators). It does not filter other tables by itself.

Row-level security Security

Rules that filter which rows each user sees in the same model. Static = a fixed role per group. Dynamic = one role using the signed-in user's email and a mapping table.

Also written as: RLS, dynamic RLS, Dynamic RLS, static roles
See also: USERPRINCIPALNAME, Object-level security
S

Scheduled refresh Service

Automatic reloads of an Import model in the Service: up to 8 a day with Pro and 48 a day on capacity.

Also written as: schedule refresh, Schedule refresh
See also: Gateway, Incremental refresh

Selection pane Visuals

The pane that lists every object on a page so you can rename, group, show or hide them. Essential for bookmark toggles.

See also: Bookmark

Semantic model Basics

The tables, relationships, measures and security rules behind a report. Many reports can share one semantic model. It was called a 'dataset' before 2023.

Also written as: semantic models, shared model, dataset
See also: Measure, Relationship, Thin report

Semi-additive measure Modeling

A number that adds up across some dimensions but not time, like stock on hand or account balance. Across time you take the last value, not the sum.

Also written as: semi-additive
See also: LASTNONBLANK

Sensitivity label Security

A Microsoft Purview label (e.g. Confidential) that travels with data exported to Excel, PowerPoint or PDF.

Also written as: sensitivity labels

Server Timings Performance

A DAX Studio view that shows the storage engine vs formula engine time and every storage engine query for one DAX query.

See also: DAX Studio

Shortcut Fabric

A OneLake pointer to data stored somewhere else, used without copying it.

Also written as: shortcuts
See also: OneLake

Slicer Visuals

An on-canvas filter control (list, dropdown, date range…) that users click to filter the page.

Also written as: slicers
See also: Sync slicers, Filter pane

Slowly changing dimension Modeling

How a dimension handles changes. Type 1 overwrites the old value. Type 2 adds a new row with valid-from and valid-to dates so history stays correct.

Also written as: SCD, SCD Type 2
See also: Surrogate key

Snowflake schema Modeling

A star whose dimensions are split into chains of tables (Product → Subcategory → Category). In Power BI you usually flatten these back into one dimension.

Also written as: snowflake
See also: Star schema

Star schema Modeling

A fact table in the centre joined one-to-many to dimension tables around it. The shape Power BI is designed for.

Also written as: star
See also: Fact table, Dimension table, Snowflake schema

Storage engine Performance

The fast, multi-threaded part of the engine that scans compressed data. Good DAX gives it most of the work.

Also written as: SE
See also: Formula engine, Server Timings

Subscription Service

An email with a snapshot of a report page or dashboard, sent on a schedule.

Also written as: subscriptions

Surrogate key Modeling

A meaningless whole-number key (CustomerKey = 101) used instead of a text business key. It compresses better and allows history tracking.

Also written as: surrogate keys
See also: Slowly changing dimension

Sync slicers Visuals

A feature that makes one slicer's selection apply on several report pages.

See also: Slicer
T

Table.Buffer Power Query

An M function that loads a table into memory once, so repeated lookups don't re-read the source. Useful, but it stops query folding.

See also: Query folding

Tabular Editor Tools

A tool for editing models directly: calculation groups, OLS, scripting, bulk edits and the Best Practice Analyzer.

Tenant settings Governance

Organization-wide switches in the Power BI/Fabric admin portal (export, publish to web, sharing…), often enabled only for specific security groups.

Also written as: admin portal, Admin portal
See also: Governance

Thin report Architecture

A report file that contains no model of its own and connects live to a shared semantic model in the Service.

Also written as: thin reports
See also: Live connection, Semantic model

Time intelligence DAX

DAX functions for calendar comparisons: year-to-date, prior month, same period last year, rolling windows. They need a proper date table.

See also: Date table, DATEADD

TMDL Deployment

Tabular Model Definition Language: a readable text format for semantic models, one file per table. It is ideal for Git diffs.

See also: PBIP

Tooltip page Visuals

A small custom report page shown when hovering a data point, filtered to what you hovered.

Also written as: report page tooltip, Report page tooltip
See also: Drillthrough

TREATAS DAX

Applies the values of one column as a filter on another column that has no physical relationship: a 'virtual relationship'.

See also: Relationship
U

Unpivot Power Query

Turns wide columns (Jan, Feb, Mar) into rows of Attribute and Value. Models and DAX prefer tall, narrow tables.

Also written as: Unpivot Other Columns, unpivoting
See also: Power Query

Usage metrics Service

Built-in reports showing who viewed which report pages and how often.

Also written as: usage metrics report

USERELATIONSHIP DAX

Activates an inactive relationship for one calculation only, e.g. to count by ship date instead of order date.

USERPRINCIPALNAME Security

A DAX function that returns the signed-in user's login (usually their email). The key to dynamic RLS.

Also written as: USERPRINCIPALNAME()
See also: Row-level security
V

Variables DAX

VAR … RETURN stores an intermediate result once inside a measure. Measures become easier to read, easier to debug and often faster.

Also written as: VAR, VAR … RETURN
See also: Measure

VertiPaq Performance

The in-memory column-store engine behind Import mode. It compresses each column. Fewer distinct values means a smaller, faster model.

Also written as: VertiPaq Analyzer, View Metrics
See also: Cardinality, Storage engine

View Native Query Power Query

Right-click a step to see the SQL that Power Query sends to the source. If the option is greyed out, folding has stopped at or before that step.

See also: Query folding
W

Warehouse Fabric

A Fabric item with a full T-SQL (read/write) data warehouse experience, stored as Delta tables in OneLake.

See also: Lakehouse

Window functions DAX

WINDOW, OFFSET, INDEX and RANK compute running totals, previous-row values and positions over a sorted set of rows.

Also written as: WINDOW, OFFSET
See also: RANKX

Workspace Basics

A shared folder in the Service that holds reports, semantic models, dataflows and other items, with roles: Admin, Member, Contributor and Viewer.

Also written as: workspaces
See also: App, My workspace
X

XMLA endpoint Deployment

An enterprise connection point (on capacity or PPU) that lets tools like SSMS and Tabular Editor read and write published models.

Also written as: XMLA
See also: Tabular Editor