Categories
DAX Power BI

The Ultimate Time-Intelligence Pattern

Much like the pieces on a chess board – to the novice, they represent individual units with different capabilities. Over time (or so I’m told) as experience is gained through tournaments and deliberate practice, the view of the novice expands to the point where the student stops seeing “individual pieces” and starts seeing “setups & […]

Categories
Uncategorized

What is Super DAX?

In a recent post, I mentioned something called Super DAX without giving it a very detailed explanation. If you’ve been working with SSAS for a few years and have a couple of Tabular projects under your belt, you may already be familiar with some of the performance improvements that roll up under the term “Super […]

Categories
Uncategorized

SSAS Multidimensional and Super DAX

An interesting question came up during a recent engagement involving Power BI reporting against a Multidimensional data source. The client wanted to know if there was any benefit for them in upgrading from SSAS 2014 Multidimensional to SSAS 2016 Multidimensional. My initial response was “no, there would be little benefit in carrying out that upgrade… […]

Categories
Uncategorized

Engaging the Formula Engine Cache with SSAS Tabular

One of the more subtle architectural differences between tabular and multidimensional instances is caching. Multidimensional is a disk-based technology and performance for query workloads (in many cases) depends heavily on cache utilization. Tabular, on the other hand, is a memory-based technology with (nearly) zero dependence on disk IO and is therefore much less dependent on cache for query […]

Categories
Uncategorized

Implementing Logical AND on Members From Same Hierarchy

The default behavior when filtering on multiple members from the same attribute hierarchy is a logical OR. In the pivot table above, we have the [Internet Customer Count] measure (which is a distinct count measure) sliced by Product Subcategory and filtered for [Mountain Bikes] and [Tires and Tubes]. This shows that 4,089 customers bought at […]

Categories
Uncategorized

SSAS Tabular, Telerik, Multi-Value Parameters with DAX

Earlier this summer, I started working with a new client to develop the next version of their reporting platform. This client already had the reporting requirements and good jump start on the underlying data model but had run into some serious performance issues when trying to report directly from the relational data model using stored procedures. After some […]

Categories
Uncategorized

Analysis Services 2012: Tabular or Multidimensional?

If you regularly follow this blog, then chances are likely that you are already well aware of the new Tabular mode in SQL Server Analysis Services 2012. If not, don’t sweat it – we won’t be diving into anything super technical in this post  😎 Analysis Services Tabular is a new mode that I would […]

Categories
Uncategorized

Top FREE tools for SSAS 2012 Developers

Over the years, I’ve come across a number of tools aimed at helping SSAS developers work more efficiently.  In this post, I’ll share with you the ones I’ve found the most useful and give you a brief explanation of why. Note: Most of these tools were released prior to Analysis Services 2012, but fortunately, aside […]

Categories
Uncategorized

How to Calculate the Median in T-SQL, MDX, and not DAX

Building from my last post, Performance Metrics: Average, Mean, Median, and Outliers, where I covered the topic of when to use Median instead of Average, in this post I’m going (to try) to show you how to calculate the Median of a set of values in T-SQL, MDX, and DAX. Calculate Median in MDX Let’s start […]

Categories
Uncategorized

Is it possible to circumvent role-based row-level security with a well-crafted DAX query?

Recently, while discussing role-based security in SSAS Tabular models with a few colleagues, the following question came up: Is it possible to write a DAX query in such a way that row-level security is bypassed? At the time, we all agreed that the notion seemed ridiculous…if that were possible, what’s the point of even having […]