Google
 

Monday, December 29, 2008

Download details: 2007 Office System Driver: Data Connectivity Components

 

This download will install a set of components that can be used by non-Microsoft Office applications to read data from and write data to 2007 Office system files such as Microsoft Office Access 2007 (mdb and accdb) files and Microsoft Office Excel 2007 (xls, xlsx, and xlsb) files. Connectivity to text files is also supported.

ODBC and OLEDB drivers are installed for application developers to use in developing their applications with connectivity to Office file formats.

Download details: 2007 Office System Driver: Data Connectivity Components

Sunday, December 21, 2008

Regular Expressions Cheat Sheet (V2)

This post doesn't have a lot to do with PerformancePoint specifically, however there are lots of possibilities to use Regular Expressions to solve some of your business requirements.

With the previously blogged-about plugin for Excel (morefunc) you have the ability to use Regular Expressions as formulas in Excel.  You can also use Regular expressions in Excel with some VBA code.

What are Regular Expressions?  They're anything but regular.  They allow you to design expressions to apply to tasks such as searching for patterns of data, data validation, etc.  Rather than just searching for the @ sign to find a "possible" email address, you could use regular expressions to find an exact interpretation of an email address with this regular expression.

\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b

You could also use this as a data validation rule to ensure that you are cleanly entering email addresses into a form for later import into the application using CSV.

These expressions look very cryptic until you get the gist of the syntax.

These types of tools could be handy for cleansing data before they enter the PerformancePoint staging database or within an input form.  They could also be useful for mapping and profiling data.

For example, labels are required to be no more than 40 characters in length, member properties are restricted to 100 characters, and there are a series of restricted characters and reserved words.  You could design a regular expression that checks for these values within your data before it is loaded into the system.  You could build something to do this in Excel or use SSIS, or even in a stored procedure before moving the data into a label table.

Another application would be to "tokenize" or split a pattern into a comma-delimited string. (eg. Account-Dept-Location), Lexical Analysis in geekspeak terms.

http://effbot.org/zone/xml-scanner.htm

http://en.csharp-online.net/CSharp_Regular_Expression_Recipes%E2%80%94A_Better_Tokenizer

It is easy to tokenize a value with 3 hyphens without learning regular expressions, but what if you needed to parse something like this to get the numbers out?

123ab2c
1234abc

Regular expressions might be useful...

How about a search/replace, but with intelligence?

http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex.replace.aspx

Within SSIS, you can use this to perform data profiling and to classify data into buckets.

SSIS Regex Component
SSIS Regular Expression Transformation

You can use it in SQL

SQL and Regular Expressions
Regular Expressions with PATINDEX in SQL
Regular Expressions with OACREATE in SQL
Working with crummy data in SQL

It's about as handy as knowing XSLT and MDX

Regex is as forgettable as XSLT and MDX

The most useful tools for learning Regular Expressions:

Regulator and Regulazy

Some 3rd-party implementations of Regex:

Regular Expressions in Matlab
Regular Expressions in SAP Routines (Converting dates, thousands separator,

A deep dive into Regular Expressions.

Regular Expressions in Wikipedia.
All you ever need to know from 4guysfromrolla

I can see this one being useful to translate the XML format that PEL rules are stored in back to a readable text interpretation... without using an HTML parser.

Removing All HTML Tags from a String Using Regular Expressions

http://www.4guysfromrolla.com/webtech/073000-1.shtml

These type of statements are great for enforcing some of your business rules/validation logic using a data-driven approach. 

UPDATE updateTable
SET ut.field1 = dbo.regexReplace( ut.field1, rt.regex, rt.replace, 1, 1 )
,ut.field2 = dbo.regexReplace( ut.field2, rt.regex, rt.replace, 1, 1 )
FROM updateTable AS ut
CROSS JOIN regexTable AS rt

DECLARE @strTest varchar(8000) SELECT @strTest = '\\servername\foldername99999\filename.ext' SELECT [Position]=PATINDEX('%[0-9][0-9][0-9][0-9][0-9]%', @strTest), [Before]=SUBSTRING(@strTest, 1, PATINDEX('%[0-9][0-9][0-9][0-9][0-9]%', @strTest)-1), [After]=SUBSTRING(@strTest, PATINDEX('%[0-9][0-9][0-9][0-9][0-9]%', @strTest), LEN(@strTest))

Regular Expressions to decompose MDX query

Regular expressions can be useful to decompose a MDX query (with elements explicitly defined, i.e. not using MDX functions) and retrieve involved objects (i.e. dimensions, levels, members, etc.). I often used them in performance improvement processes or for MDX pre-validation purpose.

How about being able to parse your calculated measures out of the MDX script used by the cube?

http://geekswithblogs.net/darrengosbell/archive/2006/08/10/87561.aspx

Or building some pattern filtering functionality using MDX stored procedures?

http://blogs.conchango.com/christianwade/archive/2006/04/30/3896.aspx

There's nothing stopping you from using the System.Text.RegularExpressions libary in Reporting Services functions either.

http://msdn.microsoft.com/en-us/library/ms157328.aspx

Here is a good resource to better understand Regular Expressions.  There are plenty of possibilities - just make sure when you get this hammer, everything doesn't look like a nail.

Regular Expressions Cheat Sheet The Regular Expressions cheat sheet is a one-page reference sheet. It is a guide to patterns in regular expressions, and is not specific to any single language.

Regular Expressions Cheat Sheet (V2) - Cheat Sheets - Added Bytes

Friday, December 19, 2008

Peter Eb. : When will data appear in the cube after a submit from the PPS Planning Business Client?

Once you’ve used the handy dandy Yellow Cell Checklist found here, how do you know when the data appeared in the database?

When will data appear in the cube after a submit from the PPS Planning Business Client?

Peter Eb. : When will data appear in the cube after a submit from the PPS Planning Business Client?

Tuesday, December 16, 2008

PPS SP2 and SQL 2008 revisited - Windows Live

How to install SQL 2008 with PerformancePoint.

After 2 days I finally figured out why the pps olap charts and grids would not work in my pure 2008 environment. Also proclarity.  You must install the SQL 2005 CU9 redists BEFORE installing SQL Server 2008. Here is the order of operations

  • Install Windows Server 2008
    • add IIS and AppServer roles (incl. CGI, ASP, IIS6 mgmt)
  • Install the 4 SQL 2005 CU9 redists
      • Sqlncli
      • SQLServer2005_ADOMD
      • SQLServer2005_ASOLEDB9
      • SQLServer2005_XMO
  • Install SQL Server 2008
    • DB (incl. full text search for AdWorks sample), AS, RS
  • Install MOSS 2007 SP1
    • Create SSP, site collection
  • Install PPS 2007 RTM
    • do NOT run config mgr
    • install PPS SP2
      • run Config mgr
  • Install PAS/Desktop
    • install SP2
  • Install Visio, Office, etc

PPS SP2 and SQL 2008 revisited - Windows Live

Monday, December 15, 2008

Yellow Input Forms for the Assigner Check

Courtesy of Sundar in the Planning forums:

Follow the steps for the reviewer to display the editable cells:

Connect to the Server and Select the Assignments
Select "Select Review or approver submission of this form link"
Highlight the User Row with Status Submitted to enable the 3rd Icon with pencil
Select the Pencil Icon to open the assignments
New Assignment window with Yellow color writeable region is displayed
Refer to PerformancePoint Add-In for Excel Online Help on Assignments

Friday, December 12, 2008

BET: Microsoft Excel Formulas - 3D Formulas

Creating a Summary worksheet (Cube) directly in Excel. 

As you move to PerformancePoint for reporting, this scenario will hopefully be less relevant.

But what if you have 25 worksheets and you need to sum up the same fields in all of them on a consolidation worksheet.

Named ranges and colons are your friend.

What is a 3D Formula ?
These are also known as cubed formulas.
A reference that refers to the same cell or range on multiple worksheets is called a 3D reference.
Using 3D formulas allows you to calculate data thorughout a workbook using multiple worksheets.
All 3D formulas are based on the syntax: Sheet1:Sheet4!A2:B5.
A 3D formula is a formula that refers to the same cell (or range of cells) on multiple worksheets.
The 3D formula "=SUM(Sheet1:Sheet4!A2)" can be used to add up the numbers in cell "A2" on 4 different worksheets.

BET: Microsoft Excel Formulas - 3D Formulas

Thursday, December 11, 2008

Download details: PPS 2007 SP2: Data Import Wizard

 

PerformancePoint Server 2007 SP2: Data Import Wizard

Brief Description

The Data Import Wizard enables users to configure and move data from source systems into Microsoft Office PerformancePoint Server 2007.

Download details: PPS 2007 SP2: Data Import Wizard

Nugget: Stop a rule in PerformancePoint while running

When you run rules, there is no option to cancel in the Business Modeller.  There are a few solutions for killing rules while running.

1. Kill the SQL process (sp_who2, kill ##) of the rule. (SQL implementation)

2. Kill the Analysis Services process of the rule. http://www.codeplex.com/MSFTASProdSamples.

3. IISReset.

4. SQL / SQL Analysis Services Reset.

5. (Possibly) kill w3wp.exe process.

All are brute-force methods highlighting the fact that you are probably not meant to stop rules while they are running. :)

Welcome to the PerformancePoint Planning Business Rules Development Guide

Tuesday, December 9, 2008

The Most Popular Microsoft Certification Exams in October 2008 | Jack’s Blog

The 640+ certified PerformancePoint Specialists will soon have company.

Microsoft Top 13 Microsoft Certification Exams List:
  1. .html">70-285:MCSE Designing a Microsoft Exchange Server 2003 Organization
  2. .html">70-442:Designing and Optimizing Data Access by Using Microsoft SQL Server 2005 is in development
  3. .html">MB7-517:NAV 5.0 Installation & Configuration
  4. .html">70-556:TS: Ms Office PerformancePoint Server 2007, Applications
  5. .html">70-089:Planning, Deploying, and Managing Microsoft Systems Management Server 2003

The Most Popular Microsoft Certification Exams in October 2008 | Jack’s Blog

Financial Systems and Business Intelligence: PerformancePoint Server - Balancing Your Actuals

 

Be sure to budget time to create variance reports for proper data validation when planning any data project.

PerformancePoint Server - Balancing Your Actuals

If like me, you are loading your actuals from your ERP system in PerformancePoint Server Planning, it helps to check your figures to make sure that they always balance. Now every good accountant will tell you that your trial balance must always balance to zero. This goes for each period and off course year to date. I have written some reports that self balance our system but in general here is the manual leg work behind it.

Financial Systems and Business Intelligence: PerformancePoint Server - Balancing Your Actuals

TechNet Virtual Labs: Office

 

A couple helpful ones here…

  • TechNet Virtual Lab: PerformancePoint Server 2007- Designing a Budgeting Model
  • TechNet Virtual Lab: PerformancePoint Server 2007- Monthly Reporting
  • TechNet Virtual Labs: 2007 Microsoft Office System

    Get hands-on with the key features and components of the 2007 Microsoft Office system and learn the benefits of deploying it within your organization. Walk through installation, configuration and the new components around enterprise features administration, collaboration, business intelligence, and experience common deployment and integration scenarios that can help you make better choices when planning your roll-out.

    TechNet Virtual Labs: Office

    PerformancePoint SP2 is out!

    Be sure to apply the “Pre-Service Pack 2 Update”

    PPS 2007 SP2: Application Database Pre-Service Pack 2 Update

    The Application Database Pre-Service Pack 2 Update resolves an issue that prevents PerformancePoint Server 2007 SP2 from updating the Application database.

    Microsoft Download Center Search Results

    Thursday, December 4, 2008

    Tips from PerformancePoint Planning Series I Course


    I'm teaching a PerformancePoint Planning course this week with a colleague from my company.  Here are some tips that may help implementations, some added from previous postings, others discussed in forums, others discussed in the class:

    Calendar

    Note that the calendar cannot be changed for an application once it is created. (Time Dimension)  Plan carefully!

    Model Type

    As with Calendar, Model Type is not something you can change, though you could add or remove rules from other model types to make them similar...

    Schedule a Job

    Is really just "create a job" which could be scheduled or run manually.

    Associations

    Are really just hidden model rules... sometimes it might be better to roll your own rather than using the associations section.

    Input Forms

    http://performancepointing.blogspot.com/2008/09/why-aren-my-input-form-cells-turning.html 

    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.

    And a few new ones.

    11. The cycle you have created uses the same model as the assignment's forms.

    12. The cycle you have created starts before the current date and ends 1 day after the current date (depending on your cycle configuration.)

    13. The roles that the user you are logged on as do not have read/write access turned off for the dimension members selected to input, as any role with this will override a permitting role. (similar to 6)

    14. That you have refreshed the offline assignment under Work Offline - Manage offline Assignments.

    Dynamic Dates in Reports

    Use the Current Period Reference in the time dimension of reports to dynamically change report date ranges.  Static examples from the course are not as maintainable, especially for monthly cycles.

    Cycles

    Only one role/user can be assigned to a cycle template.  Multiple users/roles can be assigned to an instance.

    Might want to name cycles like YYYY-MODEL-SCENARIO-DESCRIPTION

    Security And Roles

    For Business Unit security - Create a master role with read/write access to all business units.  Add all users to this role.  Treat it as a 'mailing/distribution list' used specifically for creating the cycle instance and assigning it to the role. 

    Create separate roles for each business unit contributor making an assignment.  Deny access to units that you do not want them to have access to.

    Create another role "Lockout" or "Disabled Users" with no access to anything.  Add users to this role to disable access to models.  Deny overrides any other access they may have.

    Do not specify User Customized Permissions. (Performance Hit).    Use increased number of roles instead.

    Excel Add-In

    Cut-pasting the matrix from Report-Properties may throw an error if dimension filters exist.  Edit the dimension filters under report properties to include name, label syntax same as original matrix.  Ensure that all properties match original matrix.

    Rules

    Use Active column to disable rules when performance problems exist.  Test model performance without any rules.  SQL Rules should be scoped very tightly, MDX rules should be scoped very broadly.

    Use variables to store start and end dates for rules instead of current period reference.  Additional flexibility.

    PPSCMD.EXE

    Creating a job of jobs. (Courtesy Jeffrey Wang, Technet forums)

    Well, its not impossible, its just not documented - but i guess that also means use it with care =)

    If you use .Net Reflector, you can browse into the PPSCmd itself and see that it actually has some hidden commands inside. One such magical command is the ImportXml that takes an xml file descibing the jobs you want to run.

    Create a XML file with the following content in your context:

    <?xml version="1.0" encoding="utf-8"?>
    <Root xmlns:xsi="
    http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/performancepoint/2007/03/MigrationDefinition">
      <Applications>
        <Application Id="GUID" Label="AppLabel" Name="AppName">
          <ImportCommands>
            <Command xsi:type="LaunchJob" Name="JobLabel">
            </Command>
          </ImportCommands>
        </Application>
      </Applications>
    </Root>

    Next, call it:

    PPSCmd importXml /server http://server:46767 something.xml

    Make sure you do not have have rules that are NativeMdx or NativeSQL implementation as this will disable the EnableNativeMdxSQLRule on the application.

    Once you have it running, you can schedule this to run in SQL Agent - full scheduling to your heart's desire.

    PerformancePoint Planning - Analysis Services

    Use SQL Profiler to connect to Analysis Services to identify query problems and issues with caching, or just to see what it's doing in the background while it's not "rendering the matrix".  You may be able to tweak aggregations using Aggregation Manager, though you will probably need to do this on every deploy.  Analysis Services should be on at least one separate server in the architecture for memory and performance reasons.

    PerformancePoint Exam 70-556 Outline

    http://www.microsoft.com/learning/en/us/exams/70-556.mspx

    The Microsoft ProClarity Team Blog : ProClarity 6.3 SP2 (build 2217) Documenation

    Proclarity 6.3 SP2 is out, and still doesn't play very well with Sharepoint 2007 on Windows 2008.. but hey, you should be scaling out right?

    Attached is the Requirements.doc for the ProClarity 6.3 SP2 (build 2217) release. This document is being posted here because it will not be available via KB article for another couple of weeks.  The SP2 bits are available at http://download.microsoft.com.  Still to come later are the "Installing ProClarity 6.3 SP2 on Microsoft Windows Server 2008" and "ProClarity 6.3 SP2 readme.docx" files.  We'll post these as soon as possible. 

    The Microsoft ProClarity Team Blog : ProClarity 6.3 SP2 (build 2217) Documenation

    Filtering Unneeded Dimension Members in PerformancePoint Filters - SQL Server Central

     

    Sometimes we need to utilise dynamic dimension security in an Analysis Services solution and we also need to display dynamically the allowed members in a PerformancePoint filter.

    Filtering Unneeded Dimension Members in PerformancePoint Filters - SQL Server Central

    Aurelien Koppel: Blog technique sur PerformancePoint Server (PPS)

    Advantages of Proclarity vs. Excel... in French.

    Proclarity 6.3 et Excel 2007 permettent à leurs utilisateurs de réaliser des rapports ad-hocs fondés sur des cubes Analysis Services (SSAS).

    Aurelien Koppel: Blog technique sur PerformancePoint Server (PPS)

    PerformancePoint Planning: Deleting a Custom Member Property - A Solution - Sacha Tomey's blog

    Some sample code to get started building your own PerformancePoint Planning add-in in C#... or at least one feature of it.

    Below is some really rough and ready C# code that actually does delete a dimension member property.  I will improve the code and probably add it in to my PPSCMD GUI interface as a 'feature pack' bonus at some stage, however, if you are in desperate need for the code to delete a member property, and you can't wait for PPSCMD GUI v0.2 or PerformancePoint Version 2 (I'm not sure which will come first !) the code is below (Use at your own risk !!)

    PerformancePoint Planning: Deleting a Custom Member Property - A Solution - Sacha Tomey's blog

    So.... you want to use the PerformancePoint web service so you can extend PerformancePoint, and integrate it into bespoke applications and SharePoint.

    The PerformancePoint Planning Web Service

    The Microsoft PerformancePoint Team Blog : Creating Excel and PowerPoint Documents Using PerformancePoint


    Still very relevant.

    Creating Excel and PowerPoint Documents Using PerformancePoint

    Eric Friedrichsen  (ericfr@microsoft.com)

    Microsoft Corporation

    August 2007

    Applies to:
    Microsoft Office PerformancePoint Server 2007
    Microsoft Office Excel 2007
    Microsoft Office PowerPoint 2007

    The Microsoft PerformancePoint Team Blog : Creating Excel and PowerPoint Documents Using PerformancePoint