DAX Studio 2.7.0 Released

The major change in this version is to the tracing engine. We’ve introduced a new trace type and made some changes to the way the tracing windows operate and incorporated some enhancements to crash reporting and enabling logging.

We've also finished moving off our old codeplex home onto http://daxstudio.org

Changes to the way trace windows work

Previously when you clicked on a trace button, the window opened and the trace was started and when you switched off the trace the window closed. The running of the trace and the visibility of the window was closely linked.

In v2.7 we have removed that tight linkage, when you click on a trace button the window opens and the trace still starts as it used to, but when you switch off the trace the window now remains open. The table below shows the 2 new states that trace windows now have.

v2.6 and Earlier

V2.7 or later

Window Visible - Trace Running



Window Closed – Trace Stopped

Window Visible - Trace Running

Window Visible – Trace Paused **

Window Visible – Trace Stopped **

Window Closed – Trace Stopped

All trace windows now have a number of additional controls in their title area.

clip_image002  Starts a paused or stopped trace

clip_image003  Pauses a running trace

clip_image004  Stops a running trace

clip_image005   Clears any information captured in the current trace window

The tabs for the traces now also have an indicator to show their state so that you can see the state of a given trace at a glance. In the image below you can see that the All Queries trace is stopped, while the Query Plan trace is running and the Server Timings trace is paused. Note that while a trace is paused the server side trace is still active it’s just the DAX Studio UI that is paused, so expensive trace events like Query Plans can still have an impact on the server.


The other side effect of this change is that if a .dax file is saved while a trace window is open, when that file is re-opened the trace window will also re-open with the saved trace information, but now the trace will be in a stopped state (previously the trace would open and re-start). This prevents accidentally overwriting the saved information and also means that the saved trace information will open even if you cancel the connection dialog (which would not happen in v2.6 or earlier, cancelling the connection would cause the saved trace information not to open)

The “All Queries” trace

The new trace type is called “All Queries” – which captures all queries against the current connection, regardless of the client application. This is useful for capturing queries from other client tools so that you can examine them.

When the trace is active it will capture all events from any client tool. The screenshot below shows a capture session that was running against a PowerBI Desktop file. When you hover over the queries the tooltip shows you a larger preview of the query and double clicking on the query text copies it to the editor


The “All Queries” trace has a few additional buttons in the title bar area.

The following button in the trace window title clip_image010 will copy all the queries matching the current filter to the editor pane.

The Filter button clip_image011 shows and hides the Filter controls, the clear filter button clip_image012 will clear any filter criteria from the filter controls.

Filters can be set for a specific type of query DAX/MDX/SQL/DMX, for a duration range, username, database or query. The filter all do a “contains” style search that matches if the text you type is anywhere in the field.


Note: You cannot have the "All Queries" trace running with either the Server Timings or Query Plan traces as DAX Studio currently only runs one trace session per query window and these traces apply different filters to the trace events. We expect that the normal workflow would be to run the All Queries trace and collect a set of queries. Then you will stop the All Queries trace and look at the long running queries, maybe re-running some of the captured queries with one or both of the other trace types to help isolate performance issues.

Enhanced Tooltips

The amount information in the tooltips for columns has been greatly extended. By default we now show the format string, min and max values, the number of distinct values and a sample of 10 values. There are now settings under File – Options that let you turn off either one or both of the basic statistics or the sample data information in the tooltip.

clip_image016 clip_image018

Crash Reporting

We’ve added the CrashReporter.Net component that will catch fatal crashes and give the user an option to submit a crash report containing the exception message and stack trace information that may help us resolve the issue.

Logging Improvements

We also now support a logging hotkey – holding down the left SHIFT key while starting up Excel or the DAX Studio standalone will start debug level logging. There is a link in the Help – About dialog that will open the log folder or type Win+R then enter %APPDATA%\DaxStudio\logs and click open or put that address into the address bar in Windows Explorer and hit the enter key.

Other Miscellaneous Fixes

  • Added support for opening .msdax files generated by SSMS
  • Fixing output of time portion of datetime columns when exporting to csv
  • Fixed a bug where table list sometimes did not update after changing the connection
  • Fixed missing define measure option for hidden measures
  • Fixed crash when right-clicking on the Query History window
  • Added installer support for the SQL 2017 versions of AMO and ADOMD – if you have both of these the installer should no longer insist on downloading the 2016 versions of these libraries.

Print | posted on Monday, October 2, 2017 7:57 PM