Reference

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: Query

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: DatasetId

Label: DatasetId

Name: WorkspaceId

Label: WorkspaceId

Option Value
Default

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.
If the column you are looking for is missing, consider customizing Power BI Connector.

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

API Source - Power BI
Connect to your Power BI account and retrieve data, refresh datasets, etc.
Power BI
Execute a DAX query
Required Parameters
DAX query Fill-in the parameter...
Optional Parameters
DatasetId
WorkspaceId
SSIS API Source - Read from table or endpoint

API Destination

API Destination - Power BI
Connect to your Power BI account and retrieve data, refresh datasets, etc.
Power BI
Execute a DAX query
Required Parameters
DAX query Fill-in the parameter...
Optional Parameters
DatasetId
WorkspaceId
SSIS API Destination - Access table or endpoint

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 [LS_TO_POWER_BI_IN_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 [LS_TO_POWER_BI_IN_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 [LS_TO_POWER_BI_IN_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 [LS_TO_POWER_BI_IN_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 [LS_TO_POWER_BI_IN_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 [LS_TO_POWER_BI_IN_GATEWAY];