Nick Barclay: BI-Lingual

Speaking the language of business intelligence with a Microsoft accent

Thursday, June 18, 2009

If you build it… just don’t call it PerformancePoint

angry-mob-simpsons Here we go. Now things are going to get interesting. Or are they? MS have just announced that they will make the PPS Planning source code available to customers and partners as the FPA (Financial Planning Accelerator). Is this just a good will gesture to quell the angry mob (even though their torches have probably burned out between January and now).

“Oh well, they discontinued the product, but at least they made the source code available.” I wonder how much use the FPA code will really be. Let’s remember, we’re not talking about a small codebase here. This took a reasonable sized Microsoft team a considerable amount of time to develop. A small consulting firm (the ones hardest hit by the sudden retirement of Planning) is just not going to be able to hand this stuff over to a junior developer and simply say “here, see what you can do with this.”

So, will there be a race among larger, resource-awash partners to see who can further develop and repackage the newly available code first? I’m unsure as to whether the no-cost individual license expressly precludes making an actual saleable product out of the code. Or has everyone already moved on? Some partners are probably rolling their own planning tools, others have sought alliances with alternative vendors, some have probably given up on the idea of a planning, budgeting & forecasting service line altogether.

There were many partners both large and small who invested significant time and money into the future of PPS Planning, and rightfully so – it was strong v1 product and was heading in the right direction. Some of the smaller players were left high and dry by the January news. The announcement also didn’t do much for the customers of varying sizes who were about to start, in the middle of, or just completing a Planning project. I was speaking to a customer the other day who asked me specifically not to mention the name “PerformancePoint” internally for that very reason. They’re looking forward to using the M&A functionality that will be baked into MOSS 2010 but want to be sure that we just don’t use “the PP word”.

I’m sorry to say that I’m seeing more and more customers recoil in fear at the mention of the name PerformancePoint. Microsoft did themselves no favors with the way the PPS roadmap was so suddenly changed earlier this year. As a result PerformancePoint has almost become a dirty word. This is truly unfortunate for the remaining part of the product that will soon become PerformancePoint Services. In the meantime any opportunities for M&A work need extra TLC to convince potential customers that the “other half” of PPS 2007 is still a safe bet for the future.

Whatever new or different products come out of the FPA code I would strongly advise those working on it to ensure they give it a completely different name. I would also hope that MS will recognize the damage they have done to their PerformancePoint brand and come up with a new name for the M&A features coming in MOSS 2010.

Anyone got any suggestions for an alternate name for PerformancePoint Services? In line with all the products it should probably be <InsertNameHere> Services.

Thursday, June 4, 2009

Book Review: Now you see it

Full disclosure: the author provided me with a free, pre-release copy of this book.

NowYouSeeItCover Anyone who has worked with me knows that I am big fan of Stephen Few’s work. I consider Information Dashboard Design compulsory reading for anyone who calls themselves a BI professional. In his new book, Now you see it: Simple visualization techniques for quantitative analysis, Stephen casts a wider net addressing anyone whose job it is to analyze data to discover trends, patterns and exceptions hidden within it.

The book centers around developing the reader’s skills particular to the organization, analysis and interpretation of graphical data. Few continues his quest to help readers harness the power of visual perception by presenting data in such a way that information, and the story behind it, becomes clear. Consider once more the book title and cover art: Now you see it.

The author provides a brief history of the discipline of data visualization, its importance and potential. He breaks down the attributes that make a good analytical data set, the traits of a good analyst and functionality a good analytical software package should support. Once readers are familiar with these concepts they learn how the data, analyst and software are best brought together.

Time is spent explaining how data visualization best practices and techniques can be employed in order to extract maximum value out of the massive amounts of data we find ourselves immersed in these days. Logical explanations and relevant examples are provided showing when to use particular visualizations for specific data in order to achieve maximum analytical value. Whole chapters are dedicated to individual analysis types such as time series, distribution, deviation, correlation among others. Each chapter teaches how to effectively present the data graphically as well as how to recognize, interpret and understand patterns specific to a particular analysis type.

I always enjoy Stephen’s books, I am smarter as a result of reading his work and I like his easy-going writing style. In this book he takes on the role of teacher but I never really felt like I was being “taught”. Like his other books Now you see it is full of relevant, colorful figures, illustrations and diagrams that bring the written content to life.

These days more and more people classify themselves as “analysts” - those who work with data in some way, shape or form to help a business achieve its goals. Now you see it teaches analysts, or any BI professional for that matter, how to take their data visualization and interpretation skills to the next level. Yet another highly recommended book to add to the BI library.

Wednesday, April 1, 2009

Good to be an MVP (again)

I was really happy to receive the (non-April Fools) email this morning informing me that I’m an MVP for another year. Very flattering :)

Tuesday, March 3, 2009

Installing and Troubleshooting M&A on Win / SQL 2008

With some upcoming presentations on the horizon it was time to build a new Win 2008 VPC. I found out a few gotchas that are worth noting in order to get your fresh, standalone M&A instance up and running quickly. Please note I haven’t tried all the different install scenario permutations. I found some of the points below helped me to get things working as they should.

Pre-Install

First some pre-install tips. Don’t worry if you’re reading this after you’ve installed, just keep the following in mind for next time.

UPDATE: here is a MS knowledgebase article that detailing steps to perform SQL 2008 / PPS installs

Install SP2 before you configure M&A

I don’t know of a specific reason why you shouldn’t configure the M&A server and then load SP2, but it’s probably a good practice on a fresh install. So install M&A, but don’t run the configuration wizard yet. Next install M&A SP2 (remember, you only need to execute PSCSrv.msp, the others are for Planning). Once you’re done, run the configuration wizard.

Install SQL 2005 CU 9 Updates

You may be given a pre-req warning signal while configuring the M&A server telling you that “SQL ADOMD.NET 9.0 (SP2) is not installed”. Note that this is not a red hard-stop, just a yellow warning; you can actually go ahead without these bits if you wish. I actually ignored it on one install and didn’t find any real difference in my ability to connect to both SQL 2005 and 2008 SSAS cubes, nonetheless it’s nice to have greens all the way down the checklist when you install.

Load the following CU 9 updates for SQL 2005 (no, you don’t need to have SQL 2005 installed). You can download these here.

  • SQLNCLI
  • SQLServer2005_ADOMD
  • SQLServer2005_ASOLEDB9
  • SQLServer2005_XMO

Post Install

The following assumes you have installed and configured SQL 2008, MOSS/SharePoint and PPS M&A and are having problems getting things going.

.NET Framework 3.5 & AJAX Extensions 1.0

Once you’ve run through the M&A configuration steps and subsequently try to deploy, publish or connect to the server you may come into some trouble in the form of the (very descriptive) “Unable to connect to server” error.

UnableToConnectToServer

If you try and browse to the M&A web service (http://MyServerName:40000/WebService/PmService.asmx) you might be faced with a stack trace that looks similar to this:

Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: Could not load file or assembly 'System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

Source Error:

Line 23:     <compilation defaultLanguage="c#" debug="false">
Line 24:       <assemblies>
Line 25:         <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
Line 26:       </assemblies>
Line 27:     </compilation>

Source File: C:\Program Files\Microsoft Office PerformancePoint Server\3.0\Monitoring\PPSMonitoring_1\WebService\web.config    Line: 25

Assembly Load Trace: The following information can be helpful to determine why the assembly 'System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' could not be loaded.

The .NET Framework 3.5 is a pre-req for SQL 2008. Excellent. AJAX is now a built in component of 3.5, so when we ran the M&A Configuration Manager we no longer get a warning flag asking us to install the AJAX 1.0 extension (when configuring M&A on earlier versions of the framework we were warned that we needed to install the AJAX 1.0 components). However, this appears be a red herring – it seems installing v1.0 of AJAX will actually be more of a help than a hindrance.

From my testing these problems seem to be caused by M&A still looking for version 1.0.61025.0 of AJAX but not finding it. Simply changing the value in the Version attribute in various web.config files as I referenced in this post some time ago seems to help but did not resolve the problem completely for me this time.

Solution: If your M&A server is already installed and configured don’t worry. Download and install the AJAX Extensions 1.0. After an IISRESET you should be good to go.

Ensure the Application Pools are Started

I found that when I did a fresh install on Server 2008 some of the M&A application pools sometimes did not get started automatically. This can result in “503 Service is Unavailable” and / or “Unable to connect to server” messages. Go into the IIS manager and ensure both the Preview Site and Monitoring Service application pools are started.

Speaking at TechEd USA 2009

I always knew living in the USA would give me a much better chance of finally attending the big daddy of TechEds. This year’s event will be taking place in Los Angeles from May 11th - 15th. I got the word recently that one of my session submissions has been accepted.

I’ll be presenting a session on PerformancePoint Monitoring and Analytics - the part of the product that is not going away. The session will cover ways to provide more dashboard interactivity, using web page reports and simplifying access to element metadata.

There are a lot of people I’m looking forward to catching up with there. See you all in LA!

Wednesday, February 25, 2009

Now *that’s* a fast browser!

One of the bigger stories on Techmeme right now about the latest beta version of Apple’s Safari browser and how fast it is. But just how fast is it? In CNET News’ article a 3d chart is used to illustrate the point.

pc_benchmarks2

(ref: CNET News - Safari 4 benchmarked: 42x faster than IE 7, 3.5x faster than Firefox 3)

There are several things wrong with the graph above from a data visualization perspective but there is one that is glaringly obvious and absolutely relevant to the topic at hand. As a result of the data-obfuscating 3d perspective of the graph it looks like the Safari 4, Minefield and Chrome browsers performed their tests in less than 0 milliseconds! Are we talking pre-cognition here? Maybe these browsers know the web page you want to view before you do; a pretty cool feature.

I think I may have heard somewhere that Microsoft research has been trying to crack the browser pre-cognition market too with a new development platform named ESP.NET :)

Here are two attempts I had using the same data.

Benchmark1

…and another in grayscale

Benchmark2

Friday, January 23, 2009

R.I.P. PerformancePoint Server

I just love a good premature leak, don’t you? Let’s spell it together… N-D-A.

Anyhoo the announcement has now been made officially on The BI Blog along with an explanatory video from Guy Wiesmantel. PerformancePoint Server, as a standalone product, is being retired. There are two main takeaways from this announcement:

1. Monitoring & Analytics will live on and is to be incorporated into future versions of MOSS Enterprise. So M&A is staying but will be considered a part of MOSS, to be known as “PerformancePoint Services”. I would assume this embedded version of M&A will completely replace the current (and very ordinary) BI/dashboarding capabilities that are bundled with MOSS Enterprise.

2. The Planning part of the PPS product is being retired. Naturally, it will still be supported up until its end-of-life but that will be it. Aside from a to-be-released SP3 no further PPS Planning development will happen. Budgeting & forecasting functionality as is currently provided by Planning will no longer be part of the MS BI stack.

Interesting times…

Friday, December 12, 2008

SSAS 2008 Dynamic Sets in Analytic Reports

The primary aim of PPS SP2 is really platform support, particularly the addition of SQL 2008 as a data source. One of the subtle new features of Analysis Services 2008 is the support for dynamic named sets. Now that we can connect to 2008 cubes we can take advantage of them.

In 2005 we could create named sets but the members they contained were static did not change once the cube had been processed. This is probably why the 2005 AdventureWorks cube doesn't contain any TOP / BOTTOMCOUNT named sets - they were static and not of much use. In 2005 if we want a dynamic TOP n result set we need to write an MDX statement containing a session-scoped WITH SET statement.

WITH
  SET [Top 10 Selling Products] AS
    TopCount
    (
      [Product].[Product].[Product].MEMBERS
     ,10 
     ,[Measures].[Sales Amount]
    )
SELECT
  [Measures].[Sales Amount] ON 0
,[Top 10 Selling Products] ON 1
FROM [Adventure Works]
WHERE
  [Date].[Calendar].[Calendar Year].&[2002];

If we wanted a PPS analytic report displaying TOP / BOTTOM n data from an SSAS 2005 data source we had to plug an MDX statement into the analytic report definition like the one above. Because we had to write manual MDX in order get the desired result the user lost their right-click interactivity in the deployed dashboard.

Enter SSAS 2008 dynamic named sets.  By setting a named set's Type property to Dynamic we now have a set that will recalculate its members based on the context of the query it is referenced in.

SSAS2008DynamicSet

CREATE DYNAMIC SET CurrentCube.[Top 10 Selling Products] AS
    TopCount
    (
      [Product].[Product].[Product].MEMBERS
     ,10
     ,[Measures].[Sales Amount]
    ) ;

Because the named set is an object within the cube we can now build out an analytic report using drag & drop and don't have to touch the MDX to get what we need. As a result users have full access to the right-click menu.

Demo

I set up 3 analytic grid reports using a named set called Top 10 Selling Products and embedded them in a dashboard.

  1. References a Top 10 Selling Products dynamic named set I defined in the AdventureWorksDW2008 cube
  2. Manual MDX implementation of Top 10 Selling Products completely defined in the query tab of the Analytic View Designer (using the MDX code above)
  3. References a Top 10 Selling Products named set that I defined in AdventureWorks for SSAS 2005 (a static named set)

I created a single date filter and hooked each of the grids up to it. As you can see from the shot below. At the All Periods level all three grids show the same 10 products and the same Sales Amount totals. All is well.

AllPeriods

When we filter on a year, say CY2002, we see several things.

  1. The SSAS 2008 grid is noticeably faster and completes rendering first with accurate results
  2. The manual MDX implementation results match those returned by the SSAS 2008 version, as it should, but it was slower.
  3. The members that make up the SSAS 2005 named set do not change. We get gaps for the products that we didn't sell in 2002 - like the Mountain-200... bikes. We must have sold plenty of them in later years as the static set put them at the top of the list for all time sales.

CY2002

Now, let's try interacting with our two accurate grids. As expected the Manual MDX version has no drilldown capabilities. Remember that this limited drill functionality is by design - if you change even one character of the MDX on an Analytical report user interactivity features are disabled.

ManualMDXNoDrill

Now here's the good bit. Because the SSAS 2008 grid was built using drag & drop with no hand-altered MDX we have full right-click access to the data behind it.

SSAS2008Drill

So, if you're using (or about to start using) SSAS 2008 get stuck into Dynamic Named Sets and put them to use in your cubes.

The main advantages:

  • Drag & drop analytic report design = faster, simpler development
  • Enhanced user experience in the dashboard
  • More centralized logic in the cube, less code in the element definitions
  • Faster performance