Markdown To DAX Table

Login

Email
Password

Don't have an account yet?

Go to Sign up

Input Data
Sample {{ showCoderInput ? 'Choose File' : 'Enter Data' }}

                                
Valid Data Invalid Data — Cannot parse as table
Online Table Editor
Row Col Row Col
Transpose Clear Delete Empty Deduplicate
ABC abc Abc
Replace
First Row as Header
{{ displayRows.length }} rows x {{ displayHeaders.length }} columns{{ firstRowAsHeader ? ' (1 header)' : '' }} {{ selectedRows.length > 0 ? selectedRows.length + ' selected' : '' }}
Output Data ({{ outputFormatDisplayName }})
{{ copied ? 'Copied!' : 'Copy to Clipboard' }} Download File
Properties
Convert Markdown Table to DAX online — paste, edit, and download.

Table Name:
Delimiter:
Convert Restart
Insert Row Below
Insert Row Above
Insert Column Right
Insert Column Left
Delete Row {{ contextMenu.row + 1 }}
Delete Column {{ contextMenu.col + 1 }}
Clear Cell
Clear Row
Case sensitive Use regex Cancel Replace All

What Is the Markdown To DAX Table Constructor Converter?

The Markdown To DAX Table Converter on A.Tools transforms Markdown pipe-delimited tables into DAX table constructor syntax — ready to paste into Power BI calculated tables, Power Pivot data models, or SSAS tabular projects. Two settings let you customize the table name and delimiter. All processing runs in your browser. No data leaves your device.

DAX (Data Analysis Expressions) is the formula language used in Microsoft Power BI, Excel Power Pivot, and SQL Server Analysis Services Tabular. DAX table constructors let you define static lookup tables, reference data, and configuration tables directly inside your data model — without connecting to external data sources.

How to Convert Markdown Tables to DAX

Step 1: Provide Your Markdown Data

Click Enter Data to paste a Markdown table into the input area, or click Choose File to drag and drop a .md file. Press Sample to load example data.

Step 2: Edit in the Online Table Editor

Once parsed, an interactive spreadsheet appears. Use the toolbar to:

  • Add or delete rows and columns

  • Transpose the table (swap rows and columns)

  • Remove duplicate rows

  • Delete empty rows and columns

  • Change text case (UPPERCASE, lowercase, Capitalize)

  • Find and replace values — supports case-sensitive search and regex

  • Toggle First Row as Header to define field names

Right-click any cell for context-menu operations.

Step 3: Configure Settings

In the Properties panel:

SettingDefaultDescription
Table Name(empty)Name for the DAX calculated table
DelimiterCommaSeparator between values in each row

Step 4: Export

Click Convert to generate DAX output. Use Copy to Clipboard or Download File to save the result.

Key Features

  • Two input modes: Paste Markdown directly or upload a .md file via drag-and-drop

  • Full table editor: Edit, transpose, deduplicate, find-and-replace before converting

  • DAX table constructor syntax: Output uses {(row1), (row2)} or DATATABLE format

  • Custom table name: Set the calculated table name in Power BI

  • Delimiter control: Choose comma, semicolon, tab, or pipe separator

  • Client-side processing: Files never leave the browser — zero data upload

  • Undo/Redo: Full edit history with revert support

  • Context menu: Right-click for quick row/column/cell operations

  • Header toggle: Treat the first row as field names or regular data

  • Validation indicator: Real-time feedback on input validity

What the Output Looks Like

Given this Markdown input:

| Region | Q1    | Q2    | Q3    | Q4    |
|--------|-------|-------|-------|-------|
| North  | 12000 | 15000 | 13000 | 18000 |
| South  | 9000  | 11000 | 10000 | 14000 |
| East   | 8000  | 9500  | 8800  | 12000 |

Default output (comma delimiter)

RegionTable = {
   ("North", 12000, 15000, 13000, 18000),
   ("South", 9000, 11000, 10000, 14000),
   ("East", 8000, 9500, 8800, 12000)
}

With Table Name set to "SalesByRegion"

SalesByRegion = {
   ("North", 12000, 15000, 13000, 18000),
   ("South", 9000, 11000, 10000, 14000),
   ("East", 8000, 9500, 8800, 12000)
}

With semicolon delimiter

RegionTable = {
   ("North"; 12000; 15000; 13000; 18000);
   ("South"; 9000; 11000; 10000; 14000);
   ("East"; 8000; 9500; 8800; 12000)
}

DATATABLE format (with typed columns)

For scenarios requiring explicit column types, the DATATABLE function provides full type control:

RegionTable = DATATABLE(
   "Region", STRING,
   "Q1", INTEGER,
   "Q2", INTEGER,
   "Q3", INTEGER,
   "Q4", INTEGER,
   {
       ("North", 12000, 15000, 13000, 18000),
       ("South", 9000, 11000, 10000, 14000),
       ("East", 8000, 9500, 8800, 12000)
   }
)

Understanding DAX Table Constructors

What is DAX?

DAX (Data Analysis Expressions) is a formula language developed by Microsoft for data modeling and business intelligence. It is used in:

ProductUsage
Power BI DesktopCalculated tables, measures, calculated columns
Excel Power PivotData model calculations
SSAS TabularTabular data models
Power BI ServiceReport-level calculations

DAX table constructor syntax

A DAX table constructor creates an in-memory table using curly braces {}. Each row is enclosed in parentheses (), and values are separated by the configured delimiter:

TableName = {
   (value1, value2, value3),
   (value4, value5, value6)
}

Rules:

  • String values are wrapped in double quotes: "text"

  • Numeric values are unquoted: 42

  • Each row has the same number of columns

  • Column names are automatically generated (Column1, Column2, etc.) unless DATATABLE is used

Table constructor vs DATATABLE

FeatureTable Constructor {}DATATABLE Function
Column namesAuto (Column1, Column2...)Custom names
Data typesInferredExplicit (STRING, INTEGER, etc.)
Syntax{("a", 1), ("b", 2)}DATATABLE("Col", STRING, {"a", "b"})
SimplicitySimpleMore verbose
Type safetyInferred, may guess wrongExplicit, no ambiguity
Use caseQuick prototyping, simple dataProduction models, typed columns

Use the simple table constructor for quick lookups. Use DATATABLE when column names and types matter — especially for relationships and measures.

How to use in Power BI

  1. Open Power BI Desktop

  2. On the Modeling tab, click New Table

  3. Paste the DAX expression into the formula bar

  4. Press Enter — the table appears in your data model

  5. Use it for relationships, slicers, or measures

How to use in Excel Power Pivot

  1. Open Excel and go to Power PivotManage

  2. In the Power Pivot window, click DesignBlank Table

  3. Switch to formula view and paste the DAX expression

  4. The table is added to your data model

Settings Explained

Table Name

Sets the name of the calculated table in the DAX output. This name appears in your Power BI field pane or Power Pivot data model.

MyTableName = {...}

If left empty, a default name is used. Choose a descriptive name that reflects the data:

Good NamesAvoid
RegionLookupTable1
SalesTargets2025data
ProductCategoriestemp
ExchangeRatesUntitled

Naming conventions:

  • Use PascalCase or camelCase

  • Prefix lookup tables with Lookup or Ref for clarity

  • Avoid spaces (use underscores or PascalCase instead)

Delimiter

Controls the character that separates values within each row. The default is comma, which works in most English-locale environments.

DelimiterCharacterLocale / Use Case
Comma,English locales (default)
Semicolon;European locales (de, fr, es, it)
Tab\tCustom formatting
Pipe|Alternative separator

European locales often use comma as the decimal separator, so semicolon is required as the DAX delimiter. If you receive a "DAX syntax error" in Power BI, try switching to semicolon.

Use Cases: When to Convert Markdown to DAX

ScenarioDAX Table Type
Date dimension tableTable constructor or DATATABLE
Region or country lookupTable constructor
Product category mappingDATATABLE with STRING type
Static reference dataTable constructor
Sales targets or quotasDATATABLE with DECIMAL type
Status or priority codesTable constructor
Currency exchange ratesDATATABLE with DECIMAL type
Test or demo dataTable constructor
Slicer value listsTable constructor
Fiscal calendar mappingDATATABLE with DATE type

Region Lookup Table

RegionLookup = {
   ("NA", "North America"),
   ("EU", "Europe"),
   ("APAC", "Asia Pacific"),
   ("LATAM", "Latin America")
}

Sales Quota Table with DATATABLE

SalesQuotas = DATATABLE(
   "Region", STRING,
   "Q1_Target", INTEGER,
   "Q2_Target", INTEGER,
   "Q3_Target", INTEGER,
   "Q4_Target", INTEGER,
   {
       ("North", 120000, 150000, 130000, 180000),
       ("South", 90000, 110000, 100000, 140000),
       ("East", 80000, 95000, 88000, 120000),
       ("West", 70000, 85000, 78000, 110000)
   }
)

Status Code Table

StatusCodes = {
   (1, "Draft"),
   (2, "Submitted"),
   (3, "Approved"),
   (4, "Rejected"),
   (5, "Cancelled")
}

DAX Measure Using a Lookup Table

Region Target =
VAR CurrentRegion = SELECTEDVALUE(Sales[Region])
VAR Target =
   SUMX(
       FILTER(
           SalesQuotas,
           SalesQuotas[Region] = CurrentRegion
       ),
       SalesQuotas[Q1_Target]
   )
RETURN Target

Frequently Asked Questions (FAQ)

  • Does this tool upload my files to a server?

    No. All file parsing and conversion runs in your browser using JavaScript. Your data stays on your device. A.Tools never receives, stores, or transmits your file contents.

  • What Markdown table formats are supported?

    The tool supports standard pipe-delimited Markdown tables following the CommonMark specification, including tables with or without leading/trailing pipes and alignment indicators.

  • What is DAX?

    DAX (Data Analysis Expressions) is a formula language by Microsoft used in Power BI, Excel Power Pivot, and SQL Server Analysis Services for data modeling, calculated columns, measures, and calculated tables.

  • Where do I paste the DAX output?

    In Power BI Desktop: go to Modeling → New Table and paste into the formula bar. In Excel Power Pivot: go to Power Pivot → Manage → Design → Blank Table and paste in formula view. In SSAS Tabular: paste into a calculated table definition.

  • What is the difference between table constructor and DATATABLE?

    A table constructor uses {("a", 1)} syntax with auto-generated column names and inferred types. DATATABLE uses explicit column names and types: DATATABLE("Col", STRING, {("a", 1)}). Use DATATABLE when column names and data types matter.

  • When should I use semicolon as the delimiter?

    Use semicolon when your Power BI or Windows locale uses comma as the decimal separator (common in German, French, Spanish, Italian, and other European locales). If DAX returns a syntax error with comma delimiter, switch to semicolon.

  • Can I create relationships with DAX calculated tables?

    Yes. After creating a calculated table in Power BI, you can establish relationships between its columns and other tables in your data model — just like any other table.

  • Can I edit the table before converting?

    Yes. After parsing, the full table editor lets you modify cells, add or remove rows and columns, transpose, deduplicate, change text case, and find-and-replace values.

Featured Tools

Featured tools that you might find useful.

Popular Tools

List of popular tools that users love and frequently use.

New Tools

The latest tools added to our collection, designed for you.

Topics

The tools grouped by topics to quickly find what you need.
Free online JSON to MATLAB converter. Generate cell arrays, numeric matrices, or struct arrays from JSON. Custom variable names, NaN handling, and transposition. 100% client-side.

JSON To MATLAB Array

Free online JSON to MATLAB converter. Generate cell arrays, numeric matrices, or struct arrays from JSON. Custom variable names, NaN handling, and transposition. 100% client-side.
Free online JSON to PDF converter. Transform JSON data into styled PDF tables with customizable themes, header colors, titles, and descriptions. 100% client-side, no sign-up.

JSON To PDF

Free online JSON to PDF converter. Transform JSON data into styled PDF tables with customizable themes, header colors, titles, and descriptions. 100% client-side, no sign-up.
Free online JSON to PHP array converter. Paste JSON data and instantly get valid PHP array syntax. Supports nested objects, arrays, and all data types. 100% client-side.

JSON To PHP Array

Free online JSON to PHP array converter. Paste JSON data and instantly get valid PHP array syntax. Supports nested objects, arrays, and all data types. 100% client-side.
Free online JSON to Protocol Buffers converter. Generate .proto schema files from JSON for proto2 or proto3, with auto type detection, package names, and field comments. 100% client-side, no sign-up required.

JSON To Protocol Buffers

Free online JSON to Protocol Buffers converter. Generate .proto schema files from JSON for proto2 or proto3, with auto type detection, package names, and field comments. 100% client-side, no sign-up required.