PerformancePoint Planning Hierarchy Sorting

We ran into an issue earlier in the year where we wanted to sort our PPS Planning Product hierarchy through an automated process as part of the nightly batch cycle.  The Product dimension is custom defined and we refresh the data for both D_Product and H_Product tables daily.  We created a flat hierarchy in the Member Set (all children have the same parent in the Member Set or H_ table).  So in order to create the hierarchical relationships, we use a Member View based off of member properties (attribute columns) in the Product dimension to create the actual hierarchy relationships.  Regardless of how you decide to create your hierarchical relationships (Member Sets versus Member Views), you’ll likely want to sort the records.  I have not had success trying to update the SequenceNumber field using BizSystemFlag = 300 methodology.  My goal was to avoid writing an actual UPDATE statement against the Appliction database, so I use the work around below when loading data to the H_Product table.  Through this SQL, I am able to set the Sequence Number using the ROW_NUMBER() OVER() functions when inserting records into the H_ table on the StagingDB using BizSystemFlag = 200.  PerformancePoint automatically increments the SequenceNumber by 1024, so I follow the same increment standards in the example below.  The SQL statement sorts the data based upon member property columns (attributes) that are user defined in the dimension.  If you are using SSIS to perform the ETL, the SQL statement would be in your OLE DB Source and the destination would be the H_Product table.  For this process to work, you would first need to delete the data from the H_ table prior to loading using BizSystemFlag = 400.

   NULL as RowId
  ,0 as ParentMemberId
  ,200 as BizSystemFlag
  ,NULL as BizSystemErrorDetails
FROM D_Product d
JOIN (   
     SELECT MemberId, 
            ORDER BY Attribute1, Attribute2, Attribute3, [Name])* 1024 as SequenceNumber
     FROM D_Product
     WHERE Label NOT IN (‘NONE’)
     ) a
ON d.MemberId = a.MemberId
ORDER BY a.SequenceNumber

I hope this helps.
– ez

Master of Science in Business Intelligence

I recently performed some research into graduate schools offering a Master of Science in Business Intelligence (MSBI).  As of November 7, 2008, I found three Universities in the United States that have such a program.  They are Saint Joseph’s University (Philadelphia, Pennsylvania), University of Denver Daniels College of Business (Denver, Colorado), and American Sentinel University (online university).  A fourth school, the University of Alabama Manderson Graduate School, offers an MBA with a Business Intelligence Concentration.  Information concerning these programs will change, so please consult each university before making any decisions based upon this article.  All content is subject to change (especially tuition costs!) and will likely be out of date a few months after the original post.  I would encourage anyone who has participated in any of these programs to post a comment.  I would love to hear what you think.  I have not applied to any of the programs, but I find the idea of a Master Degree in Business Intelligence to be quite intriguing.

Here are some basic comparisons of the programs:

ASU:  American Sentinel University
DU:   University of Denver Daniels College of Business (Denver, Colorado)
SJU:  St. Joseph’s University (Philadelphia, Pennsylvania)
UA:   University of Alabama Manderson Graduate School of Business (Tuscaloosa, Alabama)

Online vs On-Campus:
ASU:  Online only
DU:  Campus only
SJU:  Online and Campus
UA:  Campus only, Full Time program

ASU:  $390 per credit hour (minimum 12 credit hour commitment over 12 months)
DU:   $916 per credit hour for the 2008-2009 academic year.  Other fees apply.
SJU:  $785 per credit hour (fees included),  Approximately $23,550 total
UA:   Estimated Totals*      Resident   Non-Resident
       First and Second Year  $19,450.00 $42,650.00 
       Price not broken out by credit hour.  This is a full time program.

Credits required to graduate:
ASU:  36,  12 3-credit courses, Students may be eligible to transfer up to 18 hours from previous graduate study.
DU:   58,  10 Daniels Compass, 44 Business Intelligence Core, 4 Elective
SJU:  30,  10 3-credit courses, 20 month program, 8 week classes done one at a time
UA:   60

GMAT/GRE Required:
ASU:  NO   ASU is a GMAT-using school, but a GMAT or a GRE is not required.

The objectives of the online program are to:

Identify and understand the functional areas of business intelligence.
Develop analytical, critical thinking, and interpersonal skills applicable to real-world problems.
Apply sound analytical skills and business principles to decision making with respect to operational and strategic activities.
Develop sound financial planning, reporting, and information models which satisfy regulatory considerations such as Sarbanes-Oxley.
Develop corporate dashboards which utilize key performance indicators that managers and workers can use to improve day-to-day business operations.
Use a framework such as Six Sigma to analyze all aspects of business operations as well as find and implement quality-control improvements and efficiencies.
Recognize and solve potential risks and put in place policies and procedures which minimize the impact of business interruptions.

Not clearly stated, but I found this excerpt…
Information, business intelligence, is no longer the exclusive domain of IT or research departments. That’s why Daniels has created a one-of-a-kind program that takes you across disciplines — data warehousing, marketing, finance and management and operations — so you’ll know how to gather and leverage information to lead organizations, control decisions, and be relied upon to steer enterprises.

The online Business Intelligence Master’s degree at Saint Joseph’s University helps you develop:
– The ability to create business models for forecasting and business analysis
– A fundamental understanding of Business Intelligence technologies
– The ability to integrate information from all aspects of the organization into a big picture understanding
– A solid foundation in technology and a grasp of the decision-making tools that will aid your ability to interpret information

Not clearly stated, but I found this excerpt…
One of the few programs of its kind offered within a college of business, it delivers the exceptional knowledge, skills and experience you need to produce valuable results for your organization. And, it’s one of the few graduate business programs to prepare you for certification in SAS Enterprise Miner, the premiere software tool for the data mining industry.

COURSES Credit Hours
BUSI500 Overview of Business Intelligence 3
BUSI510 Data Mining 3
BUSI520 Balanced Scorecards and Performance Dashboards 3
BUSI530 Business Performance Management 3
BUSI540 Customer Relationship Management 3
BUSI550 Business Intelligence Tools 3
MGT540 Strategic Management of Technology and Innovation 3
IS550 Project and Change Management 3
IS565 Decision Support and Intelligent Systems 3
IS575 Data Warehousing 3
BUSI599 Business Intelligence Capstone Research Project 6

Daniels Compass Courses
The Essence of Enterprise
Leading at the Edge
Ethics for the 21st Century Professional

Business Intelligence Core Courses
Introduction to Business Intelligence
Enterprise Intelligence
Data Warehousing
Applied Business Intelligence
Business Intelligence Practicum
Quantitative Methods
Applied Statistical Modeling
Data Mining I
Marketing Strategy
Marketing Research
Competitive Strategies

DSS 4415 Contemporary Information Technologies
DSS 4715 Developing Decision Making Competencies
DSS 5515 Concepts and Practice of DSS Modeling
DSS 5525 Database Management Theory and Practice
DSS 5535 Enterprise Data
DSS 5545 Applied Business Intelligence
DSS 5555 Advanced Business Intelligence
FIN 4315 Shareholder Value Management
FIN 5305 Financial Institutions and Capital Markets
FIN 5055 Portfolio Management

AC 521   Concepts of Financial Mgmt. Accounting 3
OM 506   Decision Modeling & Business Intelligence 3
MGT 517  Organizational Theory 3
MKT 518  Marketing Management and Decision Making 3
ST 509   Statistics for Business Applications 3

EC 500   Managerial Economics 3
FI 504   Foundations of Financial Management 4
MIS 511  Management Information Systems 2
OM 516   Production Operations Management 3

GBA 525  Business Policy 3
MGT 542  Management Communication 3

LGS 522/IBA 550 Legal-Ethical Environments in Business/IBA 1.5/1.5

*ADDITIONAL ELECTIVES include any reasonable graduate course approved by a concentration advisor.  Suggested courses include economics, finance and operations management.  Students completing OM 506, ST 532, ST 521 and ST 522 will receive UA/SAS Data Mining Certification.

Web Addresses:


Other related links:


PerformancePoint LoadingControlID

From time to time, I’ll be questioned how a record was created in PerformancePoint Planning.  A quick check of the LoadingControlID in the table of interest can provide insight into how the record was generated.  This field provides a code, normally 1000 or 2000.  But if you don’t know the meaning of the code, it does not help too much.  I performed a search over the Internet and found very little on the topic of the LoadingControlID.  So, I hope you will find this post helpful.  There is a table in the application database called LoadingControlID that contains all the definitions of these LoadingControlID’s.  Below are the definitions.

0         Unknown
1000   ReferenceDataSubmission
2000   DataLoad
3000   GenericCalculation
3001   SharesCalculation
3002   Consolidation
3003   IntercompanyReconciliation
3004   CurrencyConversion
3005   OpeningBalanceRule
3006   MovementRule
3007   SeedingRule
3008   AllocationRule
4000   DataSubmission
5000   TypeLibraryGenerated
6000   AssociationFactDataMovement

My experiences have shown that data loaded via the PPSCmd have a LoadingControlID of 2000 (DataLoad).  Data that is manually entered via the Planning Business Modeler has a code of 1000 (ReferenceDataSubmission).

When loading new records via the PPSCmd or from the “Load Data From Staging” command in Planning Business Modeler, there’s no need to populate this field as PPS generates the correct code on its own.


PerformancePoint Certification Exam 70-556

I recently found the time to sit for the PerformancePoint certification exam, 70-556.  I am pleased to say that I’m now a “Microsoft Certified Technology Specialist (MCTS) in Microsoft Office PerformancePoint Server 2007”.  To prepare for the exam, I followed the study guide that Microsoft provides at .   M&A makes up a small portion of the exam as the guide suggests.  Good luck!

– ez

Remote PPSCmd Call

I found an interesting blog entry recently that discusses calling the PerformancePoint Planning PPSCmd.exe remotely from an SSIS Control Flow task.  I couldn’t find a place to add a comment on the site, so I decided to create a separate entry on my blog.

Here’s the link to Norm’s blog:

In our scenario, the SSIS package resides on a database server, which is separate from the PPS Planning server.  Initially, I thought we couldn’t install the PPS Planning client on the database server (due to licensing issues), so we wrote a VB.Net application that remotely called PPSCmd on the PPS Planning server.  After I used this for a few months, I realized we could just as easily install the PPS Planning client on the database server, so the remote call was no longer needed.  In Norm’s blog, he suggests downloading an application from Microsoft called PSEXEC to assist in this remote call if you can’t have the ppscmd.exe file on your SSIS server.  If you choose to write a custom app to perform this function, you can borrow some of the code below.  SSIS calls the VB dll from a Script Task.  You’ll need to add the assembly as a Reference in your script task.

You can download the VB code here.

RemoteProcessCaller:  A VB dll that runs and manages a remote process

The component has a class named “RemoteProcess” and its constructor takes five arguments:

– CommandLine (string -the path and file to execute)
– Machine Name (string -the server on which to execute the process)
– UserName (string -the login account to the remote server)
– Password (string -the pw for the login account)
– Timeout (int – the time in milliseconds to run the process.)
The “RemoteProcess” class contains a string function called “RunProcess” which returns a “0” for success and the error message if applicable.
Here’s the SSIS Script Task code:

 Public Sub Main()

        Dim t As New RemoteProcess(“c:\Program Files (x86)\Microsoft Office PerformancePoint Server\3.0\BizModeler\PPSCmd.exe StagingDB /Operation LoadDataFromStaging /Server http://localhost:46787 /Path “”<path>.model:<modelsite name>”” /NoValidation”, “<servername>”, “<userid>”, “<password>”, 800000)

        If Not t.RunProcess() = “0” Then
            Throw New Exception(t.RunProcess())
            Dts.TaskResult = Dts.Results.Failure
            Dts.TaskResult = Dts.Results.Success
        End If
     End Sub

End Class
Hope you find this helpful.  I found it much easier to simply install the PPS Planning ppscmd.exe on the same server as the SSIS package, so we decided to scrap this work.  Having the PPSCmd.exe local just requires changing the server argument to use the server name rather than localhost.  But if you’re in a situation where you must perform a remote process call, you can try adapting this code, or merely download the PSEXEC application from the link on Norm’s blog.  I’ve never tried the PSEXEC application so I cannot attest to it one way or the other.  Let me know how it works out for you.


Book Review: Business Intelligence with Microsoft Office PerformancePoint Server 2007

As part of my new years resolution, I’ve been trying to add more “book smarts” to my “business intelligence street smarts”.  This means I’ve been spending more time reading books in my spare time to help further my career.  Thus far, I’ve actually been keeping up on my resolution which is far from the norm.  By nature, I loathe reading, but I decided to give it a try, and it hasn’t been so bad thus far.  My current focus has been on Microsoft Office PerformancePoint Server 2007 (PPS).  This particular review covers the second book I’ve read on the subject, Business Intelligence with Microsoft Office PerformancePoint Server 2007 by Craig Utley.  On the cover there’s a quote, “An excellent introduction to PerformancePoint Server.”  I find this to be an accurate quote.  In my opinion, this book is best suited for a Project Manager or someone new to Microsoft Business Intelligence.  The first chapter is entitled, “The Case for Business Intelligence.”  It defines BI, identifies the consumers of BI, describes different methods of deliverying BI, and provides real world examples.  The second chapter gives a ten page overview of PerformancePoint Server.  Chapter Three spends thirty pages discussing Data Warehouse concepts such as dimensions, facts, ETL, and building cubes using Analysis Services.  Chapter Four defines Key Performance Indicators, gives advice on deciding what to track in your KPI’s and provides examples of various KPI’s used in multiple industries.  It then concludes with some scorecard discussion as well as strategy maps.  This is all accomplished in sixteen pages.  Chapter Five covers Monitoring and Analytics in 54 pages.  The author describes how to create data sources and scorecards, KPI’s, reports, strategy maps, and then how to put it all together using a Dashboard.  This chapter would give someone a head start with using M&A.  I found it to be easy reading.  Chapter Six is entitled “Analysis with PerformancePoint Server and ProClarity.”  45 of the 76 pages focused on ProClarity.  The rest dealt with Analytical Charts and Grid using PPS.  Chapter 7 covers PPS Planning, which I consider to be the most complex module of PPS.  This chapter was written by a contributing author, Sony Jose.  This chapter covers the basics of the Planning Administration Console, Planning Business Modeler and the add-in for Excel.  That is a lot of information to cram into 64 pages.  The content included was valuable and easy to read.  If you’re wanting to dive deep into the data integration automation or creating business rules using PEL (PerformancePoint Expression Language), you’ll need to look elsewhere.  I enjoyed the seven page section dedicated to process management.  The chapter provides a basic introduction to PPS Planning.  If you’re a PPS Planning developer, you’ll want to find other sources to gain full in-depth knowledge.  Chapter 8 covers the deployment and security aspects of PPS.  Within ten pages the author describes the software installation and configuration as well as security.  Chapter 9 is “Anaylsis with Excel 2007.”  The author spends nineteen pages detailing how to navigate within a cube using Excel 2007.  He also highlights any differences in functionality concerning cube navigation with Excel 2007 over its predecessor.  The final chapter covers SQL Server Reporting Services.  I ended up skimming this chapter as it wasn’t pertinent to my current assignment, but someone new to Reporting Services might find this 25 page section to be helpful.

Overall, I was surprised how quickly I was able to read through this 358 page book.  It was obvious to me that the author, Craig Utley, has a great deal of experience teaching Microsoft Business Intelligence.  I was pleased to read that the technical editor was Alyson Powell Erwin.  She’s a program manager for Microsoft that has a lot of experience with Monitoring and Analytics.  I have been fortunate enough to have been on many phone calls with Alyson where she provided us great technical support and suggestions for our project work at a client site.  She is well versed in M&A and would be a great choice for a technical editor.  If you’re a project manager or new to Microsoft Business Intelligence this would be a good book to introduce you to Microsoft PerformancePoint and other related Microsoft BI technologies.  If your needing to design and construct a complex PPS Planning application, you will likely want to supplement other materials to fully utilize the software.

– ez

Removing a PerformancePoint Dashboard from SharePoint Preview

After deploying several PerformancePoint M&A dashboards to SharePoint Preview at http://<servername&gt;:40000/Preview/, you may want to clean up your work by deleting some of the unused dashboards.  We found some dashboards on the Preview site that no longer existed in Dashboard Designer.  To delete the dashboards from the Preview site, go to C:\Program Files\Microsoft Office PerformancePoint Server\3.0\Monitoring\PPSMonitoring_1\Preview\ .  M&A creates a separate GUID folder in this directory for each dashboard.  Since it’s a GUID, you’ll need to open up each GUID folder and open the map.xml document.  The dashboard directory name should match the unwanted dashboard name.  If you don’t have a match, try a different GUID folder.  Once found, delete the entire GUID folder and this will remove the dashboard from the SharePoint “Preview”.

– ez