Tuesday, June 12, 2012

How to handle different metric types with same name

When you want to replace part of your scorecards with newly contents, it is probably requested to use the same name for the sake of consistency. How to achieve this goal?

There are three options:

  • Option 1: Create new metric types, but with the same name
  • Option 2: Don’t create any new metric type, but overwrite metric data
  • Option 3: Create new metric types, but with different name

Option 1:

  1. It is possible in scorecard design to use same name  called Call Frequency Attainment

  1. However, two identifiers are used; the identifier of old one is WORKLOAD_MT, while the identifier of new one is V_WorkLoadAttain

  1. In Metric designer, you will only see one name Call Frequency Attainment  when doing metric mapping


  1. To figure out which one is the real one mapped; you can go to xml to determine.

- <metricsMapping>
- <metric>
<name>WorkloadActual</name>
<metricTypeID>V_WorkLoadAttain</metricTypeID>
- <valueSourceMapping attribute="PREVIOUS_YEAR_MT">
<valueSource type="expression">total([Metric Types].[AG_MS_VEE_WorkloadAttainment].[WorkLoadActual])/total([Metric Types].[AG_MS_VEE_WorkloadAttainment].[WorkLoadGoal])</valueSource>
</valueSourceMapping>
- <mapping attribute="aggregate_function">
<valueSource type="text">Automatic</valueSource>
</mapping>
- <mapping attribute="rollup_aggregate_function">
<valueSource type="text">Automatic</valueSource>
</mapping>
</metric>

  1. In strategy design, you will see two metric type with the same name, it displayed with the sequence from metric type, the old one is listed first



  1. In report, we can share the same strategy where each strategy element contains both old and new one.  We can define filter to control what metric type to display based on scorecard.


#/* control what metric type to show */#
(  (?Scorecard? starts with '2%')
and ([Metrics].[Metrics].[Metric Type External ID] not in ('WORKLOAD_MT','WORKLOAD_YEAR_MT','CUSTOMER_CALL_ENTRY_MT','PRE_CALL_PLANNING_MT','SALES_REP_ACTIVITY_MT','DAILY_CALL_AVERAGE_FOR_AB_CUSTOMER_MT','DAILY_CALL_AVERAGE_FOR_AB_Physician_MT')))
or
(  (not ?Scorecard? starts with '2%')
and ([Metrics].[Metrics].[Metric Type External ID] not in
('V_WorkLoadAttain','V_WorkLoadAttainAnn','V_AvgCallEntry','V_PreCallPlan','V_UnReportDays','V_DailyCallAvgSub','V_DailyCallAvgSub')))

  1. Re# 6, another more flexible solution is to use data security to filter metric types to be applied.


Option 2: This is probably the better solution, as you don’t need to make any special handling in metric studio, metric strategy design and report adjustment. The only big issue is to decide how to handle the top level (All business unit).  The only thing you need to touch is metric designer

  1. You can have multiple inputs to feed to metric type in metric designer by slice and dice manner

  • Feed data at specific level, such as different business unit
  • Feed data to different kinds of value, such as actual and objective

  1. The running sequence becomes extremely important, when extracting the same metric with multiple steps. The basic idea is overwritten, subsequent step always overwrite data from last step, which is exactly opposite approach in TM1 rule.

Option 3: This option is to make option 1 much more clearly in term of maintenance; the only change is to metric name in report, which is very easy to proceed.

1 comment: