Forum Discussion
EVALUATE in Power BI
- 9 years ago
DAX can be used as a Query language. This is when you would use Evaluate. You can use a tool like DAX studio to query the data model. Read my article about DAX Studio that includes some examples here http://exceleratorbi.com.au/getting-started-dax-studio/
In Power Pivot and Power BI, a table is the organisation of data in a tabular format. It can be...
- physical storage of a table as part of the data model
- the result of a query generated at runtime using DAX as a query language
- A Matrix is the rendering of data in a visual in a tabular shape. This is not the same thing as above. A Matrix for instance could be generated by a single column of data (say a date column) and one or more measures that generate a value for each date.
So to your question
I thought I could return a table or matrix visual using evaluate.
If you want to return a table (1 above), you can either:
- Load the data using Power Query (get data)
- Create a DAX query (eg 2 above) and use the "New Table" feature of Power BI to generate and store that table in your data model. When you do this, you simply take the DAX query and omit the EVALUATE statement. Read my blog article here to find out more about that. https://powerpivotpro.com/2017/02/uses-for-new-table-feature-power-bi/
- You cannot create a matrix visual using a DAX query (with or without EVALUATE). You can however render a matrix visual using data in any table.
I hope that helps.
Hi Matt
Many thanks for clarifying this for me I have been furiously teaching myself Power BI and DAX for a new role that I am taking on, I have been using your text "Learn to Write DAX" which gave me an excellent grounding using your examples and questions applied to report tables in PBI. Together with "The Definitive Guide to DAX" my knowledge is expanding but the problem that I sometimes face (which you have now cleared up for me in this instance) is that it is not always immediately clear where some of the DAX functions sit within a Power BI context.
Regards
AB