BISM Normalizer: Version 1.3.12 Released!

Download it from the BISM Normalizer Visual Studio Gallery page.

Enhancements in

  • Support for Visual Studio 2013 and SQL Server 2014. To run Visual Studio 2010/2012/2013 on the same machine, point them at the same local Addin folder in Visual Studio options.
  • Using a new (very simple) InstallShield installer. This will hopefully resolve the issue with the installation path pointing at a remote Addin folder based on target machine settings. I am unable to test this.

Update 4/4/2014: fixes in

  • Fix for BISM Normalizer window re-initializes when loses focus (Visual Studio 2012 and 2013 only).

Video of BISM Normalizer

Revised video of BISM Normalizer.

BISM Normalizer: Version 1.3.11 Released!

Download it from the BISM Normalizer Visual Studio Gallery page.

Enhancements in Version

Support for tabular objects created by BIDS Helper.

  • Actions are first-class objects listed in the differences grid.
  • Display folders are attributes of other objects (tables with columns/hierarchies, measures) and visible in those objects’ definitions.
  • Translations are attributes of other objects (tables with columns/hierarchies, measures, perspectives, actions) and visible in those objects’ definitions.

It is necessary to enable the features in the BISM Normalizer options dialog (accessible from the Connections dialog).

BISM Normalizer Options

BISM Normalizer is 2 Years Old!

BISM Normalizer is 2 years old today. I launched it on Christmas Day 2011 (way before SQL Server 2012 hit RTM). It’s arrival was marked by a wise man writing a blog post.

Having done various presentations about BISM Normalizer at the PASS Community Summit, SQLBits and other events, I gradually became more aggressive in selling its benefits – especially challenging the SSAS Deployment Wizard.

I have considered opening up the source code on Codeplex. I also had discussions about selling the source code (the executable is obfuscated), but they didn’t work out. I don’t know the future of BISM Normalizer, but the most likely outcome is I continue to give it away for free on the VS Gallery as I have done till now. The benefits of giving it away (for me) are that it raises my profile both as a consultant and in the SQL community.

So consider BISM Normalizer a Christmas gift of enterprise code management for Analysis Services, facilitated deployment, and promotion of a “single version of the truth” for business definitions covered by BI models.

Merry Christmas – or Happy Holidays – to you and your family!

BISM Normalizer: Version 1.3.10 Released!

Download it from the BISM Normalizer Visual Studio Gallery page.

Enhancements in Version

  • Measure/column formats included in object definitions for comparison.  Note: column datatypes have always been included.
  • Measure/column/table visibility included in object definitions for comparison.
  • Expiration date extended to June 30th 2014. It is unclear what will happen to BISM Normalizer after this time, but I have no intention of charging license fees.

Multidimensional or Tabular

This post is not a list of multidimensional features unsupported by tabular. This has been documented already by various reliable sources including the following posts, as well as PASS presentations.

First thing I would like to say is I agree that there is lots of work for tabular to catch up to the feature-rich multidimensional. The tabular-model designer inherited from Power Pivot is sluggish for models with lots of tables, and buggy. The Excel-like DAX formula bar is, to put it politely, annoying. Without saying anything too controversial, MS corporate BI has been playing second fiddle lately.

However, tabular does make sense for many customers today. For most customers, having fast performance is more important than the unsupported features – which invariably either have “workarounds” or are fringe use cases.

On the workarounds, if the same functionality can be delivered to the business, they don’t care if we technical people see it as a “workaround” because it’s not delivered the same way we are used to. And the business people are the ones that matter. This applies to many-to-many relationships, parent-child hierarchies, role-playing dimensions (can create multiple instances of same table), and various other items.

For what I’m calling the fringe use cases, the supportability of some of these does not make sense for many customers. Hand a solution to support that uses MDX stored procs, extensive scoped-cell assignments and they will struggle. How many implementations use these features because the developer thought they were cool rather than having any real business need? I think quite a few.

Other use cases may be showstoppers like unary operators and writeback, but not for the majority of implementations.

Scoped-cell assignments are in the potential showstopper list too, but in most cases if calculation logic is pushed to the ETL layer (where it belongs if not one of the strengths of the cube/tabular model like aggregated level calcs, or those which would cause a data explosion problem at the relational level, etc) to avoid the formula engine where possible, then DAX is a pretty capable and powerful language for calculations built into the tabular model.

On the tabular memory limitation, many customers I’ve talked to are worried they won’t fit into memory when they are actually nowhere near the upper limit of what they can relatively easily get on a server (especially when limited to the required data). Also, more memory will only become more viable in the future. For a multi-terabyte data warehouse implementation like a, then yes but again this is a fringe use case.

As noted elsewhere,

  • When a project chooses multidimensional or tabular, it is not possible to change your mind without starting development again.
  • I think it is widely accepted that Microsoft is more likely to build new features and put future development investment into tabular than multidimensional.

It is a valid statement that a project may need some of the features unsupported by tabular at a later date, which could be a problem. Conversely a project may encounter performance issues with multidimensional that were not anticipated at the start of the project.  One could also argue that, as new features are built into tabular, could be stuck with multidimensional and unable to leverage better tabular capabilities in the future.

Update Nov 13 2013 – post from Marco Russo: Updates about Multidimensional vs Tabular

Reflections on PASS Summit 2013

Back home after an awesome PASS Summit.  I wish I could have stayed for SQL Saturday Charlotte, as they had a great speaker line up including Jeffrey Wang (b) and Teo Lachev (b|t).

It would have been good to have others from the UK/Europe who couldn’t make it including Chris Webb (b|t), Jamie Thomson (b|t), Mick Horne (b|t), Marco Russo (b|t) and Alberto Ferrari (b|t).

It felt great to finally speak after submitting abstracts 9 years in a row. As I said in my session, I totally understand that there is stiff competition in my area of SSAS/MDX/DAX. Marco Russo mentioned that there was a different speaker selection process this year, where (as I understand it) the initial screening team didn’t know the names of presenters. To be honest, this is probably why I got selected, which I’m obviously happy about. But I understand that many attendees (including myself) come to PASS hoping to watch well-known, established speakers’ sessions. As I discussed with Brent Greenwood (b|t), I think the fairest policy is to assign some sessions to established speakers, and other sessions to upcoming talent to give them a shot. I’m sure PASS has every intention to implement a fair policy regarding speaker selection.

I had a blast at the Pragmatic Works #SQLKaraoke event. The best people to rock out with are of course drunk people because they are easily pleased. It was great to see Emily Jones, Michael Fritts and Brian Knight. Here is a video of me of me singing STP Interstate Love Song, and here is Emily and Brian.

I was hit hard by jet lag and hardly slept the whole time in Charlotte. So I had plenty of Red Bull to keep me awake during the day, which then meant I got even less sleep the next night (genius).

My session was on Friday at 8 AM. I tweeted this at 4 AM.

Tweet 1

It got re-tweeted almost immediately at 4 AM. Interesting.

As it turns out, I did get quite a few late arrivers to my session (they were all smartly dressed though).

I spent the first half an hour talking about tabular schema compare / BISM Normalizer / enterprise topics such as deployment of large tabular models, version control, code branching/merging, etc.

I’m happy I got a good turnout. However, I think I would have got a lot more if I’d named my session differently. Instead of “Get Your MDX/DAX Tips and Tricks: Currency Conversion”, a better name would have been “SSAS 2012 Tips and Tricks with Tabular Schema Compare”.  Multiple people at the Birds of a Feather table said they would have attended my session if they’d known I was going to cover tabular schema compare.

To keep the audience awake, I threw a bunch of stress balls at them when they responded to my questions. I assume that, as there were no stress balls thrown back at me, they found my jokes mildly amusing. After what went down at the BI Power Hour, I was not in the least bit worried about injuring anyone with a flying stress ball.

There is no denying that, when presenting, you want the heavy hitters to attend your session. Jeffrey Wang attended, but he arrived just after I finished talking about BISM Normalizer – which is the bit I would most have wanted him to see. This explains why I subsequently made several (repeated) references to tabular schema compare during my session. I really enjoyed my chat with Jeffrey after my session.

Tools referred to at numerous points of my session:

Regarding other sessions, I knew before I went to Charlotte that my favorite session would be Greg Galloway (b) & John Sirmon (t) on tabular performance tuning. It didn’t disappoint.

The BI Power hour was a huge hit as usual. I think the funniest moment was when Kaspar de Jonge (b|t) received an unexpected tweet from Julie Koesmarno (b|t) and proceeded to swiftly switch off his Windows 8 notifications.

I was one of the table hosts at the Birds of a Feather Lunch. I planted myself on the tabular table. Met a bunch of really experienced SSAS guys. We spent time reminiscing about things like being engrossed in George Spofford’s first MDX Solutions book back in the day – and of course my old favorite the MDX Sample application written in VB6. Great time.

As always had a laugh with Allan Mitchell (b|t), who said he would hook me up with a guy that needs a 50 terabyte SSAS implementation. Allan deals in the big league.

I thoroughly enjoyed meeting up with #SQLFamily including Gerhard Brueckl (b|t), Allan Mitchell, Jeffrey Wang, Kaspar de Jonge, Jason Thomas (b|t), Javier Guillén (b|t), Greg Galloway, Brent Greenwood, Carlos Rodrigues, Emily Jones, Michael Frittz, Brian Knight, Matt Wolter, Pieter (can’t remember your 2nd name), and a bunch of really cool guys at the birds of a feather table (sorry – missed most your names).


Get every new post delivered to your Inbox.