Friday, October 31, 2014

Restarting COM Objects

Clarity uses Component Object Model (COM) objects to handle all the server-side operations. This includes querying, saving, configuring and more. For a variety of reasons, the COM objects can get confused. Often times, the system can go right back to normal if the COM objects are restarted. There are a couple of ways to do this.

IISRESET


By running iisreset, as an administrator, from the command prompt, the Internet Information Server (IIS) service will be stopped and restarted. Since the COM objects live inside IIS, this effectively stops and restarts them. For more information on this, here is an IBM article.

Restarting the COMs


If iisreset doesn't work, restarting the COMs directly may help uncover the issue, or just magically fix it. To restart the COMs, you can follow these steps.


  • Open Start..Administrative Tools..Component Services
  • Navigate COM+ Applications node on the left work pane, as shown below
  • Right-click on ClarityQueuedComponents and select Shutdown
  • Right-click on ClarityComponents and select Shutdown
  • Right-click on ClarityComponents and select Start
  • Right-click on ClarityComponents and select Start
At this point, the server should be working again. You may have encountered an error message that will lead you towards the real reason Clarity isn't working. The properties of these two objects can also be tweaked to improve performance in a variety of ways. Turning on queuing is one such optimization.

What Clarity Version Do I Have?

If you ever ask IBM Support or a consultant for help with Clarity, they will probably ask you, "What version of Clarity are you using?". This is meant to be a simple question, but for folks that don't know how to find the version, it can be a bit confusing. Here are some simple ways to identify which version of Clarity is installed on a given server.

Mouseover on the application title text



If you login to a Clarity application, you'll usually see some text describing the application on the top left of the screen. By default, this says, "Clarity 7". Often times, implementation teams will update this to a client's logo, or add the word 'Dev' to denote the development server. This helps users visually see which server they are using. By holding the mouse over this text, the exact version number of the Clarity product will be displayed, as shown above.

Properties of an Clarity DLL file


Sometimes, using the mouseover will not work, if the text is replaced by an image or logo. In that case, we can still find the Clarity version by looking at the properties of any Clarity.* DLL in the Clarity Systems\ClarityServer\Web\bin folder. 
  • Open Clarity Systems\ClarityServer\Web\bin
  • Right-click Clarity.ActivityTracker.dll and select properties (Any Clarity...DLL will work)
  • Select the Details tab
  • Look at the Product version property on the details tab

Tuesday, October 21, 2014

Versioning (Analysis Services) - How can I fix it?

Versioning is a tool in Clarity enabling users to copy data from a set of source dimension elements to a set of target dimension elements. The most common implementation of it gives users a selection for a source (scenario, year) combination and a target (scenario, year) combination. The tool itself looks clear and straightforward, but the complexity and risk is just below the surface. Below is an example of a more advanced configuration. In this example, a user selects a source (scenario, year, period, account) combination and a target (scenario, year, period) combination. This allows whole years to be copied, or individual periods. It also allows individual accounts, or a whole income statement. This also has options for which cube to version data and how many months should be copied. This screen is very flexible and configurable. This discussion will focus on SQL Server Analysis Services implementations. Versioning in Essbase is handled differently.

How Its Supposed To Work

This is how versioning should work for users.

  • User selects the source and target information
  • User clicks calculate
  • User can run reports and see the target data updated
Here are some of the common challenges that muddle this user experience
  • Users need to wait for a nightly process to run before seeing their versioned data
  • The webpage times out and users see errors
  • The webpage takes a long time to run and users are not sure if the process completed or not
  • The screen goes white while running and users are not sure if the process has crashed
  • Line item detail is not included when versioning
  • Capital or Human Resources detail is not included in versioning
Clarity Versioning Tool Screenshot

Versioning Algorithm

When implementing versioning for a client, here are the steps that need to be done to ensure a successful implementation and happy client.
  • Discuss the expectations with the client to uncover which parameters should be displayed
  • Update the Clarity Systems\ClarityServer\Web\Versioning\versioning.xml file to display those parameters and pass them to an underlying stored procedure (dbo.STP_VERSIONING)
  • Write a stored procedure to do the versioning, typically dbo.STP_VERSIONING with the following pseudocode. This could also be done using an SSIS package, but the pseudocode would be the same.
    • Check Parameters
      • Make sure source and target are different
      • Make sure target is not in an archive
      • Strip off any MDX style formatting
    • Clear Target
      • Delete data from the target combination in 
        • Each cube fact table
        • Each module table (HR/Capital)
        • Line Item Detail
    • Copy Data
      • Copy data from the source combination to the target combination in each of the above tables
    • Start a Job to Reprocess The Cube
      • At the end of the stored procedure, use something like the following to start a job that ONLY reprocesses the cube. This DOES NOT run the full nightly process. It only performs the ProcessFull process operation on the Analysis Services cube. If this is Essbase
        EXEC dbo.sp_start_job N'ProcessCube' ;
Following these steps, versioning will work fine and users will have a positive experience.

Versioning Options and Concerns

As the screen above shows, there are lots of options to consider. Here are some things to discuss with your implementation team to make sure you get all you can from this feature. 
  • What is the timing? How long will versioning take?
  • What about notifications? How do I know when it's done? ...failed?  ..emails?
  • What do I do if I see an error? How can I troubleshoot this? What are my next steps?
  • What grain of versioning do we want? OLAP? Capital? HR? LineItemDetail? Custom Tables?
  • Who should have access to this tool?
  • How can I make a backup first, in case I make a mistake?
  • How can I restore a backup, after I've made a mistake?
  • Should we use a stored procedure or a SSIS package?
  • Should I notify users before running this? ...who? ...how?
If you would like help with your current Clarity implementation, please feel free to reach out to us and we can help. (support@clearinsight.ca)


Thursday, May 22, 2014

Cognos TM1 10.2.2 is now available for download...and review

Cognos TM1 10.2.2

With the release of Cognos TM1 10.2.2, there are a number of updates users should try out. Here is a quick look at some of the ones I recommend checking out.

CAFE (Cognos Analysis For Excel) 

This tool has been around for a while, but has some noticeable improvements in this release. For anyone trying to provide a better user experience right in Excel, this helps provide that. Yes, we have Xcelerator to navigate views, but CAFE provides some additional column drilling now that wasn't available before.

Scorecarding

Scorecarding is now native functionality in TM1. With this 10.2.2 release, they have further improved the experience by being able to convert a planning cube into a metrics cube... with one click!  Previously, we would need to create a separate metrics cube with the KPIs embedded. Now, the tool can generate the metrics cube from any planning cube...making scorecarding faster and easier.

Data Flow Diagrams in Performance Modeler

Performance Modeler is a good tool for designing cubes, links and processes. One challenge has always been graphically displaying the links between all models in an application. The folks at IBM have solved this one now. In Performance Modeler, we can now navigate a visual display showing all the cubes in our model, as well as the links (rules and TIs) between them. This is still not as powerful as the analysis provided by something like QubeDocs, but it will really help folks learn and maintain new models they encounter.

Download IBM Cognos TM1 10.2.2

IBM Cognos TM1 10.2.2 Fix List

Tuesday, May 13, 2014

Free Youtube Course on Building IBM Clarity7 Reports

  Building reports in ClarityStudio can be a bit challenging without some guidance. To help new folks along, we have developed a series of Youtube videos to walk you through the process of developing a complex report. This particular report that we build together is a validation report to compare two cubes. This is a very important part of any testing phase of a project. This gives us the visibility into the system to question any number in the cube, and reconcile it back to a source system. Instead of having to ask a DBA to verify numbers, the Finance team can verify numbers anytime they want ensuring they are comfortable and confident in the numbers they report.

  Starting from scratch, we talk about all these topics while building this validation report:

  • Layout of a report
  • Dimensions
  • Connecting to datasources
  • OLAP Member Lists - Selecting dimension members
  • OLAP Maps - Setting up result sets for display on the Excel grid
  • Page Options
  • Calculating Variances
  • Traffic Lighting
  • Linked Documents
  • Cascading
  • Block Formatting
  • Zooming (Zoom In / Zoom Out)
  • Security Setup
  • Audit Trail
  • Archiving
  • Dashboards in Visualizer
   A Youtube playlist has been setup to walk you through the sequence of videos. The idea is that you can follow along and build the same report in your own environment. It uses the demo cube that should be installed with every Clarity implementation, so you can use the exact same setup when you do it too.

   Here is a link to the Youtube playlist. Please send us your comments to info@clearinsight.ca or @clearinsightfpm on what other types of videos you would like to see in this new training series.


Enjoy,

Bob

Tuesday, February 11, 2014

Archiving - How to improve performance by archiving old (Scenario,Year) combinations - IBM Clarity

Youtube video on this topic - http://youtu.be/zLjFeV2RCyI

Any database application should be able to deal with data growth. As an application is used, data is created and evolves. With a corporate performance management tool, data can nicely sliced by a (Scenario, Year) combination. For example (Actual, 2004) would be the actual transactions that happened in 2004. (Budget, 2006) would be the approved budget for 2006). If a system has been in use for 5 years and each year is focused on building only a 1-year plan, 80% of the data is static. Many administrators do not know that, in most cases, all active data is reprocessed each night. Even though the last 4 years of data is not changing, those rows need to be loaded, checked and recalculated. The archiving process moves this data into separate tables that do not get reprocessed each night. That data is still available in the cube, but it does not eat up CPU cycles each night. It also does not need to be backed up each night. By keeping it in a separate database, daily backup file sizes can remain constant for as long as the application is in use. Rather than having backups of 60GB or more, backups should rarely be larger than 20GB.

High Level Steps for Archiving


  1. Figure out which (Scenario, Year) combinations have data in the system right now
  2. Decide which (Scenario, Year) combinations should be deleted, archived or stay active
  3. Create a new database for archiving
  4. Setup archive copies of only the necessary fact tables in this new archive database
  5. Write a process to move data to or from the active and archive tables
  6. Run the process to archive out each (Scenario, Year) combination that should be archived
  7. Add a new cube partition for the archive table