Forum Discussion

DebbieE's avatar
DebbieE
Community Champion
4 years ago
Solved

Datasets - execute queries REST API

we are trying to use the following

 

https://docs.microsoft.com/en-us/rest/api/power-bi/datasets/execute-queries?source=docs

 

where you can use a REST API and add a query like this

 

{ "queries": [ { "query": "EVALUATE VALUES(MyTable[Column])" } ], "serializerSettings": { "includeNulls": true } }

 

I am a little confused though. Queries to me mean the tables in Power BI. So my question is. Can I use this to run DAX Measures? To me these a Measures created in DAX Rather than queries. It doesnt mention this in the documentation so I just wanted to get it straight in my head before we continue

  • Measures are calculations computed at the granularity specified in the DAX query they are a part of. They are defined at the model level but evaluated only at DAX execution time.
    This API allows you to control what goes into your DAX query (which columns or measures). So if you have already defined a measure in your model (through PowerBI Desktop) and it is saved and published, then you can invoke it in your DAX query as follows:

    EVALUATE ROW("MyMeasure", TableName[MyMeasure]) - this will evaluate it with no granularity specified, so effectively means for the whole dataset
    or
    EVALUATE(SUMMARIZECOLUMNS(TableName1[Column1], TableName2[Column2], "MyMeasure", TableName[MyMeasure]) - this will evaluat it at the granularity of Column1 and Column2 (for example for each Continent-Year combination)

    A DAX query allows you to perform an evaluation of something from the data model. It's result is a table of data. What goes into the DAX query is up to the caller of the API. You can refer to public DAX documentation on what functions are available.

2 Replies

  • Gentiana's avatar
    Gentiana
    Microsoft Employee

    Measures are calculations computed at the granularity specified in the DAX query they are a part of. They are defined at the model level but evaluated only at DAX execution time.
    This API allows you to control what goes into your DAX query (which columns or measures). So if you have already defined a measure in your model (through PowerBI Desktop) and it is saved and published, then you can invoke it in your DAX query as follows:

    EVALUATE ROW("MyMeasure", TableName[MyMeasure]) - this will evaluate it with no granularity specified, so effectively means for the whole dataset
    or
    EVALUATE(SUMMARIZECOLUMNS(TableName1[Column1], TableName2[Column2], "MyMeasure", TableName[MyMeasure]) - this will evaluat it at the granularity of Column1 and Column2 (for example for each Continent-Year combination)

    A DAX query allows you to perform an evaluation of something from the data model. It's result is a table of data. What goes into the DAX query is up to the caller of the API. You can refer to public DAX documentation on what functions are available.