Categories
Uncategorized

On-Premise Data Gateway: Capturing SSAS Query Activity By User

When I’m managing an Analysis Services environment, I’m not just interested in the performance of the workload… yeah that’s important, but I’m also interested in the users who are generating that workload… especially the top users… and here’s why: These top users are your biggest customers. They’ve already bought-in to the product/solution and you should […]

Categories
Uncategorized

Navigating Complex Tabular Models Quickly – Developer Edition

As a developer, working with large/complex tabular models – “large” in terms of the number of tables, columns, and/or measures (not data size) – can be frustrating and borderline soul-crushing. Allow me to paint a picture for you… You’ve just inherited a large tabular model along with a large backlog of “adjustments/tweaks”… rename these columns, adjust […]

Categories
Uncategorized

How to Detect Locking and Blocking In Your Analysis Services Environment

This past weekend, after one of my presentations on Analysis Services at SQL Saturday 520, an attendee described a performance issue in his environment that he thought could be related to locking and blocking and asked if there was a way to confirm if this was the cause. The short answer is yes, absolutely! While […]

Categories
Uncategorized

Choosing the Right Instance in Perfmon

There’s been quite a bit posted on this blog regarding the collection of perfmon counters to monitor Analysis Services instances and troubleshoot performance problems. And some of the recommended perform counters (e.g. Process: % Processor Time) are “instance”-specific… meaning you need to select the name of the process for which you want to collect counter […]

Categories
Uncategorized

Load Testing SSAS with PowerShell

Load testing an SSAS database is one of those tasks that everyone should be doing but very VERY few people actually do… and I can only suspect the reason is because it’s hard. Here are the general steps involved: Capture the query workload using an xEvents (basic example, autorestart option) Shred the xEvents trace file(s) and load queries […]

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

Strategic Prototyping: Power BI Desktop vs Power Pivot

Perhaps one of the most important lessons I’ve learned over the years is that there’s no right-way / one-size-fits-all approach to implementing an Analysis Services solution. All have their pros and cons and being successful is more about leveraging the approach that best fits the client organization. That said, one approach that has proven successful […]

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

Adding Descriptions for Perspectives in Tabular

Perspectives are great way to improve the experience for users as well as developers. However, there’s a point where having too many perspectives can become a bit confusing for the typical end user. How do they determine which perspective to connect to for their self-service analysis? One option – that I’m a big fan of – is […]

Categories
Uncategorized

Boosting Developer Experience with Analysis Services Perspectives

Perspectives are typically used to simplify and improve the user experience, but a lesser known fact is that they can also simplify/improve the developer experience. Problem Developing tabular models that contain a lot of tables can be a real nightmare. In most enterprise solutions based on a dimensional model, it is not uncommon to end […]