Skip to content
BI Data

DAX → MDX Converter

Convert basic DAX expression patterns into MDX drafts for OLAP cubes and Analysis Services. This is a rule-based helper, not a complete semantic translator.

Use cases

Use it as a starting point when moving calculations between tabular and multidimensional models. Validate the result against the target cube.

Supported transformations

  • SUM() → SUM()
  • AVERAGE() → AVG()
  • DIVIDE(x,y) → IIF(y = 0, NULL, x / y)
  • IF() → IIF()
  • 'Table'[Column] → [Table].[Column]
  • BLANK() → NULL

Require manual review

  • CALCULATE() — context functions
  • ALLEXCEPT() — context modifiers
  • KEEPFILTERS() — filtering
  • TREATAS() — table relationships
  • USERELATIONSHIP() — relationship activation
Enter a DAX expression to convert to MDX

MDX result


  

DAX → MDX conversion reference

DAX vs MDX: key differences

  • Data model: DAX uses tabular models; MDX uses multidimensional models
  • Reference syntax: DAX uses 'Table'[Column], MDX - [Dimension].[Hierarchy]
  • Context: MDX uses sets, tuples and cube context
  • Functions: Some functions have counterparts with different syntax and semantics

Conversion examples

DAX MDX
SUM('Sales'[Amount]) SUM([Sales].[Amount])
AVERAGEX(Table, Expression) AVG([Table], [Expression])
IF(Condition, True, False) IIF(Condition, True, False)
BLANK() NULL

Converter limitations

  • Automatic conversion covers basic patterns
  • Complex DAX context functions require manual rewriting
  • Relationships are represented differently in MDX
  • Some DAX functions have no direct MDX equivalent
  • Review and test the result before use

More tools

Free tools for analysts and developers