Matt Allington on 04 Nov 2017 04:26:24
I see big value in creating a visual that can display the results of a DAX query. One way this could be deployed is a follows.
* Add the new visual to the report canvas
* Write a DAX query that returns a table (of course) and add this to the visual
* The visual would respect any cross filtering coming from the report just like any other visual.
This would give report writers very granular control to display records without having to use a table visual and a measure that triggers the display of the correct records.
Administrator on 30 Jul 2020 16:56:46
At the moment we don't have any plans to implement this. It sounds like it's mostly useful for learning/training? If there are other 'production' scenarios that you think it'd be useful, where a regular table/matrix wouldn't work, please let us know in the comments!
- Comments (26)
RE: DAX Query Language Visual
Please add ability create table visual based on DAX query, for example from Query view pick query output as table visual on canvas.
RE: DAX Query Language Visual
Isn't this a solved problem now with TOCSV?
RE: DAX Query Language Visual
The biggest win for me would be the ability to write efficient, custom-coded DAX that runs 100x faster than the SUMMARIZECOLUMNS queries that Power BI auto-generates. Whenever I have a complex data model with many dimension and fact tables, I run into performance issues with SUMMARIZECOLUMNS. It has to do with the nature of that function and how it CROSSJOINS all the dimensions from different tables and must evaluate every measure for every combination in order to find the relevant rows to display. If I have three dimension tables with 1000 rows each, the DAX engine must evaluate 1000^3 or 1billion combinations for each measure. Yes, it's often pretty good at optimizing this, but the moment I have a measure that has any complex iterations, the DAX engine falls apart and just starts cranking through every combination taking the table visual minutes to load. Then, if I add a visual-filter to suppress certain rows, the execution time doubles as it executes the filtering query, then the original query. I find that I'm often able to write my own query using SUMMARIZE that runs 100x faster. How cool would it be to just pop that DAX into the Table visual and enjoy amazing performance?
RE: DAX Query Language Visual
Key Benefits:1) Useful to create visuals showing TopN + Others2) Performance Optimization with variables3) High degree of customization
RE: DAX Query Language Visual
As well as the other use cases documented here I see this as a good way of creating a flexible ad-hoc table visualisation without having to clutter the model with virtual tables and measures that might only be used once. I can think of many instances where it would be quicker and easier to conceptualise the elements needed for a particular arrangement of data as a single DAX statement than creating and adding virtual tables and measures through the UI. There may be performance / efficiency gains by generating a virtual table within the filter context of the visual rather than pre-compiling it.
RE: DAX Query Language Visual
I'm finding I need this more and more. There are workarounds, but this would be an elegant solution to so of the more demanding customer requests that cannot be built with the UI.
RE: DAX Query Language Visual
A simple use case for such a feature would be histograms and dynamic bucketing : how many sellers have had between 0-1000 customers , 1000-10000, … withing the current context.
This currently requires adding a dummy dimension to our model and write a dedicated measure that is more convoluted than required.
RE: DAX Query Language Visual
I totally agree with the last comment made on 2020 feb 5th, it could be great to make your own DAX script to avoid the issues when filtering the visual by a measure
RE: DAX Query Language Visual
One of the most important use cases of a dedicated DAX table visual is performance, especially when filter a table by a measure. I've done tests where the SUMMARIZECOLUMNS query that Power BI generates for a table takes 2-3x longer than an equivalently optimized version that I write using my own DAX. Same results, slower performance.
RE: DAX Query Language Visual
Even in a more general sense a concept in tabular similar to Views in sql would be great. A calculated table that includes current evaluation context/does not actually evaluate until it is called. If this could be another "table type" that a user/report developer could click and drag columns from this could be even more useful.