Topic
  • 6 replies
  • Latest Post - ‏2012-06-29T10:12:08Z by SystemAdmin
SystemAdmin
SystemAdmin
150 Posts

Pinned topic alternative to Bill Normalization?

‏2012-05-31T19:55:43Z |
Hello forum,
I would have a question.. Is there an easy aternative to Bill Normalization ? Without complex approaches like custom code, can I use the OOTB stages to for example look up from differen tables (files or db) by server name for intance and have as a result a new NORMFACT ratecode for instance which I would use in a subsequent conversion stage?
Otherwise I can see how to split in separate files by presence pereach server and reprocess separatly but it looks cumbersome and lots of processing to maimtain..

Many thanks for any hints
tom
Updated on 2012-06-29T10:12:08Z at 2012-06-29T10:12:08Z by SystemAdmin
  • asmcleod
    asmcleod
    97 Posts

    Re: alternative to Bill Normalization?

    ‏2012-05-31T21:17:23Z  
    Tommaso,

    First, to use Bill normalization - you have three steps:

    • enable NORMALIZE CPU VALUES in the Bill control cards
    • check the CPU VALUE item for each rate code that you want to normalize
    • supply normalization factors via the CPU Normalization Maintenance panel in the TIP admin console; note you'll need identifier System_ID and possibly Work_ID in your CSR records, giving you a "two-level" capability

    The Bill program then normalizes the resource usage metrics for the selected rate codes according to the factor for matching System_ID and Work_ID; Bill then applies the single rate to that normalized metric. You'd then load the database normally.

    But it sounds like you may already have normalization factors in a separate flat file, and you may want to apply normalization to the CSR records before you run Bill? Perhaps you could use TableManager to load your external factors into the TUAM normalization table, perhaps an early step in the job processing?

    There's no standard TUAM mechanism to do a generic lookup against a separate table for a numeric value, but perhaps we can make double use of some Integrator functionality. If that's your requirement, we can think through a possible plan.

    I agree with your thoughts on separating CSR records by say System_ID and processing each separately is cumbersome; I've done that in the past (before we had TierSingleResource stage - yikes).

    Please clarify if I've misunderstood your goal.

    Scott
  • SystemAdmin
    SystemAdmin
    150 Posts

    Re: alternative to Bill Normalization?

    ‏2012-06-01T08:18:20Z  
    • asmcleod
    • ‏2012-05-31T21:17:23Z
    Tommaso,

    First, to use Bill normalization - you have three steps:

    • enable NORMALIZE CPU VALUES in the Bill control cards
    • check the CPU VALUE item for each rate code that you want to normalize
    • supply normalization factors via the CPU Normalization Maintenance panel in the TIP admin console; note you'll need identifier System_ID and possibly Work_ID in your CSR records, giving you a "two-level" capability

    The Bill program then normalizes the resource usage metrics for the selected rate codes according to the factor for matching System_ID and Work_ID; Bill then applies the single rate to that normalized metric. You'd then load the database normally.

    But it sounds like you may already have normalization factors in a separate flat file, and you may want to apply normalization to the CSR records before you run Bill? Perhaps you could use TableManager to load your external factors into the TUAM normalization table, perhaps an early step in the job processing?

    There's no standard TUAM mechanism to do a generic lookup against a separate table for a numeric value, but perhaps we can make double use of some Integrator functionality. If that's your requirement, we can think through a possible plan.

    I agree with your thoughts on separating CSR records by say System_ID and processing each separately is cumbersome; I've done that in the past (before we had TierSingleResource stage - yikes).

    Please clarify if I've misunderstood your goal.

    Scott
    Hi Scott, thanks for the reply,
    mygoal is more to separate normalization data completely, so there isnt' any potential interference between two unrelated processings. So I guess I basically would need to separate normalization tables (or files).
    I will think about a way to do it with itegrator, but cant think right now of a way without java code...
    Thanks alot forany hints!
  • asmcleod
    asmcleod
    97 Posts

    Re: alternative to Bill Normalization?

    ‏2012-06-01T09:58:34Z  
    Hi Scott, thanks for the reply,
    mygoal is more to separate normalization data completely, so there isnt' any potential interference between two unrelated processings. So I guess I basically would need to separate normalization tables (or files).
    I will think about a way to do it with itegrator, but cant think right now of a way without java code...
    Thanks alot forany hints!
    Tommaso,

    What do you mean by "potential interference between two unrelated processings"? Can you give an example of the type of problem you think might occur?

    Scott
  • SystemAdmin
    SystemAdmin
    150 Posts

    Re: alternative to Bill Normalization?

    ‏2012-06-10T10:50:28Z  
    • asmcleod
    • ‏2012-06-01T09:58:34Z
    Tommaso,

    What do you mean by "potential interference between two unrelated processings"? Can you give an example of the type of problem you think might occur?

    Scott
    Hi Scot, sorry for the late answer. what I mean is that from a maintenance point of view is not ideal to have one single normalization table for all system and all customers. I understand it is also not possible to add comments in the table. therefore it would be better to have a way to look up numeric values from a table to apply formulas depending on system_id or other identifiers. Otherwise I can only see the method mentioned above of processing system ids separately, or a custom java class. both not ideal though feasible..thanks.
  • asmcleod
    asmcleod
    97 Posts

    Re: alternative to Bill Normalization?

    ‏2012-06-28T15:17:36Z  
    Hi Scott, thanks for the reply,
    mygoal is more to separate normalization data completely, so there isnt' any potential interference between two unrelated processings. So I guess I basically would need to separate normalization tables (or files).
    I will think about a way to do it with itegrator, but cant think right now of a way without java code...
    Thanks alot forany hints!
    Tommaso,

    Sorry for my delayed reply - just back from an extended vacation.

    One mechanism that may work for you (but I haven't tried it) - use the CreateResourceFromDuration stage. Its Example 2 doc (http://publib.boulder.ibm.com/infocenter/tivihelp/v3r1/topic/com.ibm.ituam.doc_7.3/job_file_structure/r_createresourcefromduration.html) shows how to convert a duration value contained in an identifier into a numeric resource value.

    You would use normal lookup capabilities against your external, normalization flat files - giving you the required normalization factor for each CSR records as an identifier (text) value.

    Then use CreateResourceFromDuration (be sure to set the dateFormat correctly and units to probably seconds?) to convert that identifier into a resource.

    Then use CreateResourceFromConversion to calculate your normalized value from the raw value and normalized value (both of which are now resources).

    Note that CreateResourceFromDuration says that values are truncated, so you may need to scale your factors in the external table to ensure they're all integers, then divide by the scaling factor later in the CreateResourceFromConfersion stage.

    Let us know if this helps.

    Scott
  • SystemAdmin
    SystemAdmin
    150 Posts

    Re: alternative to Bill Normalization?

    ‏2012-06-29T10:12:08Z  
    • asmcleod
    • ‏2012-06-28T15:17:36Z
    Tommaso,

    Sorry for my delayed reply - just back from an extended vacation.

    One mechanism that may work for you (but I haven't tried it) - use the CreateResourceFromDuration stage. Its Example 2 doc (http://publib.boulder.ibm.com/infocenter/tivihelp/v3r1/topic/com.ibm.ituam.doc_7.3/job_file_structure/r_createresourcefromduration.html) shows how to convert a duration value contained in an identifier into a numeric resource value.

    You would use normal lookup capabilities against your external, normalization flat files - giving you the required normalization factor for each CSR records as an identifier (text) value.

    Then use CreateResourceFromDuration (be sure to set the dateFormat correctly and units to probably seconds?) to convert that identifier into a resource.

    Then use CreateResourceFromConversion to calculate your normalized value from the raw value and normalized value (both of which are now resources).

    Note that CreateResourceFromDuration says that values are truncated, so you may need to scale your factors in the external table to ensure they're all integers, then divide by the scaling factor later in the CreateResourceFromConfersion stage.

    Let us know if this helps.

    Scott
    Hi Scot, thank that's an interestin approach I will have a look. However for this case we decided to go ahead and implement the multiple file approach we mentioned above, having separate job files for ech physical server and use IncludeRecsByValue to have only the relatve records. Then a stage with CreateResourceFromConversion would apply the specific factor to that server.Pretty straighforward I think and clear enough to understand as the jobfiles would have some _servername in th file or something.

    Thanks
    Tom