Showing posts with label Assignments. Show all posts
Showing posts with label Assignments. Show all posts

Tuesday, December 25, 2007

On PerformancePoint Server 2007 Planning Features (Part 8)

Part 8 - Consolidation and Reporting

In Part 7 of this PPS Planning series of posts, we briefly covered how the PPS Add-in for Excel is used to enter data into a model, as well as review and approve such data (based on the assignment role of the user) as part of a scheduled cycle of assignments. In this long overdue (!) and final instalment in this series, we will take a glance at the role of associations and business rules in consolidating data for subsequent reporting.

Table 8.1 – Aligning Budget Activities to PerformancePoint Planning Tasks

8.1 Challenges in Consolidation

Consolidation of approved data contributions into a single location for financial reporting is necessary to provide a uniform view of a company’s plans. This exercise may be tedious for companies with an organizational structure that consists of many business units, product divisions or geographic locations; as you may recall from earlier posts, a PPS Planning application can be arranged into a hierarchy of model sites and subsites to reflect an organizational structure. Furthermore, although businesses may plan, budget or forecast for detailed conditions within a model subsite, decision-makers may only be concerned with higher-level figures in a less granular model. For example, in a company that sells a variety of products in several countries, stakeholders may only be concerned with summary revenue budget figures for specific countries without concern for how detailed product line targets contribute within each country. Meanwhile, product managers accountable for sales in each country can focus on approving more granular revenue targets for discrete products. Instead of resorting to duplication of effort in integrating data into both the detailed and summary models, we can take advantage of associations in PPS Planning that ultimately support management reporting in such situations.

Note: To be certain, the list of challenges in consolidation is far longer than those described here. The aim is to keep things brief as a function of covering PPS Planning at a high level.

8.2 Model, Dimension and Member Associations in PBM

In PBM, we have a dedicated workspace that allows us to configure associations that serve as conduits for moving and aggregating fact data between models. An association itself is expressed using three levels of detail: the model association, dimension associations within the model association and member associations within a given dimension association.

A model association (also called a model-to-model association) represents a coarse linkage between a source and destination model. Figure 8.1 shows the New Association dialog box that allows us to configure a source and destination model (residing in either a single model site or between model sites) for a model association. A model association also allows us to specify an Aggregation Function that indicates whether a Sum, Average, Min or Max function is perfomed on data as it moves into the destination model.

Figure 8.1 – New Association Dialog Box

Within a model association, a number of dimension associations are used to qualify the dimensions and membersets (remember: membersets are analogous to dimension hierarchies) that are involved between the source and destination in a model. Once a model association is created in PBM, we can access the dimension associations by clicking on the Dimension Association tab in the Associations Workspace. In Figure 8.2 we can create a dimension association for the Scenario dimension between both models by highlighting the Scenario dimension in each model and clicking on the Add Mapping button.

Figure 8.2 – Dimension Associations Tab in PBM

Note also that we may have additional dimension definitions that may not necessarily ‘line-up’ between models. Here, we must qualify the scope of members for an outstanding dimension—in a source model, this means that we include the tuples (or model cube cell intersections) of values that are aligned to the members to be included in the Aggregation Function. In a destination model, a single member can be specified to store the aggregated value (thereby performing a rollup of the source aggregated values).

Member associations are finely-grained pathways that allow us to quickly specify identical mappings between source and destination members that share a specific name, or, many-to-one mappings between a number of source members and a single destination member within a dimension association (this should not be confused with the scope of members we specify for outstanding dimensions within in a model association). We can also customize our mappings for situations where the source and destination member names are dissimilar.

Figure 8.3 – Member Associations Tab in PBM

In Figure 8.3, within the Member Associations tab, we can see the result of fully qualifying an identical mapping of all members of the Scenario dimension between both models, by simply clicking the Map Identical button.

The key to successfully implementing associations can be realized in how we have previously defined our dimensions and crafted our models. Upfront planning of the models to be used in a PPS Planning application is paramount; here, the power of shared dimensions can be realized as we can quickly map commonalities between models based on our knowledge of the members within a dimension.

The value of associations should become evident in situations where we may want to roll-up a number of fact values (in multi-dimensional space, aligned to specific dimension members in a model cube) in a source dimension, to a single member in a destination dimension (again, supplying a value that intersects on the member in the destination model cube). However, there are a few limitations to be aware of with associations. Firstly, associations do not support splitting or distribution of data from a tuple consisting of a single dimension member and value in a source model, to multiple dimension members in a destination model. In other words, one-to-many mappings in a member association are not supported in the current version of PPS Planning. Also, we cannot promote a percentage or fraction of the source aggregated value into the destination model with an association. Finally, an association will not remove scoped data from the source model once it has been allocated to the destination model; this may be ideal for situations where balances must be transfered from one model to another. In order to meet either of these requirements, we can implement one or more allocation business rules (performing either a PushCrossModelAllocation or PullCrossModelAllocation) that leverage the ALLOCATE or TRANSFER PEL (PerformancePoint Expression Language) statements. For completeness, an ALLOCATE statement only changes data in the destination model while a TRANSFER statement changes data in both the source and destination.

Using either approach (associations or allocation business rules), we are able to centralize fact data to support reporting from a single model. We can automate our process by creating a job (using the Process Management workspace in PBM) that executes the association or allocation business rule; this is ideal for allowing authorized users (most likely in an Approver assignment role) to execute the process manually from the PPS Add-in (Figure 8.4), thereby promoting approved data into the central model.

Figure 8.4 – Job Menu Items in the PPS Add-in for Excel (2007)


8.3 Reporting

After spending significant time in PBM, the typical BI developer might breathe a sigh of relief once the heavy lifting to get data into a central model for reporting is complete. Here, we have a few options for exposing our data for end-users.

We can take advantage of the simplicity in using the PPS Add-in for Excel. A report in this context is essentially the same as a form template (which is later instantiated for a given assignment), except that it does not allow data entry. In Figure 8.5, we can see a sample report that illustrates our ability to leverage conditional formatting features in Excel 2007.

Figure 8.5 – Summary Reporting with the PPS Add-in for Excel (2007)

Although we can publish reports from the PPS Add-in to SQL Server 2005 Reporting Services (SSRS 2005), the results may not always be what we expect since some reports may use MDX that cannot be rendered easily by SSRS 2005. Do take the time to review the Help file to learn more about these restrictions.

In my opinion, the more flexible, useful and reliable approach would be to switch gears and use the powerful PerformancePoint Monitoring and Analyzing (PPS-M&A) toolset. Here, we can surface data in a dashboard report (either with or without a scorecard) and implement further extensibility afforded by the PPS Monitoring SDK. Figure 8.6 shows the same information from Figure 8.5 (showing Budget and Forecast revenues along with Actuals) in a PPS Dashboard.

Figure 8.6 –Performance Reporting with PPS Monitoring Dashboard

Other options include using ProClarity 6.3 or PerformancePoint Professional Management Reporter (the latter of which is currently in beta at http://connect.microsoft.com/).

This concludes our high-level review of the PPS Planning feature set. To be certain, there is much more to the story on PPS Planning that can be found in the product documentation, at MSDN and TechNet, in the PerformancePoint forums, on the many informative blogs available (links to more than a few of these are listed in the right border of this blog) as well as in several books that will certainly emerge in the foreseeable future. In my opinion, the more you know, the further you go, so do take advantage of all the resources that present themselves on the subject of PPS Planning as they surface.

Thanks for reading, happy holidays, and good hunting with PPS Planning!

- Adrian Downes







Tuesday, August 14, 2007

On PerformancePoint Server 2007 Planning Features (Part 7)

Part 7 - Entering Budget Data and Managing Assignments

In Part 6 of this series, we initiated an assignment workflow, enabling our users to contribute, review and/or approve data entry in response to notifications. In this short post, we continue our journey through a PPS Plan cycle, using the PPS Add-in for Excel to submit or review budget data within a model, and, managing the state of the data-entry or review assignment with PPS Planning Business Modeler (PBM).

Table 7.1 – Aligning Budget Activities to PerformancePoint Planning Tasks

7.1 Entering Budget Data

Back in Excel, a contributor is able to see his/her new assignment in the PerformancePoint Action pane. Clicking on it retrieves an instance of the form template from the Planning server. In Figure 7.1 below, we see the open form associated to our assignment, with a region of yellow indicating where we may insert data.

Figure 7.1 – Data Entry Region in Matrix

Although the primary purpose of data entry is for submitting budget data, recall that we can also use data entry in concert with business rules to perform what-if analysis; here, setting up a review-only assignment would be ideal for such situations.

Another collaborative feature carried forward from Business Scorecard Manager (BSM) 2005 is the annotation. Annotations provide users with opportunities to further qualify a specific value with commentary-- in BSM 2005, a user with sufficient rights could add an annotation to any cell in a scorecard. In the PPS Add-in for Excel, annotations are aligned to a data entry cell, and the annotations themselves are stored within the Application Database (SQL Server 2005). On subsequent examination of data entry, for example, a reviewer may gain further insight on a specific budgetary value, or, if the assignment is defined appropriately, then a reviewer may add further commentary as well. Figures 7.2 and 7.3 illustrate the basic steps towards creating an annotation: right-clicking on the yellow data-entry cell, selecting ‘Annotations’ from the context menu and entering text for the annotation.

Figure 7.2 – Selecting the Annotations Item from the Context Menu

Figure 7.3 – Entering Text for a New Annotation

A subtle yet handy feature associated with annotations is the annotation view of the matrix. When this view is enabled, cells with annotations are shaded, helping a reviewer to quickly identify where a contributor has added a comment (see Figure 7.4).

Figure 7.4 – Annotations View Enabled for the Input Form

Once satisfied with data entry, our contributor needs to publish either a draft or final submission of their work to the Planning server. Draft submissions allow for subsequent modifications by contributors, while final submissions prevent such users from submitting further changes via the input form. Users in reviewer and approval roles can also publish their work to the Planning server, with different options to mark their submissions as reviewed or approved. Figure 7.5 shows how the user may submit contributions using the PerformancePoint Action pane.

Figure 7.5 – Submitting Contributions to the Planning Server

7.2 Managing Assignments

The “contribute/examine in Excel and submit to PPS Plan” paradigm changes the state of the assignment on the Planning server, causing successive workflow tasks to execute. We can use PBM to monitor progress of an assignment as well as pre-emptively purge, stop or restart it where necessary. PerformancePoint Planning CTP2 documentation describes six states (Table 7.2) an assignment may be in at any given time during a cycle.

Table 7.2 – Six States of an Assignment in PBM

These assignment states can be managed from the PBM Process Management workspace using the ‘Available Actions’ menu item covered in Part 6. There are nine actions in total (CTP2) which can be performed against a given assignment, depending on the PBM role of the user. Table 7.3 aligns these actions to said roles.

Table 7.3 – Available Assignment Actions by PBM Role

This shorter post rounds out the overall discussion on implementing a budget cycle. All the previous topics in this series broadly describe how PPS Planning may be used to design and develop a business model covering a specific facet of an organisation.

In a previous post adopting a 1:1 approach was suggested, using a specific business model for a given budgeting domain; here, the input form we use as the key interface to a business model reinforces this view towards optimizing the user (contributor/analyst) experience. Nevertheless, most (if not all) businesses require a master budget from which budgeted financial reports are generated, and, this situation often requires consolidation once supporting budgets are complete (e.g., for sales, direct labour, raw materials purchases, capital expenditure, etc.). In large diversified companies, consolidation is a more complex exercise often involving additional intercompany and share-allocation processes-- fortunately, as we addressed in Part 4, PPS Plan offers variety of business rule sets and flexibility in customizing business rules to support budgeting needs from the small business to the large enterprise.

In the next and final post of this series, we will briefly revisit the role of business rules and rule sets in consolidating individual budgets and a few options at our disposal for creating financial reports.

- Adrian Downes

Monday, August 6, 2007

On PerformancePoint Server 2007 Planning Features (Part 6)

Part 6 - Implementing Process Management

Once we have defined and designed business models as well as our input forms, the next step towards implementing a budget cycle is to get our analysts and contributors involved. This post provides an overview of how we use PPS Planning Business Modeler (PBM) to implement workflows relevant to budgeting.

Table 6.1 – Aligning Budget Activities to PerformancePoint Planning Tasks

A budgeting period is defined in PBM Process Management with cycles (of assignments) and jobs. In PBM terms, a cycle is basically a scheduled time frame which contains one or more tasks. An assignment involves the association of a user (which we have configured to a specific role) to a given input form (itself associated to one or more business models), to perform a required data-entry or review task. A PBM job is a system-oriented task for updating data within a model, or moving data between models. Jobs become especially useful if we need to centralize approved data from a number of models before running consolidated financial reports (budgeted financial performance, budgeted financial position, budgeted cash flow, etc.).

Figure 6.1 – Accessing the Process Management Workspace in PBM

6.1 Cycles

In order to setup one or more assignments for a user, we need to first define a cycle. Figure 6.2 illustrates the Create a Cycle wizard that launches from the hyperlink shown to the right in Figure 6.1.

Figure 6.2 –PBM Create a Cycle Wizard

The wizard requires an owner, with the appropriate authority (as defined in PBM), a specific business model, as well as a data entry scope for the cycle. Data entry scope is an important feature in PBM which allows us to control the range of time in the business model (delineated by a time/date/calendar dimension) in which budget contributions (and subsequent reviews) can be made. We also have the ability to define our data entry scope in terms of a current period reference relative to the current period (here, we focus on the level in the time dimension, such as a month or quarter) with an additional offset that adds equivalent blocks of time to the current period. For example, if our business policy is to prepare budgets three months in advance, then we can specify an offset of 1 month to a current period of September 2006 which results in an October 2006 starting range for data entry in the model. We can use the offset to define the ending range as well-- an offset of 3 months from the current period results in a three-month period ending in December 2006. The key benefit to using ranges based on a current period (which we define in our time dimension) and offsets is that the current period can be dynamic. Thus, if our cycle is recurring, the data entry scope becomes a sliding window for budget contributions.

Figures 6.3 through 6.5 illustrate how we arrive at the dialog that specifies a current period reference for data entry, from the Create a Cycle Wizard.

Figure 6.3 – Editing the Starting Data Period

Figure 6.4 – Adding a Current Period Reference

Figure 6.5 – Specifying the level and offset for a Current Period

It is important to note that data entry scope and scheduled time frames for a cycle are not the same: we may, for example choose to schedule a cycle for just the first week of our current period (August 2007), wherein we submit data for the quarter starting in October 2007. Also, when we define out time (date/calendar) dimension, we may also specify that the current period for the dimension may be dynamically derived, thereby helping us to implement a rolling period for budgeting.

The wizard also requires that we specify a member of our Scenario dimension for budgeting. For some, budgeting may require multiple passes within a given time frame in the model; ensuring your Scenario dimension has additional budget “pass” members affords greater flexibility in modelling for a variety of circumstances.

After we specify our scheduled time frame for the cycle, we are prompted by the wizard to specify whether notifications to users with assignments within the cycle are made. You may recall from our coverage of the Planning Administration Console that we configured a master list of users. Entries in this list optionally include email addresses which PPS Plan uses to issue messages to contributors when a new assignment is created or, to reviewers when budget data has been submitted.

Figure 6.6 – The New Cycle in the Process Management Workspace

In Figure 6.6 we can see our defined cycle in the Process Management workspace. Note that the Status of the cycle is set to ‘Running’. If you don’t see this state of the cycle after finishing the Create a Cycle wizard, either hit F5 or refresh the PBM workspace browser. We can also use PBM’s ‘Available Actions’ Process Scheduling Task menu item to start and stop cycles, as well as completely purge a cycle and any assignments it contains from the Planning Server

6.2 Assignments

Once a cycle is defined, the owner of the cycle can create assignments specifying:
  • users who will enter and submit budget data
  • users who will review and/or approve data entry
  • deadlines for submissions and approvals
The key to cycles and assignments is the workflow running behind the scenes. An assignment to a user for data entry, for example, has a different state depending on whether the user has submitted data via a given input form. Once a user submits an assignment, the process scheduler changes the state of the assignment and evaluates the next portion of the defined workflow; as we just covered, if notifications are enabled, then the next person in the workflow will receive a message to either contribute their own data, or review data that someone else entered.

Selecting the ‘Forms Assignment’ tab of the Process Management workspace for our newly created cycle, and clicking the ‘Assign Forms’ hyperlink button in the right-hand Workspace task pane (shown in Figure 6.7) reveals the ‘Assignment Definition Creation Wizard’ (Figure 6.8).

Figure 6.7 –Creating a Forms Assignment for the Cycle

Figure 6.8 –The Assignment Definition Creation Wizard

The Assignment Definition Wizard helps us to identify either one or more contributors on a given assignment, or, a group of contributors arranged in a submission hierarchy. A submission hierarchy represents a collection of contributors and approvers which can be defined to match approval processes among a larger number of users. Here, matching a submission hierarchy to a subset of your company’s organisation chart (for example, within a finance department where managers approve senior analyst contributions, who in turn approve junior analyst contributions) is a convenient way to delineate start-dates and deadlines according to the hierarchy itself. Using the submission hierarchy, you can specify the number days required, at a given level, to complete an assignment (the duration of the assignment), then stagger the start times according to the budgeting period-- this creates a critical path of sorts between the earliest start-time (at the lowest level of the hierarchy of contributors), the delta of durations from level to level, up to the topmost approver.

After selecting our approval chain for an assignment, we can include the input form template we configured and published to the PPS Planning Server. Clicking on the ellipses button in the ‘Form’ region of the wizard’s Data Submission page exposes a dialog box (Figure 6.9) where we can select the appropriate form for the assignment. Although the documentation indicates that more than one form may be used for an assignment, I tend to believe that keeping a 1:1 ratio between assignments and forms may well be simpler and easier to manage.

Figure 6.9 –Selecting an Input Form Template for the Assignment

After selecting the form and defining the starting- and ending-dates for the assignment, we then indicate whether our workflow will include reviews, approvals, reviews and approvals, or, alternately neither reviews nor approvals. Selecting the lattermost option brings us to the end of the wizard, while any of the other options prompt us to specify PBM-defined users to participate in the desired capacity. Reviewers and approvers may, at our discretion, edit submissions from contributors, and we can also specify deadlines for reviews and approvals (see Figure 6.10); this is necessary if we choose not to use a submission hierarchy but still wish to set deadlines for non-contributors.

Figure 6.10 –Specifying Review Conditions for the Assignment

Finally, with our assignment defined, we need to save changes to our model site before starting our assignment. Although we have defined the start-time, in CTP2 the assignment definition still needs to be instantiated (the instance itself started) in order for users to contribute/review/approve as well as for the workflow to perform its magic. For the BI practitioners out there, this is analogous to enabling a SQL Server 2005 job to automatically start at a specific time.

Figure 6.11 – Getting Ready to Enable the Assignment

As shown in Figure 6.11, highlighting the assignment and clicking ‘Available Actions’ in the workspace task pane opens a dialog box, allowing us to start the assignment instance (Figure 6.12).

Figure 6.12 – Starting (Enabling) the Assignment Instance

As we covered earlier in this post, once the assignment is up and running, the lead-off contributor may be notified of their assignment via email-- provided this was previously configured in the PAC Master User List. Furthermore, you can supply a link to the assignment (which automatically opens Excel to display it) in an email, or, you can use the link in a SharePoint web part that can be seen on a personalised MOSS site or WSS 3.0 page.

With the assignment enabled, we may proceed to enter our budgetary information. In Part 7 of this series, we will return to the PPS Add-in for Excel for data entry as well as review our options for managing assignments via PBM.

- Adrian Downes