EndPoint Execute a DAX query
Name
execute_dax_query
Description
Executes a DAX query on a Dataset in a default or specified Workspace. [API reference]
Parameters
Output Columns
Label | Data Type (SSIS) | Data Type (SQL) | Length | Raw | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
There are no Static columns defined for this endpoint. This endpoint detects columns dynamically at runtime. |
Input Columns
Label | Data Type (SSIS) | Data Type (SQL) | Length | Raw | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
There are no Static columns defined for this endpoint. This endpoint detects columns dynamically at runtime. |
Examples
SSIS
Use Power BI Connector in API Source component to read data or in API Destination component to read/write data:
Execute a DAX query using API Source
Power BI
Execute a DAX query

Execute a DAX query using API Destination
Power BI
Execute a DAX query

ODBC application
Use these SQL queries in your ODBC application data source:
Execute a DAX query - Evaluating a Table
SELECT *
FROM execute_dax_query
WITH (Query='EVALUATE ''MyTable''')
-- More info on 'EVALUATE' statement and DAX queries:
-- https://dax.guide/st/evaluate/
-- https://learn.microsoft.com/en-us/dax/dax-queries
-- https://learn.microsoft.com/en-us/dax/filter-functions-dax
-- https://learn.microsoft.com/en-us/dax/dax-syntax-reference
Execute a DAX query - Using FILTER function with simple expression
SELECT *
FROM execute_dax_query
WITH (Query='EVALUATE FILTER(''MyTable'', [MyColumn] = "MyValue"')
-- More info on 'EVALUATE' statement and DAX queries:
-- https://dax.guide/st/evaluate/
-- https://dax.guide/filter/
-- https://dax.guide/operators/
-- https://learn.microsoft.com/en-us/dax/dax-queries
-- https://learn.microsoft.com/en-us/dax/dax-syntax-reference
Execute a DAX query - Using FILTER function with AND and OR operators
SELECT *
FROM execute_dax_query
WITH (Query='EVALUATE FILTER(''MyTable'', [MyColumn1] = "MyValue" && ([MyColumn2] > 0 || [MyColumn3] <= 1000))')
-- More info on 'EVALUATE' statement and DAX queries:
-- https://dax.guide/operators/
-- https://learn.microsoft.com/en-us/dax/dax-queries
-- https://learn.microsoft.com/en-us/dax/dax-syntax-reference
Execute a DAX query - Selecting specific columns from a Table
SELECT *
FROM execute_dax_query
WITH (Query='EVALUATE
SELECTCOLUMNS (
''MyTable'',
"MyColumn1 alias", [MyColumn1],
"MyColumn2 alias", [MyColumn2]
)
ORDER BY "MyColumn2 alias"'
)
-- More info on 'EVALUATE' statement and DAX queries:
-- https://dax.guide/st/evaluate/
-- https://dax.guide/selectcolumns/
-- https://learn.microsoft.com/en-us/dax/dax-queries
-- https://learn.microsoft.com/en-us/dax/dax-syntax-reference
Execute a DAX query - Selecting and sorting TOP N rows
SELECT *
FROM execute_dax_query
WITH (Query='EVALUATE
TOPN(1000, ''MyTable'', [MyColumnOrExpression], ASC)')
-- More info on 'EVALUATE' statement and DAX queries:
-- https://dax.guide/st/evaluate/
-- https://dax.guide/topn/
-- https://learn.microsoft.com/en-us/dax/dax-queries
-- https://learn.microsoft.com/en-us/dax/dax-syntax-reference
Execute a DAX query - A complicated query
SELECT *
FROM execute_dax_query
WITH (Query='
DEFINE
VAR MinimumAmount = 2000000
VAR MaximumAmount = 8000000
EVALUATE
FILTER (
ADDCOLUMNS (
SUMMARIZE (Sales, Products[Category]),
"CategoryAmount", [Sales Amount]
),
AND (
[CategoryAmount] <= MinimumAmount,
[CategoryAmount] >= MaximumAmount
)
)
ORDER BY [CategoryAmount]"')
-- More info on 'EVALUATE' statement and DAX queries:
-- https://dax.guide/st/evaluate/
-- https://dax.guide/addcolumns/
-- https://dax.guide/summarize/
-- https://dax.guide/st/order-by/
-- https://learn.microsoft.com/en-us/dax/dax-queries
-- https://learn.microsoft.com/en-us/dax/filter-functions-dax
-- https://learn.microsoft.com/en-us/dax/dax-syntax-reference
SQL Server
Use these SQL queries in SQL Server after you create a data source in Data Gateway:
Execute a DAX query - Evaluating a Table
DECLARE @MyQuery NVARCHAR(MAX) = 'SELECT *
FROM execute_dax_query
WITH (Query=''EVALUATE ''''MyTable'''''')
-- More info on ''EVALUATE'' statement and DAX queries:
-- https://dax.guide/st/evaluate/
-- https://learn.microsoft.com/en-us/dax/dax-queries
-- https://learn.microsoft.com/en-us/dax/filter-functions-dax
-- https://learn.microsoft.com/en-us/dax/dax-syntax-reference';
EXEC (@MyQuery) AT [LINKED_SERVER_TO_POWER_BI_IN_DATA_GATEWAY];
Execute a DAX query - Using FILTER function with simple expression
DECLARE @MyQuery NVARCHAR(MAX) = 'SELECT *
FROM execute_dax_query
WITH (Query=''EVALUATE FILTER(''''MyTable'''', [MyColumn] = "MyValue"'')
-- More info on ''EVALUATE'' statement and DAX queries:
-- https://dax.guide/st/evaluate/
-- https://dax.guide/filter/
-- https://dax.guide/operators/
-- https://learn.microsoft.com/en-us/dax/dax-queries
-- https://learn.microsoft.com/en-us/dax/dax-syntax-reference';
EXEC (@MyQuery) AT [LINKED_SERVER_TO_POWER_BI_IN_DATA_GATEWAY];
Execute a DAX query - Using FILTER function with AND and OR operators
DECLARE @MyQuery NVARCHAR(MAX) = 'SELECT *
FROM execute_dax_query
WITH (Query=''EVALUATE FILTER(''''MyTable'''', [MyColumn1] = "MyValue" && ([MyColumn2] > 0 || [MyColumn3] <= 1000))'')
-- More info on ''EVALUATE'' statement and DAX queries:
-- https://dax.guide/operators/
-- https://learn.microsoft.com/en-us/dax/dax-queries
-- https://learn.microsoft.com/en-us/dax/dax-syntax-reference';
EXEC (@MyQuery) AT [LINKED_SERVER_TO_POWER_BI_IN_DATA_GATEWAY];
Execute a DAX query - Selecting specific columns from a Table
DECLARE @MyQuery NVARCHAR(MAX) = 'SELECT *
FROM execute_dax_query
WITH (Query=''EVALUATE
SELECTCOLUMNS (
''''MyTable'''',
"MyColumn1 alias", [MyColumn1],
"MyColumn2 alias", [MyColumn2]
)
ORDER BY "MyColumn2 alias"''
)
-- More info on ''EVALUATE'' statement and DAX queries:
-- https://dax.guide/st/evaluate/
-- https://dax.guide/selectcolumns/
-- https://learn.microsoft.com/en-us/dax/dax-queries
-- https://learn.microsoft.com/en-us/dax/dax-syntax-reference';
EXEC (@MyQuery) AT [LINKED_SERVER_TO_POWER_BI_IN_DATA_GATEWAY];
Execute a DAX query - Selecting and sorting TOP N rows
DECLARE @MyQuery NVARCHAR(MAX) = 'SELECT *
FROM execute_dax_query
WITH (Query=''EVALUATE
TOPN(1000, ''''MyTable'''', [MyColumnOrExpression], ASC)'')
-- More info on ''EVALUATE'' statement and DAX queries:
-- https://dax.guide/st/evaluate/
-- https://dax.guide/topn/
-- https://learn.microsoft.com/en-us/dax/dax-queries
-- https://learn.microsoft.com/en-us/dax/dax-syntax-reference';
EXEC (@MyQuery) AT [LINKED_SERVER_TO_POWER_BI_IN_DATA_GATEWAY];
Execute a DAX query - A complicated query
DECLARE @MyQuery NVARCHAR(MAX) = 'SELECT *
FROM execute_dax_query
WITH (Query=''
DEFINE
VAR MinimumAmount = 2000000
VAR MaximumAmount = 8000000
EVALUATE
FILTER (
ADDCOLUMNS (
SUMMARIZE (Sales, Products[Category]),
"CategoryAmount", [Sales Amount]
),
AND (
[CategoryAmount] <= MinimumAmount,
[CategoryAmount] >= MaximumAmount
)
)
ORDER BY [CategoryAmount]"'')
-- More info on ''EVALUATE'' statement and DAX queries:
-- https://dax.guide/st/evaluate/
-- https://dax.guide/addcolumns/
-- https://dax.guide/summarize/
-- https://dax.guide/st/order-by/
-- https://learn.microsoft.com/en-us/dax/dax-queries
-- https://learn.microsoft.com/en-us/dax/filter-functions-dax
-- https://learn.microsoft.com/en-us/dax/dax-syntax-reference';
EXEC (@MyQuery) AT [LINKED_SERVER_TO_POWER_BI_IN_DATA_GATEWAY];