21 October 2009

PowerPivot & Visio Services for SharePoint 2010

Gemini has got a new name: PowerPivot

Microsoft revealed that it officially branded Gemini as Microsoft PowerPivot for Excel 2010.

“With PowerPivot, users and IT departments can: Integrate massive amounts of data on the desktop from virtually any source; Perform lightning-fast calculations and analysis on large data volumes; Share and collaborate on user generated analysis through integration with SharePoint; Monitor user generated applications,” the SQL Server team representative noted.

Couple of points to consider:

  • PowerPivot for Excel only works with Excel 2010.
  • PowerPivot for SharePoint will require SQL Server 2008 R2 and SharePoint 2010.

For more information about "Managed Self Service BI" and PowerPivot see:

Visio Services: a great visualization tool which allows real time data to be shared on a SharePoint site for those without the Visio client.

Diagrams can connect to an OBDC source such as a SharePoint list, Excel spreadsheet, or SQL Server database. However it can not be used with SSAS or PowerPivot (which is a bit disappointing for BI developers). That's a great feature and I think we may be able to build fancy looking BI dashboards using Visio in near future.

20 October 2009

Self-Service BI?!

We keep hearing about "SELF-SERVE" functionalities in new versions of BI tools specifically with Microsoft plan to delivering BI to the masses.

SQL Server 2008 R2 introduced some self-service options to allow business units and users to create and share BI solutions. Here is what MS says about them:

  • SQL Server Project "Gemini” Add-in for Excel
Enables Excel power users to create BI solutions by streamlining the integration of data from multiple sources enabling interactive modeling and analysis of massive amount of data and by supporting the seamless sharing of data models and reports through Microsoft Office SharePoint 2010
  • SharePoint 2010 based Operations Dashboard
This SharePoint managed service enables front-line operators and administrators to monitor access and utilization of analyses and reports as well as track patterns of hardware usage to help ensure the right security privileges are applied and user generated solutions are available, up-to-date, and managed in a consistent way.
  • SQL Server Reporting Services Report Builder 3.0
This updated ad-hoc reporting client accelerates report creation, collaboration and consistency by allowing users to create and share report components that can be accessed via the shared component library and by enabling the rapid assembly of comprehensive business reports using these shared components.
  • Rich visualization of geospatial data
New support for geospatial visualization including mapping, routing, and custom shapes can help your end users create customized reports that leverage existing content objects, such as queries, data regions, and charts and graphs. You can also enhance location-based data reports with Bing Maps in Report Builder 3.0.

I know many people are excited about them and especially about project Gemini, here are some quotes I found on the net:

  • Gemini enables end users to work with business data
  • 100 million rows on a laptop with Office 2010 Excel
  • Slicers and spark lines in Excel 2010 are bringing BI to everyone
  • Excel 2010 provides BI for the masses by making it easy to build your own charts/graphs on and offline

I agree with all of them, BUT, the question is: are we missing the main goal of BI: “single version of the truth”. Is Gemini leading us to the next generation of “Spreadmarts”? Does having Excel and access to source data make a BI solution?

From my experience, if you ask business-users to do something which requires more than 1 minute of technical training, most probably they get confused, and in most cases, anything more than 5 clicks away is considered as “too technical” and won’t be adobted by business users. So how do we expect them to get this toy and build a BI solution?!

I believe the idea of "Self Service BI" is like a double edged sword, though it can be useful in the same way as we do self-service check out in supermarkets: do it yourself when you don’t have many items, so you can save time, but you will be responsible for that and if you get confused about something, that’s OK, you may ask a staff to help you out with that, but it may take more time than standing in line in the first place.

However, it’s a quick way to discover the underlying data, and can be handy in some cases such as the following scenarios:

  • If a business analyst needs to see what data is available in data sources
  • To analyse source data and create simple reports when underlying data is clean and in simple structure
  • To create a prototype for a reporting solution
  • BUT, when you are dealing with complicated logics to bring data in, or when there are too many data sources and you are not a BI specialist: forget about it!

I don’t want to be negative; I like Microsoft and their BI toolset, but is it the right way to go? Does it lead us to the “BI for masses” idea or towards “messy BI”?!

I’d like to hear your thoughts.

23 September 2009

Handling Ragged/Unbalanced hierarchies in SSAS

What is it?
Balanced hierarchy: In balanced (standard) hierarchies, branches of the hierarchy all have the same level (depth), with each member's parent being at the level immediately above the member.
Example: time dimension, where the depth of each level (year, quarter, month, etc.) is consistent.

Unbalanced hierarchy: the hierarchy branches can have inconsistent depths.
Example of an unbalanced hierarchy is an organization chart. The levels within the organizational structure are unbalanced, with some branches in the hierarchy having more levels than others.
The following charts illustrate the unbalanced hierarchies:

How to handle it on SSAS?
There are 2 methods to handle ragged hierarchies on SSAS:

Using Parent/child dimension
In this method we need to create parent-child dimension. Parent-child dimension can be created on top of a parent-child table/view where each record has a reference to its parent record (e.g. ParentID column). An example of this type of tables can be found on Adventure Works sample database.

Using ragged hierarchy with "Hide Member If" property
Another approach is to design a regular dimension on top of a ragged or unbalanced table/view. Ragged hierarchy: In a ragged hierarchy, the logical parent member of at least one member is not in the level immediately above the member.
Example: geography dimension which number of levels can be different on different countries. The levels provide a meaningful context to its members, thus, while Washington DC is a child of USA, it is included at the City level with Los Angeles. Therefore there will be nulls on some levels.

Note-1: We can also repeat the parent name instead of null as a placeholder.
Note-2: In the example above, 1st and 2nd record will be required when we need to assign facts to non-leaf members. In this example we may need to assign a fact to CA which is a non-leaf member.

Once we create the normal hierarchy, we can use HideMemberIf property to hide Nulls or repeated members.
HideMemberIf Setting
Level members are never hidden.
A level member is hidden when it is the only child of its parent and its name is null or an empty string.
A level member is hidden when it is the only child of its parent and its name is the same as the name of its parent.
A level member is hidden when its name is empty.
A level member is hidden when its name is identical to that of its parent.

Example of an Account hierachy:

Important notes:
  • For large parent-child dimensions, aggregations are created only for the key attribute and the top attribute, therefore queries returning cells at intermediate levels are calculated at query time and can be slow. If you have a large parent-child hierarchy (more than 250,000 members), you may want to consider using a hierarchy with a fixed number of levels.
  • Microsoft recommends using P-C whenever you need to set unary operators.
  • DataMember property only works in parent-child dimensions
  • You can’t cross-join levels on a parent-child hierarchy. It might cause some complications in report development
References and more info:

12 May 2009

BI Seminar

"BI for managers" seminar was successfully held by BI Solutions in Simorgh hotel, Tehran on 22 April 2009.

The aim of this seminar was to introduce Business Intelligence to Iranian managers and show how BI (and Microsoft BI in particular) can deliver critical information to support timely and informed decisions.

More than 60 people from over 20 different companies attended, including representatives from National Oil Company, National Gas Company, National Statistics Org, Iran Khodro and SAIPA which are the largest automotive companies in Iran, and other large organisatons.

The program started with an introductory presentation from me, then Dr Abdollah Zadeh from Amir Kabir University (I can call him "the father of BI in Iran") expanded the subject with his presentation about "BI, Why, How?", then Danial Moazen discussed about problems and challenges that may arise in BI projects.

The event continued with a presentation by Neo Farvashan (MVP) about MOSS and BI, after that I introduced Microsoft BI followed by a demo on MS BI capabilities (PPS Scorecards and dashboards) to provide performance management. At the end I spoke about "implementation of BI solutions" and finished it with Q&A.

I believe it was a very successful event and I would like to thank my friends at BI Solutions and Fanafzar, especially Amir Fassihi who supported me on organising this event.

11 March 2009

New MS BI Burger - Delivering BI to everyone in the organization

After Microsoft announced that Office PPS 2007 would be folded into Microsoft Office SharePoint Server Enterprise 14 - which was officially death of PerfomancePoint Server - there's been slight changes on the famous "Microsoft BI Burger".
The new burger was designed to deliver Business Intelligence to the masses via SharePoint based under idea of "Delivering BI to everyone in the organization".

27 January 2009

Farewell PPS!

"There will be no future version of PerformancePoint Server."

Microsoft will consolidate PerformancePoint Server (PPS) with its scorecards, dashboards, and analytic capabilities into SharePoint as "PerformancePoint Services" with the release of SharePoint 14 in late 2009.


Not a good news at all for MS BI world! I'm not surprised about "Planning" module as I believe it was NOT successful, but embedding "Monitoring & Analytics" into SharePoint, mmmmmmm?!

Other links:



23 January 2009

Magic Quadrant for Business Intelligence Platforms, 2009

Gartner is an information technology research and advisory firm which provides research analysis and advice for IT professionals, technology companies and the investment community.

The "Magic Quadrant for BI" by Gartner, presents a global view of Gartner's opinion of the main software vendors that should be considered by organizations seeking to develop business intelligence (BI) applications.

See the full article here: http://mediaproducts.gartner.com/reprints/sas/vol5/article8/article8.html

03 January 2009

Tips for gathering "Business Requirements" in a BI project.

In my opinion the most important and challenging aspect of a BI project is to understand the business requirements. Majority of BI projects failures are due to lack of understanding the business. This lack is primarily due to BI being thought as an IT project, instead of being a business project with IT as one of the enablers.

It's very important to find out "what they need" and not just focus on "what they want". The most effective way of doing that is by "face to face" meetings with managers, business users and IT people. The goal of a requirements interview is to ask questions in order to discover unknown frontiers. Think of it as a one-hour immersion to better understand what business people do and why. How do they make decisions today, and how do they want to be making decisions in the future? First ask interviewees about their roles and responsibilities to get them engaged and from there, cover the following areas:

  • What are the key business objectives?
  • For each objective, ask about measures for success to learn more about key metrics and business dimensions.
  • What roles do data and analysis play in achieving goals? Alternatively, how would better access and analysis benefit them?
  • What are the current analysis challenges?

A good question to get the interview started is "How can people tell when you're doing a great job?"

Be conversational: For the DW/BI practitioner, being conversational means putting yourself into a business frame of mind. Learn the language of the business. Don't intimidate end users by asking "What do you want in a data warehouse?" End users aren't systems designers. Acronyms and IT vernacular don't belong in a business requirements interview.

Several techniques can help you establish a more conversational tone:

  • Learn a bit about the business beforehand by reviewing the Web site or annual report to understand company-specific vocabulary and hot-button issues.
  • Meet with interviewees on their own turf. Go to their offices or conference rooms, rather than IT meeting spaces.
  • Prior to the interview, send out an announcement describing the high-level discussion topics and confirming the interview time and place. Don't attach a detailed questionnaire to this meeting notice. You can't achieve a conversational flow if you're reviewing questionnaire results-presuming anyone bothers to complete the survey.
  • Interview questions prepared in advance are fallback devices, used only if uncomfortable lulls occur in conversations or to ensure key points are covered before ending sessions.
  • Most good conversations tend to wander, so remember your session goals and steer conversations back on track if you stray too far from core issues.
  • Stay at a relatively high level in the interview's early stages. Don't follow an early comment to a very low level of detail, only to run out of time and discover that you haven't discussed three other major areas of responsibility with important requirements for the DW/BI effort.

Listen, and expect to be changed: Good interviewers should be seen but not heard — well, at least not heard too much. Strong active listening skills are required.

As you're gathering requirements from the business users, intersperse some data reality into the process by interviewing key IT personnel, especially the master database administrators responsible for operational systems. Consider what the business needs are in tandem with the availability of data to support these requirements. IT meetings tend to be informal discussions, beginning with knowledgeable project team members. Once you start to hear consistent themes from users, it's time to sit down with the data gurus and get into the extreme detail of their source systems. During these data audit interviews, try to understand whether complete, reliable data is there to support what users are asking for.

There are several methods and resources for BIR, one of the best is "The Data Warehouse Lifecycle Toolkit by R. Kimball, ...".