Real Time . . . Any Use?

What does real-time business intelligence look like? Is it a dashboard reflecting current operational reality, such as the number of people waiting to be seen at an Emergency Department? I would contend that’s not real-time BI; it’s simply a display of a count direct from the operational system.

On the other hand, a computed analytic trend based on accumulated data to the current moment, and maybe illustrated against a comparable period . . . well, yes, that’s real-time business intelligence. However, apart from a very few sophisticated financial trading systems, I’ve never seen the business requirement for such business intelligence. Certainly not in the vast majority of environments, and never in the Health Service.

Sometimes, the term ‘real-time’ is interpreted literally by inexperienced practitioners, and they expend much time and effort to try to provide it.

Almost always, ‘real-time’ is not actually what’s needed – there’s no real business benefit in real-time business intelligence. However, near-real-time can be useful in certain circumstances. We do this by running micro-batches of data every minute or so, and we can keep the data warehouse up-to-date as of the previous minute. That’s typically good enough for all practical requirements.

With that, we can augment simple operational displays of number of patients waiting for triage in the Emergency Department with more sophisticated business intelligence analytics, predicting and anticipating workloads into the next thirty or sixty minutes.
That’s valuable not just for the ED, but also for total joined-up hospital management, helping Ward Management anticipate incoming patients. Near-real-time business intelligence can be used in Hospital Performance Management to improve both hospital efficiency and the quality of patient care.

Of course, this means that all reporting will come from the data warehouse – the one source of the truth – and therefore all reporting will generate the same results from the same underlying performance measures. Additional efficiencies will come from reducing the requirement for ad-hoc development effort, for reporting on currently occurring activities.

But true instantaneous real-time? Don’t think so.


Do Systems Need Documentation?

Recently, a very senior manager asked me for some advice.  He was auditing a Trust, which apparently had done a lot of in-house systems development.  In preliminary discussions, he had been told that the code was ‘self-documenting’.  Being of a practical nature, he gave me a call and asked for my opinion.  My immediate reaction was that it sounded like the developers were being economical with the actualitè; or the least, they were living in a fools’ paradise.

I thought about it a little more, and talked to my business partner, and we came up with this:

Whilst it is a truism that no professional ever trusts anything but the code, there’s more to it than just the code.   The purpose of documentation is to support systems maintenance, by showing people how to get started, and the meaning of stuff.

The purpose of documentation is to aid maintenance by showing people how to get started, and the meaning of stuff.

More specifically: when a piece of the system is broken or needs enhancement, then the maintainer needs to know where that piece is within the context of the overall system.  If the code represents each piece of the jigsaw, then the documentation is the picture on the lid of the jigsaw box.

  • How to get started is best done with overview diagrams, showing architecture, how things fit together and stuff like that.  There can be many different kinds of diagrams like infrastructure, the hardware bits, how the levels (user interface, application, data) fit together, and so on.    You need diagrams for all of that.  Visio is good for this. 


  • A data dictionary is really critical.  You can do it in the database itself, by populating the description definitions for all the data items.  But you have to do it.  One of the diagrams that you just must have in the data documentation is a schema model showing how the bits fit together.  If you’re using SQL Server, you can have the diagrams and all associated documentation right there in the database.  But wherever it is, documenting the data is a non-negotiable requirement.

It’s not worth getting hung up on the code itself, especially the system’s been built using a graphical drag-and-drop tool like SQL Server integration Services.  In that case, there isn’t any code.  But if the developers are doing a lot of coding using a language like C# (i.e. with old-fashioned lines of code style of programming),  then they have to demonstrate good source control, using a toolset like Team Foundation Server.

Jeremy Hunt – Memento Mori

This from Private Eye:

Health Secretary Jeremy Hunt was interviewed in the Times on Saturday and took an appropriately humble position about his role as a steward of the National Health Service.
“We have an amazing NHS”, he said, “. . . but some terrible things go wrong . . . I have to be the canary, whispering in the Roman emperor’s ear, ‘You are mortal, things go wrong’ “.

Now, what was it the slaves used to whisper as they went down the mines?  Oh yes,  “Respice post te! Hominem te esse memento! Memento mori!“: “Look behind you! Remember that you are but a man! Remember that you’ll die!”

I think this version has a bit more ring to it, don’t you?

PowerView from Cubes


Got a bunch of patches installed, and lo and behold, I can create a (BISM Semantic) connection to a Cube in SharePoint.  And then I can click on it.  And I’m in PowerView.  Powered by a multidimensional data warehouse!

No Data Marts, no tabular builds, no powerpivot mashups, just raw power . . . and it couldn’t have been easier.

This means that hospitals that have invested time and effort building SQL Server Analysis Services hypercubes can start using them straight away to generate PowerView Views, assemble them into a report (which is functionally very similar what we did when creating ProClarity Briefing Books), and export them to PowerPoint as active, live, connected to data presentations.

The reports can be accessed online on-demand to provide end users with immediate access to actionable information, and the PowerPoints are perfect for, well, presentations, but presentations that never get stale and are always up-to-date.

Self-Service BI. Not the way you think.

Well, the results are in.  According to Microsoft, a user is someone who might potentially use business intelligence.  For a hospital, that means about 4000 Client Access Licenses to use the BI Ed of SQL Server 2012.

Which means that the SQL Server 2010 Business Intelligence Edition is therefore stone, cold, dead.

On the other hand . . . because of EAP and other enterprise agreements, the Enterprise Edition is way, way cheaper than list price.  It becomes quite reasonable to use that for your business intelligence production system.  After all, every other BI computer is going to run Developer Edition, and at £56 a pop, that’s not going to be a problem.

As I said, dunno what Microsoft was thinking about, really.

Maybe the licensing guys didn’t know what people like Bill Baker (ex-head of the Data Warehouse Product Unit) was saying when he talked about Microsoft’s effort to “do a lot to accelerate the adoption of Business Intelligence” throughout enterprises. Or maybe they had never even heard of Bill Baker?  Ironically, he also said “Traditional inhibitors to the broad adoption of performance management have been high costs associated with implementations”.  Oh well.

Greenfield BI: Two Slide Shows

Self-Service BI. Stone dead?

Today, I sent this to Microsoft . . . I’ll let you know what happens.

Dear Microsoft,

we’re hoping you can give us a definitive answer to licensing the Business Intelligence (BI) Edition of SQL Server 2012.  Incidentally, we feel getting an answer to our question to be vitally important, but please be aware that we consider it far more important to get a definitive and official answer from Microsoft, than a quick one . . . so we understand if you need to escalate this internally.

By way of background, Redwing Business Intelligence is a Microsoft Partner, and we work in England for a variety of clients, from Property Management to Vehicle Resellers.  That said, a very substantial proportion of our business is consulting with the NHS.

At the moment, I’m consulting to Greater Manchester West Mental Health Foundation Trust (GMW), although other NHS clients include the Commissioning Support Service in the primary sector, and Queen Elizabeth Hospital in the acute sector.


The question to which we need a definitive answer is: ‘what is a user? (of SQL Server BI Edition)’. 


We have asked many people (including specialists on MDSN and a Software Licensing Consultant), and looked at many sources of information (such as the Microsoft SQL Server 2012 Licensing Reference Guide, the Microsoft Volume Licensing Worldwide website) and we cannot find a definitive answer to the question.

The question is vitally important because it dramatically affects the number of Client Access Licenses required for the BI Edition of SQL Server 2012 . . . which is only available with the Server plus CAL model of licensing.


Consider Queen Elizabeth Hospital, with some 4000 staff, where we created the entire Microsoft Business Intelligence infrastructure using SQL2008.  There are:

  • 10 dedicated information analysts who are professional report developers
  • 40 management staff who require daily pushed reports and critically, the ability to drill into reporting on demand via a SharePoint portal.
  • 200 senior clinical staff who get weekly summary pushed reports and in addition, on occasion use the SharePoint portal to drill into a SQL Server cube via web-based reporting.
  • Several hundred clinical staff who have the capability to review their work and performance online, on an ad-hoc basis . . . typically near annual appraisal time.
  • We evangelize Pervasive Business Intelligence, just like it says in the Microsoft-published report from Business Week . . . which means that the ultimate intent is that business intelligence touches every nook and cranny of the organization . . . which means that every member of staff is a potential user of business intelligence from SQL Server.  This, we thought, was the intent behind creating a BI edition of SQL Server 2012: an edition specifically for serving up business intelligence to the entire enterprise.


The Licensing Reference Guide states:

To access a licensed SQL Server, each user or device must have a SQL Server CAL that is the same version or newer than the SQL Server software version being accessed. For example, to access a server running SQL Server 2012 software, a user needs a SQL Server 2012 CAL.

The implication is quite strong (but not definite) that it is the access i.e. the connection that is what’s being licensed.   The consequence is that if(for example) I had a pool of 20 users, working in 2 shifts of 10, then I would need 10 CALs as I only have 10 users accessing the box at any one time.  This is a per-active-user model.

Interestingly, the Licensing Reference Guide also states:

Server and Client Access License (CAL) Licensing  . . .  This licensing model can be used when the number of users can be readily counted

This looks very much more like a per-active-user model than a per-potential-user model . . . I can easily count maximum actual accesses to SQL Server, but I cannot ever count the number of people who might potentially use the system (except maybe to count total number of staff).


However, one reply I’ve had to date from a third party (a Software Licensing Consultant in the UK) says the opposite:

Hi Donna, Microsoft do not offer concurrent licensing. Based on what you have said above you would need SQL server Std with 20x CAL’s. If you require business intelligence you would also need SQL BI server but no extra CAL’s.”.  That’s a per-potential-user model. 

Further, the infrastructure guys here at GMW say that to use the BI Edition, we need CALs for everyone in the entire NHS Trust . . . all 4000 of them.  That’s also a per-potential-user model. 


Cutting to the chase, the central issue in CAL licensing is ‘what is a user’, and the answer is critical to whether or not the BI Edition of SQL Server has a future.  

A (per-potential-user).  If a user is someone who might access the BI box at some time, ever, then I need a CAL for every person in the enterprise . . . say, 4000.

B (per-active-user).        If a user is someone who is actively using the BI box then I need only enough CALs for my pool of active users, which is a lot smaller, say 100.

The breakeven point is about 250.  Above this number, Enterprise is cheaper than BI.  If the answer to ‘what is a user’ is scenario A, then the BI edition is stone dead, as the only organisations that need a BI Edition are those with employee counts > 250, and the enterprise may as well buy Enterprise.  


The answer — A or B — means a huge difference in licensing costs for any organisation wishing to take advantage of the Self-Service Business Intelligence features of SQL Server 2012.   If A, it will mean that for business intelligence, the choice of Edition will be either Standard or Enterprise — but never the BI Edition.  (We cannot believe that was what Microsoft intended when deciding to produce the BI Edition).


It also means a huge difference in the advice we give to the organisations that we consult to.  We must get that right, so we’re really looking forward to your help in this matter.  When you have a definitive answer, I’d be obliged if you would ‘reply all’ to this, so that my business partner is also updated with your response.  I will also be circulating this note amongst our friends in the business intelligence community; there’s real interest in getting the official Microsoft answer.


Best regards,