DAX Glossary
Clear Definitions of Key DAX Terms
Explore the DAX glossary below. Each term is listed individually for easy reference and future expansion with examples or best practices.
Categories
1. Aggregation & Math Functions
Functions that perform totals, averages, ratios, and row-level calculations.
SUM
Adds all numeric values in a column. Commonly used for totals like revenue, cost, or quantity.
AVERAGEX
Calculates the average of an expression across a table, row by row. Useful for weighted averages or dynamic KPIs.
DIVIDE
Performs division with built-in error handling for divide-by-zero scenarios. Ideal for ratios and percentages.
COUNTROWS
Returns the number of rows in a table. Often used to count filtered records or group sizes.
QUOTIENT
Returns the integer portion of a division. Useful for calculations involving whole units or buckets.
MOD
Returns the remainder after division. Used in cyclical logic or pattern detection.
2. Filter & Context
Functions that shape or override filter context — essential for CALCULATE logic.
FILTER
Returns a table subset based on a condition. Often nested inside CALCULATE for targeted logic.
ALL
Removes filters from a column or table. Used to calculate totals or benchmarks.
ALLEXCEPT
Removes all filters except those on specified columns. Useful for grouped totals or semi-granular comparisons.
VALUES
Returns the unique values from a column. Used in slicers, dynamic titles, or virtual tables.
REMOVEFILTERS
Explicitly clears filters from a column or table. Often used to reset context inside CALCULATE.
KEEPFILTERS
Preserves filters when used inside CALCULATE. Useful for layering logic without overriding visuals.
3. Time Intelligence
Functions for comparing periods, calculating YTD/QTD/MTD, and shifting dates.
SAMEPERIODLASTYEAR
Returns the same period from the previous year. Used for YoY comparisons in KPIs and visuals.
DATESYTD
Returns dates from the start of the year to the current date. Ideal for cumulative metrics.
DATEADD
Shifts dates by a specified interval (e.g., -1 month). Enables rolling comparisons and trend overlays.
TOTALYTD
Calculates year-to-date totals. Requires a marked date table for accuracy.
PARALLELPERIOD
Returns a parallel period offset by interval. Useful for comparing non-standard time frames.
4. Logical & Conditional
Functions that return values based on logic tests or branching conditions.
IF
Returns one value if a condition is true, another if false. Core to flags, commentary, and thresholds.
SWITCH
Returns values based on multiple conditions. Cleaner than nested IFs for scoring or categorisation.
AND
Returns TRUE if all conditions are met. Used in compound logic.
OR
Returns TRUE if any condition is met. Useful for flexible filters or commentary triggers.
NOT
Reverses a logical value. Used to exclude or invert conditions.
IFERROR
Returns an alternate value if an error occurs. Ideal for fallback logic in visuals.
5. Iterator Functions
Functions that evaluate expressions row by row across a table.
SUMX
Sums an expression across a table. Used for dynamic totals like revenue or margin.
AVERAGEX
Averages an expression across a table. Ideal for weighted averages.
MAXX
Returns the maximum value of an expression across a table. Used in performance metrics.
MINX
Returns the minimum value of an expression across a table. Useful for thresholds or alerts.
COUNTX
Counts values from an expression across a table. Used for filtered counts or flags.
RANKX
Ranks values based on an expression. Ideal for leader boards and performance visuals.
6. Text & Formatting
Functions that manipulate or format text — useful for dynamic titles and commentary.
CONCATENATE
Joins two text strings. Used for labels, commentary, or dynamic titles.
FORMAT
Converts values to formatted text. Ideal for currency, percentages, or branded visuals.
LEFT
Returns the leftmost characters from a text string. Used in parsing or categorisation.
RIGHT
Returns the rightmost characters from a text string. Useful for codes or suffixes.
MID
Returns characters from the middle of a text string. Used in structured text extraction.
UPPER / LOWER
Converts text to uppercase or lowercase. Useful for standardising labels or matching logic.
7. Relationship & Lookup
Functions that retrieve values across related tables or simulate joins.
RELATED
Retrieves a value from a related table. Enables cross-table insights in visuals.
RELATEDTABLE
Returns a related table based on relationships. Used in nested logic or virtual tables.
LOOKUPVALUE
Finds a value based on conditions. Simulates a VLOOKUP-style join.
TREATAS
Applies a table as a filter to another. Used in advanced filtering across models.
USERELATIONSHIP
Activates an inactive relationship. Essential for alternate joins or time intelligence.
8. Evaluation & Row Context
Functions that manage row context or enable nested logic in calculated columns.
EARLIER
Refers to a prior row context. Used in calculated columns for nested logic.
ISFILTERED
Checks if a column is filtered. Triggers dynamic commentary or formatting.
HASONEVALUE
Checks if a column has a single value. Used to control visuals or commentary logic.
SELECTEDVALUE
Returns the selected value or a default. Ideal for dynamic titles and commentary blocks.
ISINSCOPE
Checks if a column is in the current evaluation scope. Used in visuals and conditional logic.
9. Table & Virtual Table Functions
Functions that return or manipulate entire tables — often used inside CALCULATE.
SUMMARIZE
Groups data and returns aggregated results. Used for custom tables and overlays.
ADDCOLUMNS
Adds calculated columns to a table. Enables enriched visuals and commentary logic.
CROSSJOIN
Returns all combinations of two tables. Used in scenario overlays or simulations.
GENERATE
Combines two tables row by row. Ideal for audit trails or expanded logic.
SELECTCOLUMNS
Returns a table with selected columns. Used to reshape data for visuals or logic.
10. Parent-Child & Hierarchies
Functions for navigating hierarchies like org charts or product categories.
PATH
Returns a delimited path of IDs. Used to trace hierarchy levels.
PATHITEM
Returns a specific item from a path. Enables level-based logic or commentary.
PATHLENGTH
Returns the number of items in a path. Used to determine depth or seniority.
ISANCESTOR
Checks if one item is an ancestor of another. Used in hierarchy filtering or commentary.
Get Involved:
Suggest Terms & Request Clarification
Help Us Make the Glossary Even Better
We’re committed to keeping our glossary comprehensive and up to date, but we know there’s always room for improvement. If you’ve come across a term that’s missing or need further explanation on any topic, we’d love to hear from you.
Suggest a New Term
Have a technical phrase or concept you think should be added? Let us know! Your input helps us ensure the glossary remains useful to everyone in the community.
Request Clarification
If you find any definition unclear or would like more examples, feel free to request clarification. We aim to provide clear, practical insights for all users.
Share Your Feedback
- Email your suggestions directly
- Fill in our feedback form
Thank you for helping us build a better resource for everyone!