Google
 

Monday, September 29, 2008

Why aren't my input form cells turning yellow?

A colleague of mine offers this troubleshooting checklist when you just can't get the PerformancePoint Planning Excel Add-in to recognize input boxes in an assignment.

PerformancePoint Planning - Input Forms Checklist

  1. The current date is within the assignment start/end date/time
  2. The cells you are looking at are within the start and end periods for the assignment (that you selected from the time dimension)
  3. The scenario you are trying to input to is the scenario you selected for the cycle that the assignment is using
  4. You have a value selected for every dimension in the model (both filters, rows and columns) and that the value selected is at the leaf level
  5. The user you are logged on as has access to the model set to “On” in the summary view of the user’s role.
  6. That read/write access is enabled for all of the dimensions selected in the filters/rows/columns you selected above.
  7. The status of the assignment is listed as “started” or “partial”, not “Not Started” or “Submitted”, or something else.
  8. That the assignment is opened using the assignment list in the action pane or from the assignment search window.
  9. That the report property “Allow data entry” is set to true
  10. That you haven’t mistakenly changed the format of a data entry to a white background (this has happened).  Check this using the “Home” ribbon and going to cell styles.  Right click on the “PerformancePoint data entry cell” to modify if necessary.  This can be testing by trying to write to the cell –if you don’t get a “read-only” error you’re fine.

Thursday, September 25, 2008

MSDN Blog Postings » Blog Archive » A brief overview of PerformancePoint Planning business rules

 

Over the course of the past year I’ve had a number of conversations on what type of business rule to choose for a PerformancePoint model.  The answer is always - ‘it depends’.  Choosing the right type of business rule depends on the the context of your business requirements. For example, technical accuracy of a rule (i.e. Sales Volume * Product Price) can be done through any rule type - but choosing the right rule type requires you to consider how the resulting data is processed and stored in the system and how that impacts or aligns with your business requirements.  

I have described the behavior of PPS rule sets below. Any rules that are added in these rule sets follows the described behavior.

MSDN Blog Postings » Blog Archive » A brief overview of PerformancePoint Planning business rules

Wednesday, September 24, 2008

Peter Eb. : HOWTO: Dynamic rows or columns with a dimension property filter

Currency may not change that much, but how about employee or department?

Peter has a way to hack PerformancePoint Planning into using dynamic members.

Then click Validate RDL to make sure there are no syntax errors. Then click ok and the report will be refreshed. Now using the filter should give the same values as the static selection, but when a new currency member is added with a new value for the property MemberName it will automatically appear in this list. Voila! Not so simple, but not so hard.

Peter Eb. : HOWTO: Dynamic rows or columns with a dimension property filter

What would be nice is to see an example of a web-based or Excel-based data entry solution for adding members to the model.

Something like this:

http://www.oraxcel.com/projects/sqlxl/

or this

http://msdn.microsoft.com/en-us/library/aa203746(office.11).aspx

or this

http://www.perlielab.com/CallistoPages/datamanager.html

or how about creating a SQL job on the server that polls published spreadsheets or Sharepoint lists for data and loads them into the staging & app databases and processes the model?

This would allow for things like headcount planning and adding new products or customers to a model without modeler permissions.

Sounds like a lot of work for something that should really be in the add-in as a feature (member management).

Perhaps Microsoft MDM will incorporate this feature into PerformancePoint and/or Excel?

At least that's what the roadmap tells us...

How to speed up the All up BI VPC 6

Take out the cubes.  Any cubes that you do not want to demo or try out,

1. From a command line (or with services console) NET STOP MSSQLSERVEROLAPSERVICE

2. Create a new directory called data2 and copy files/directories below into the directory from data directory.

3. Rename the data directory to data_backup.

4. Rename the data2 directory to data.

5. Start up Analysis Services.

image

Because it is not precaching anything, I noticed a huge improvement in loading the service and connecting to AS.  No more all-consuming memory bloat.

This is good if you would like to use the All Up BI VPC with your own demo data and have no interest in the samples provided.

If you need any of the sample database, copy the directories and xml associated to them back in with above steps.

If you're building PerformancePoint Planning models for training purposes it should speed up the deployment immensely.

Learn, Build, Grow...the future of BI: BI VPC 6 now available

Monday, September 22, 2008

André Vala : PPS 2007 Tip #1: Creating Models with Multiple Measures

 

In the current release (CTP4), the only way to create a model with more than one measure is to export the application metada to a XML file, manually edit it and import the updated metada. That can be achieved following the steps listed below.

André Vala : PPS 2007 Tip #1: Creating Models with Multiple Measures

Friday, September 19, 2008

Re: Output from ppscmd - TechNet Forums

Some useful info for tracking the results of PPSCMD.exe into a log file.

Your post did point me in the right direction. However, there are two parts to a workable solution:

1) There is the *undocumented feature* for ppscmd which is using custom handle 3 for output (instead of stdout which is handle 1) so you have to use 3>&1 in you command argument. I was lucky, I guessed...

2) To implement a redirect in SSIS Execute Process task you have to use a workaround using cmd /C as your executable.

http://blogs.msdn.com/michen/archive/2007/08/02/redirecting-output-of-execute-process-task.aspx

Put together, it willl look something like cmd /c ppscmd [arguments] 3>&1 >> mylog.txt.

Re: Output from ppscmd - TechNet Forums

Monday, September 15, 2008

Jason Morales' Microsoft BI Update : The Business Intelligence Update - September 2008

 

The Business Intelligence Update - September 2008

HOT TOPICS

Register NOW for the 2nd Annual Microsoft BI Conference - click here!

25% Discount Promotion - Microsoft Office SharePoint ECAL / PerformancePoint Server CAL

*** extended through September 30, 2008

Assessment Tool for Business Intelligence

- compare your infrastructure against industry best practices and the latest IT research

Online Demo: Geospatial Business Intelligence

-  by integrating Virtual Earth and PerformancePoint

-  Blog: More on Virtual Earth & PPS

Business intelligence basics: case studies and job advice

Five keys to hiring (good) business intelligence professionals

Leveraging business and marketing skills for a business intelligence (BI) career

UPCOMING EVENTS

How does it all stack up?

6 part Seminar Series, sponsored by Inetium & Microsoft

Sept 18

Omaha, NE

Click here to register

Dashboard in a Day - sponsored by Quilogy

Sept 16 - Omaha, NE

Sept 18 - Chicago, IL

Click here to learn more and register

The Next Generation of Business Intelligence

Executive Roundtable Breakfast Series, sponsored by Neudesic & Microsoft

Sept 18 - Denver, CO

Sept 30 - Las Vegas, NV

Microsoft BI Conference

Oct 6-8 - Seattle, WA

www.microsoftbiconference.com

Managing Performance with PerformancePoint

Planning, Financial Reporting, Monitoring and Analytics for Dynamics GP 10

Oct 8 - Mountain View, CA

Click here to register

PASS Community Summit 2008

Nov 18-21 - Seattle, WA

Click here to learn more

Find Events & Webcasts

UPCOMING WEBCASTS

* all times listed below are for Pacific time zone

Microsoft Business Intelligence for Retail - sponsored by Solver

Sept 11, 11am

Click here to register

Using Your SharePoint Portal to Communicate Business Intelligence presented by Quilogy

Sept 11, 1 pm

Click here to register

Achieving Business Intelligence Across the Enterprise presented by Thorogood

Sept 18, 9am - Realize Fast & Effective Planning, Budgeting & Forecasting

Click here to register

NEWS LINKS & PRESS RELEASES

SQL Server 2008: First Impressions

BIScorecard Rates Eight Leading Products

An Effective Business Intelligence Strategy is the Key to Business Success

Next-generation BI at Hand, Forrester Reports

Gartner lists Microsoft India as leading vendor of BI

Information Agility

Who doesn't want to be agile?

The Business Intelligence Model of Conflicting Interests

Is Excel a Complete BI Solution?

Pervasive business intelligence: Are organizations really ready?

Seven Steps to Successful BI Competency Centers

Business Intelligence: Distilling Raw Data into Useful Information

The Business Intelligence Education Problem

Full Circle: Decision Intelligence (DSS 2.0)

Contact Me if you'd like to receive monthly emails of Jason Morales' Microsoft BI Update

Jason Morales' Microsoft BI Update : The Business Intelligence Update - September 2008

Friday, September 12, 2008

How To Get A Token For A User

If you're going to be coding in Excel Services, you may need to work with impersonation for the web service credentials.

This article could help.

If you're trying to do the same thing with a local account, or a domain account on a Windows 2000 or Windows XP box, you'll need the user's password to get a token for it. Where are you going to get the user's password, though? If you need to do this sort of thing, prompt the user for a password (HowToPromptForAPassword). If the user won't be present, then you'll need to store the password someplace where the machine can read it. This is really bad news because, even if you do this as carefully as possible (HowToStoreSecretsOnAMachine), root compromise of the machine eventually leads to compromise of these secrets, and you can't prevent this. This should be a major consideration in your threat model (WhatIsThreatModeling)!

How To Get A Token For A User

Cum Grano Salis : AJAX Library for Excel Services

 

Access Excel Services from any web page using Ajax and this wrapper.

I have had this on my table for a while already and have been meaning to make it available for everyone to use/modify. The idea behind this example is to wrap the Excel Web Services API so that it is available for call inside Internet Explorer. The idea is that people will be able to leverage models inside workbooks just like C# code.

The attached file (ExcelServicesAjax.js) needs to be placed inside the _layouts directory of your SharePoint server. In yout HTML files, you then need to reference the javascript file. That will give you access to the functionality.

Cum Grano Salis : AJAX Library for Excel Services

Thursday, September 11, 2008

Differences between using a workbook in Excel and Excel Services - SharePoint Server - Microsoft Office Online

As part of your dashboard or planning project, or separately, you may be investigating Excel Services.  It does not have all of the features of Excel in the browser.  Data entry isn’t supported.  Charts are different. Macros aren’t supported, though UDFs are and you can call Excel Services from VBA.  It’s usually hosted in Sharepoint, though Excel Services is just a web service that’s accessible via custom apps.

Supported and unsupported features when loading a workbook

Differences between using a workbook in Excel and Excel Services – SharePoint Server - Microsoft Office Online

It is, however, a good way of keeping one version of the truth around in a central, protected format and is easily understandable by the business.  And there are some other possibilities like using the Excel Web Companion, and saving data using Excel Web Companion.  The Save As feature may provide an interesting way of doing some adhoc forecasting & brainstorming online.

Spreadsheet hell comes to Sharepoint!

What is "one version of the truth"?

A common requirement when publishing a Microsoft Office Excel 2007 workbook that is connected to an external data source on Excel Services is to ensure that users always view a consistent set of values and formula results, and that the workbook uses secure and up-to-date connection information. This is sometimes called obtaining "one version of the truth".

For example, if you are reconciling budget data each quarter between different departments to provide a company-wide budget summary, you need to ensure that everyone is working with reliable and consistent data to ensure that the process goes smoothly with minimal disruption and disagreement over differing values between workbooks and the timing of formula calculations and results.

Roadmap for publishing an Excel workbook as "one version of the truth"

Using charts and PivotChart reports in Excel Services

Using named views to show/hide charts.

View a named item in Excel Services

Tying back to external systems

Using hyperlinks in Excel Services

Drilling to details in a cube/pivot table

Expand or collapse data details in Excel Services

Drilling to details with outline

Outline data in Excel Services

Custom Properties of the Web Part

Create a menu to show/hide named items.

Connect a List View Web Part to Excel Web Access

More blogs and postings

http://blogs.msdn.com/cumgranosalis/archive/category/12700.aspx

http://blogs.msdn.com/luisbeonservices/archive/2006/12/11/using-udfs-and-excel-formulas-to-get-a-query-table-on-excel-services.aspx

http://blogs.msdn.com/cumgranosalis/archive/2008/05/06/new-published-paper-advanced-usage-of-excel-services-and-file-format-manipulations.aspx

http://blogs.msdn.com/cumgranosalis/archive/2008/05/23/tips-on-excel-services-article-published-on-msdn.aspx

http://blogs.msdn.com/excel/archive/category/11361.aspx

http://blogs.msdn.com/luisbeonservices/

Creating Business Applications by Using Excel Services and Office Open XML Formats

Use members from an Analysis Services dimension as parameters with the Single Select web part.

Excel Services Forums

Tuesday, September 9, 2008

Sacha Tomey's blog

Recently Sacha published links to some of the nuggets that were posted here from the training course I went on a few weeks ago.  I got a lot of traffic from those links so thanks!

Some of the nuggets were straight out of my shorthand notes, which, looking at them now, may not make a lot of sense.

Will try to clarify some of the ones he pointed out to me.  His comments in bold, mine in italics.

                • Remove blank columns and remove blank rows in the Report Properties - Matrix properties

Apparently this improves performance.  It is a setting in the Excel Add-in under Report Properties.

                • Create a separate section with "Suggested changes" with read/write access or use Sharepoint Library.  Create Groups for Detail & Summary reports.

This was a suggestion to add a spreadsheet with “Suggested changes” for users to add their feedback.  Another suggestion was to use the Grouping features in Excel to create Summary/Detail sections with expand/collapse capabilities.  Users like these simulated drilldown capabilities.

                • Select False to validation will ignore unknown member data.

This was in reference to a parameter used with the Label stored procedures for staging and validatating dimension members.  The parameters are mutually exclusive, that is you need to run the procedure twice with the different parameters to validate annotations & validate members. 

                • Always set cycle dates to at least 1 day after the current date, then manually instantiate the cycle afterwards.  This solves issue with waiting for cycle to appear automatically.

You can manually instantiate a cycle even if you leave it to start on the current date.  Not sure of the benefit of adding a day.  You can either see if the cycle starts straight away or manually instantiate it – during the build phase I tend to reduce the polling time to around 10 seconds so you hardly ever have to wait.  Just need to remember to reset it once live..

Setting the cycle date to 1 day after the current date mitigates the problem where sometimes cycles do not get instantiated.  Was a suggestion from one of the attendees – reducing polling time is another good method.

                • Create referential integrity within dimension properties by assigning references to other dimensions.  Adding new properties will check data within the other dimension.

This was in reference to setting up dimension properties.  Dimension properties can be pulled from other dimensions (or at least it is my understanding that a reference can be made to those.)  In the dimension modeler, there is an automatic referential integrity check if this link is in place.

                • All users have to have read access to all Account members.  You have to design report without salary line or use separate models when dealing with separate information like salary.  You can also create an alternate member set without Salary, and then Create a member set with Salary.

All users have to have read access to all account members - is that a statement?  I'm not sure I agree.

I am not sure about this one either.

                • Use fake data for IFRS - SOX requirements - when dealing with Salary information.  Modeler should not have access to data.

                • Create a property on Account dimension - Restricted.  Assign restricted accounts.  In Report Properties for Filters, Setup Filter to only show unrestricted accounts in the filter.  Set True Hide & True Lock on filter.

There were some comments during the sessions about protecting restricted account data from developers.  There is still not a good way of doing this in my opinion as data has to be seeded at the leaf level and available for rollups.

 

Sacha Tomey's blog

Monday, September 8, 2008

Learn Microsoft BI > New Video

 

I've just posted a new video, and the first about PerformancePoint Server 2007. In it, I discuss just what PerformancePoint Server is and describe the three modules that make up the product. Those modules are:

  • Monitoring - What is happening now?
  • Analytics - Why is it happening?
  • Planning - What do I want to happen?

The video describes how these pieces fit together to form a complete solution for business performance. This video runs 21 minutes.

This video, along with all others, can be found on the Videos page of the site.

Learn Microsoft BI > Home

Radoslaw Lebkowski's Blog: The PPS Monitor & Analyze UDF Project (MAUDF)

For planning folks, this could probably be modified to read the metadata xml used in PerformancePoint Planning.

Microsoft Office PerformancePoint Server 2007 M&A stores all objects in it's metadata database (named PPSMonitoring in default configuration). Many of these objects are stored in SerializedXML column of the FCObjects table. So, it is very inconvenient to retrieve and search objects with criteria based od particular attributes (XPath / XQuery expressions would be necessary to perform the search).

But fortunately Nick Barclay has created great solution, which makes these operations much easier and straightforward.

This solution is called The PPS Monitor & Analyze UDF Project (MAUDF) and it is the project which delivers a set of useful views and UDF functions, which allow to access and retrieve metadata from PPSMonitoring database with using simple T-SQL queries.

Radoslaw Lebkowski's Blog: The PPS Monitor & Analyze UDF Project (MAUDF)

Friday, September 5, 2008

Forecast Input Form Design - TechNet Forums

From Jon Crowell in the MSDN forums.  How to create a forecast input form with rolling actuals.

Try this:

1. You need scenario and months on the columns.

2. Select Actuals and Forecast in scenario.

3. In Time.YQM, select the first month of the year (or whatever range you want to display) and select "Add Range" from the Time drop-down.

4. Select "from member to current month"

Your selected member should look like this: [Time].[YQM].[All].[2008].[Q1 2008].[January 2008] : Current Month + 0

5. Select the last month of the year (or whatever range you want to display) and select "Add Range" from the Time drop-down.

6. Select "from current month to member".

7. Increase the month offset to 1. (You may decrease the previous range by 1 and leave this at 0 depending on how your current period is set up.)

Your selected member should look like this: Current Month + 1 : [Time].[YQM].[All].[2008].[Q1 2008].[December 2008]

8. Click OK.

9. Select Define member intersections for columns.

10. Select "column by column".

You should see Actual lined up with your first time range and Forecast lined up with your second range.

11. Refresh your report.

12. In report options, set "merge and center headers" to false.

This approach will require you to edit the ranges at the end of each year, but will dynamically update for all other times. You can make this completely dynamic using custom MDX, but it's a little more complicated.