Chris Webb's BI Blog

Analysis Services, MDX, PowerPivot, DAX and anything BI-related

Archive for January 2006

BI Pathfinder

with 3 comments

Yet another beta test invitation arrived the other day, for an intriguing new tool called BI Pathfinder:
To quote the website’s FAQ:
BI Pathfinder is a methodology based software tool providing a structured approach to specifying and documenting BI Reporting systems.
If you’re interested in becoming a beta tester too, send a mail to

Written by Chris Webb

January 26, 2006 at 11:27 am

Posted in Project Management

ascmd tool beta

leave a comment »

I’ve just noticed Dave Wickert’s post on the following thread on the Analysis Services MSDN forum, and thought I’d flag it up:
If you’ve ever wanted to be able to execute MDX or XMLA from the command line then you might want to sign up to be a beta tester for the tool he’s co-developing. Here’s a summary from the original post:
With it you can execute either an XMLA script or an MDX query. Input and output can come from either the command-line or files. It is called ‘ascmd’ and is patterned after sqlcmd’s syntax and capabilities. Optionally you can as it to capture trace events  issued on the session (like SQL Profiler does). It runs over both tcp/ip connections and http access and it supports the new AS2K5 multi-instancing also.
UPDATE: ascmd is now available in the April SQL2005 samples download, available here:

Written by Chris Webb

January 23, 2006 at 3:56 pm

Posted in On the internet

MDX Limericks

with 8 comments

Since last summer’s ‘OLAP Jokes’ entry was the most popular (in terms of links to it) entry I’ve made on this blog so far, I’ve been wracking my brains for a suitable follow-up. During my lunchtime browsing today I came across this posting on a certain Phil Factor’s blog:
…and thought that anything those SQL guys can do, us MDX-ers can do better. So I’d like to announce an MDX limericks competition. No prizes apart from the admiration and respect of the entire Analysis Services community, I’m afraid, but who needs prizes when faced with a noble challenge such as this?

Here are the rules:

  • Each entry must be an MDX query executable against any cube/perspective in the Adventure Works database, and must take the form of a limerick (see for details)
  • The query must return at least one cell which contains a value other than null
  • Entries should be posted as comments to this blog entry
  • Extra points will be awarded for wit and creativity

It’s actually pretty difficult. Here’s my first attempt:

WITH MEMBER [Date].[Day Name].[TODAY]
AS 1 + [Date].[Day Name].[THURSDAY]
SELECT [Average Rate]
ON 0, [Date].[Date]
ON 1 FROM [Direct Sales] WHERE([MAY])

As an aside, this brings up the vexed question of how you should pronounce MDX. In my limerick I’m not pronouncing the punctuation so it reads:


However I’m prepared to be flexible on this point.

So come on all of you (and especially you Jon, as I know you can never resist something like this) and get composing!


UPDATE: I’ve decided two rule changes, to make things easier. First I’ll allow queries from Foodmart 2000 for those of you on AS2K; second I’ll allow statements other than SELECT statements (eg CREATE SET, UPDATE CUBE etc) so long as they execute without errors.


Written by Chris Webb

January 19, 2006 at 2:29 pm

Posted in Off-topic

The StrTo functions and CONSTRAINED

with 10 comments

If you’ve been using Reporting Services 2005 to generate MDX you’ll have probably noticed that the StrTo<Something> family of functions (StrToSet, StrToMember, StrToTuple, StrToValue) have gained an extra, optional parameter – the CONSTRAINED flag. It’s not mentioned in Books Online and since someone has been asking about it on the newsgroup I thought it would be worth a quick post explaining what it does.
Basically it’s a security feature for middle-tier scenarios to stop MDX injection attacks. Running parameterised MDX queries in RS is probably going to be the most common example of when you’d want to use it, but I guess anywhere where you are generating dynamic MDX in code you’re running the risk of an evil user trying to pass you a stored procedure call (or something worse) instead of the member name or key you were expecting. By putting the CONSTRAINED flag in your query you automatically restrict what the StrTo<Something> functions can accept as their first parameter:
  • StrToMember can only take a string containing a member name
  • StrToSet can only take an explicitly defined set, ie a list of member names or tuples in curly brackets
  • StrToTuple can only take an explicitly defined tuple, ie a list of member names in brackets
  • StrToValue can only take a constant value
What’s not allowed with CONSTRAINED is an MDX expression which evaluates to either a Member, Set, Tuple or Value. Here’s an Adventure Works query which illustrates this:


MEMBER MEASURES.STRTOSET_TEST1 AS COUNT(STRTOSET("{[Measures].[Internet Order Quantity]}"))











The final calculated member here produces an error because "MEASURES.MEMBERS" is an expression which evaluates to a set and is not an explicitly defined set like the ones in the first or third calculated members.
UPDATE: Jon makes a good point in the comments…

Written by Chris Webb

January 17, 2006 at 11:46 am

Posted in MDX

Paper on Data Mining Reports

leave a comment »

There’s a good paper on how to create Reporting Services reports which use Analysis Services data mining available here:
It’s taken from Teo Lachev’s book, Applied Microsoft Analysis Services 2005, which is on my list of must-buys (other sample chapters are available here: and it looks like it’s pretty good in terms of content).

Written by Chris Webb

January 17, 2006 at 11:05 am

Posted in On the internet

Impressions of Pentaho

leave a comment »

Not Microsoft BI-related, but I guess we all know we need to keep an eye on what’s happening in the open source BI space. To that end I thought I’d link to the Bayon Technologies blog (usually covering Oracle BI) where there’s a good, ongoing series of posts on Pentaho. See:
…for the story so far.

Written by Chris Webb

January 12, 2006 at 1:33 pm

Posted in On the internet

Cluster Migration

leave a comment »

Just seen this MSDN article on migrating an AS2K cluster to AS2005:
It also contains some links to other useful KBs related to AS clustering.

Written by Chris Webb

January 12, 2006 at 10:32 am

Posted in On the internet


Get every new post delivered to your Inbox.

Join 4,002 other followers