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
| Parameter | Required | Options | ||||
|---|---|---|---|---|---|---|
|
Name:
Label: DAX query Your DAX Query. Examples: EVALUATE FILTER('MyTable',true) --OR-- more complex EVALUATE FILTER(''MyTable'', [SomeNameColumn] = "ZZZ" && ([SomeIdColumn] = 10643 || [SomeIdColumn] = 10952 ) ) |
YES | |||||
|
Name:
Label: DatasetId |
||||||
|
Name:
Label: WorkspaceId |
|
Output Columns
| Label | Data Type (SSIS) | Data Type (SQL) | Length | 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 | 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 or in API Destination SSIS Data Flow components to read or write data.
API Source
| Required Parameters | |
|---|---|
| DAX query | Fill-in the parameter... |
| Optional Parameters | |
| DatasetId | |
| WorkspaceId | |
API Destination
| Required Parameters | |
|---|---|
| DAX query | Fill-in the parameter... |
| Optional Parameters | |
| DatasetId | |
| WorkspaceId | |
ODBC application
Use these SQL queries in your ODBC application data source:
Execute a DAX query (evaluate table)
<p>Executes a simple DAX query to evaluate a table. Supply the DAX query in the <code>Query</code> parameter.</p>
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 (filter)
<p>Executes a DAX query using the <code>FILTER</code> function. Supply the DAX query in the <code>Query</code> parameter.</p>
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 (complex filter)
<p>Executes a DAX query using <code>FILTER</code> with <code>AND</code> and <code>OR</code> operators. Supply the DAX query in the <code>Query</code> parameter.</p>
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 (select columns)
<p>Executes a DAX query using <code>SELECTCOLUMNS</code> to retrieve specific columns. Supply the DAX query in the <code>Query</code> parameter.</p>
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 (top N)
<p>Executes a DAX query using <code>TOPN</code> to select and sort the top N rows. Supply the DAX query in the <code>Query</code> parameter.</p>
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 (advanced)
<p>Executes a complex DAX query with variables, filtering, and sorting. Supply the DAX query in the <code>Query</code> parameter.</p>
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 (evaluate table)
<p>Executes a simple DAX query to evaluate a table. Supply the DAX query in the <code>Query</code> parameter.</p>
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 [LS_TO_POWER_BI_IN_GATEWAY];
Execute a DAX query (filter)
<p>Executes a DAX query using the <code>FILTER</code> function. Supply the DAX query in the <code>Query</code> parameter.</p>
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 [LS_TO_POWER_BI_IN_GATEWAY];
Execute a DAX query (complex filter)
<p>Executes a DAX query using <code>FILTER</code> with <code>AND</code> and <code>OR</code> operators. Supply the DAX query in the <code>Query</code> parameter.</p>
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 [LS_TO_POWER_BI_IN_GATEWAY];
Execute a DAX query (select columns)
<p>Executes a DAX query using <code>SELECTCOLUMNS</code> to retrieve specific columns. Supply the DAX query in the <code>Query</code> parameter.</p>
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 [LS_TO_POWER_BI_IN_GATEWAY];
Execute a DAX query (top N)
<p>Executes a DAX query using <code>TOPN</code> to select and sort the top N rows. Supply the DAX query in the <code>Query</code> parameter.</p>
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 [LS_TO_POWER_BI_IN_GATEWAY];
Execute a DAX query (advanced)
<p>Executes a complex DAX query with variables, filtering, and sorting. Supply the DAX query in the <code>Query</code> parameter.</p>
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 [LS_TO_POWER_BI_IN_GATEWAY];