Automatically resolve arbitrary shaped sets to subcubes
If there is one change that would make my life easier, it's this...
I know and understand the rules governing subcubes used for assignments, and I know that if I get an 'arbitrary shaped set' error on deployment of a script containing a single assignment I can break that assignment up into multiple valid subcubes and AS will be happy. However, in practice, doing so often leads to code duplication on a massive scale and a maintenance nightmare.
Upvotes: 26<=-=Apr 24 2008 3:02PM=-=>
Sorry Chris, it too late for this in SQL2008. We’re completely locked down and only fixing serious bugs at this point. Couple of months might have yielded a different response.
TK<=-=Apr 25 2008 12:04AM=-=>
That’s ok TK, I knew it would be too late for this release. But can it go top of the list for AS2011? Thanks!<=-=May 12 2008 6:55PM=-=>
This is especially annoying if doing something complex. For example, lots of cell assignments within a single scope statement. When particular members need exactly the same assignments (which happens a lot in the real world), it’s nice to specify them in one place (the scope statement) and have them inherit the logic. I have often found myself doing the cardinal sin of “copy and paste reuse” by creating another scope statement for each member in order to reuse the assignments. I’ve seen this contribute considerably to MDX-script unmanageability (I suppose it keeps us consultants in a job when no one else can figure out what on earth our MDX is doing).
The same issue applies when trying to scope on a set including more than one calculated member (typically a calculated measure, but not necessarily). We then get the �a set has been encountered that cannot contain calculated members� error. I know the behavior could potentially be different across calculated members vs. true members (in terms of auto-aggregation), but as Chris said, if I can break it down into something that is acceptable to Analysis Services, why can’t Analysis Services do this itself? It won’t even accept a set that comprises solely of calculated members (without a base member in sight).