Go to Sign up
Note: Your files never leave your device. We don't upload, transfer, or store your data.
|
|
|
|
|---|---|---|
|
|
|
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.
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.
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.
In the Properties panel:
| Setting | Default | Description |
|---|---|---|
| Table Name | (empty) | Name for the DAX calculated table |
| Delimiter | Comma | Separator between values in each row |
Click Convert to generate DAX output. Use Copy to Clipboard or Download File to save the result.
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
Given this Markdown input:
| Region | Q1 | Q2 | Q3 | Q4 |
|--------|-------|-------|-------|-------|
| North | 12000 | 15000 | 13000 | 18000 |
| South | 9000 | 11000 | 10000 | 14000 |
| East | 8000 | 9500 | 8800 | 12000 |
RegionTable = {
("North", 12000, 15000, 13000, 18000),
("South", 9000, 11000, 10000, 14000),
("East", 8000, 9500, 8800, 12000)
}
SalesByRegion = {
("North", 12000, 15000, 13000, 18000),
("South", 9000, 11000, 10000, 14000),
("East", 8000, 9500, 8800, 12000)
}
RegionTable = {
("North"; 12000; 15000; 13000; 18000);
("South"; 9000; 11000; 10000; 14000);
("East"; 8000; 9500; 8800; 12000)
}
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)
}
)
DAX (Data Analysis Expressions) is a formula language developed by Microsoft for data modeling and business intelligence. It is used in:
| Product | Usage |
|---|---|
| Power BI Desktop | Calculated tables, measures, calculated columns |
| Excel Power Pivot | Data model calculations |
| SSAS Tabular | Tabular data models |
| Power BI Service | Report-level calculations |
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
| Feature | Table Constructor {} | DATATABLE Function |
|---|---|---|
| Column names | Auto (Column1, Column2...) | Custom names |
| Data types | Inferred | Explicit (STRING, INTEGER, etc.) |
| Syntax | {("a", 1), ("b", 2)} | DATATABLE("Col", STRING, {"a", "b"}) |
| Simplicity | Simple | More verbose |
| Type safety | Inferred, may guess wrong | Explicit, no ambiguity |
| Use case | Quick prototyping, simple data | Production models, typed columns |
Use the simple table constructor for quick lookups. Use DATATABLE when column names and types matter — especially for relationships and measures.
Open Power BI Desktop
On the Modeling tab, click New Table
Paste the DAX expression into the formula bar
Press Enter — the table appears in your data model
Use it for relationships, slicers, or measures
Open Excel and go to Power Pivot → Manage
In the Power Pivot window, click Design → Blank Table
Switch to formula view and paste the DAX expression
The table is added to your data model
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 Names | Avoid |
|---|---|
RegionLookup | Table1 |
SalesTargets2025 | data |
ProductCategories | temp |
ExchangeRates | Untitled |
Naming conventions:
Use PascalCase or camelCase
Prefix lookup tables with Lookup or Ref for clarity
Avoid spaces (use underscores or PascalCase instead)
Controls the character that separates values within each row. The default is comma, which works in most English-locale environments.
| Delimiter | Character | Locale / Use Case |
|---|---|---|
| Comma | , | English locales (default) |
| Semicolon | ; | European locales (de, fr, es, it) |
| Tab | \t | Custom 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.
| Scenario | DAX Table Type |
|---|---|
| Date dimension table | Table constructor or DATATABLE |
| Region or country lookup | Table constructor |
| Product category mapping | DATATABLE with STRING type |
| Static reference data | Table constructor |
| Sales targets or quotas | DATATABLE with DECIMAL type |
| Status or priority codes | Table constructor |
| Currency exchange rates | DATATABLE with DECIMAL type |
| Test or demo data | Table constructor |
| Slicer value lists | Table constructor |
| Fiscal calendar mapping | DATATABLE with DATE type |
RegionLookup = {
("NA", "North America"),
("EU", "Europe"),
("APAC", "Asia Pacific"),
("LATAM", "Latin America")
}
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)
}
)
StatusCodes = {
(1, "Draft"),
(2, "Submitted"),
(3, "Approved"),
(4, "Rejected"),
(5, "Cancelled")
}
Region Target =
VAR CurrentRegion = SELECTEDVALUE(Sales[Region])
VAR Target =
SUMX(
FILTER(
SalesQuotas,
SalesQuotas[Region] = CurrentRegion
),
SalesQuotas[Q1_Target]
)
RETURN Target
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.
The tool supports standard pipe-delimited Markdown tables following the CommonMark specification, including tables with or without leading/trailing pipes and alignment indicators.
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.
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.
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.
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.
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.
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.