IBM Support

TNPMW: Summaries using Pcalcs with aggregator do not produce correct result

Troubleshooting


Problem

Summaries that contain Pcalcs with any aggregator give the same result irrespective of data availability in traffic table. This is a known limitation that this functionality is not supported and doesn’t bring any value to the result.

Diagnosing The Problem

Problem and Impact Statement

With every tech pack, two Summary XML files are provided:
· SummaryInstance.xml -> Contains simple summary definition for all traffic tables specific to that tech pack.
· SummaryInstancePcalcs.xml -> Contains complex summary definition with PCalcs as their source field.

Above mentioned summaries can be found at the following location:
$WMCROOT/admin/techpacks/<TPNAME>/<TPVERSION>/summaries/

To provision the above summaries during tech pack installation, the following property must be set to TRUE:
vallent.vmm.techpack.provision.summaries

This property is found in:
/appl/virtuo/conf/vmm/default.properties

When these summaries are executed, they produce similar result for Sum, Min and Max columns. Over a long period, it can take up unnecessary space in the database since the results are all the same.

Example:

Summary Name: ZTE_PCAL_SUMM#
Pcalc Used: ZTE.DO_Cell_Traffic_Overview.Call_ERL
Pcalc Expression: {ZTE.DO_CELL_FCH_ERL.CallDuration} / 3600
Source traffic table: ZTE_DOCELFCHERL_TAB
Aggregators:
· S Sum
· M Min
· C Max
Interval:
· Daily
· Weekly
· Monthly



Summary Definition:

<summary><name>ZTE_PCAL_SUMM#</name>
<source>
<entity>CBSSB_Cell_Carrier</entity>
<field-list>
<field>
<source-field>
<entity>CBSSB_Cell_Carrier</entity>
<field-name>ZTE.DO_Cell_Traffic_Overview.Call_ERL</field-name>
<tp-field-id>t3nr1r2bdx2aiuh1j035xrok0m</tp-field-id>
</source-field>
<dest-field/>
<aggregators>
<field-aggregator>S</field-aggregator>
<field-aggregator>M</field-aggregator>
<field-aggregator>C</field-aggregator>
</aggregators>
</field>
</field-list>
</source>
<summary-attributes>
<intervals-required>
<interval type="daily" source="raw"/>
<interval type="weekly" source="raw"/>
<interval type="monthly" source="raw"/>
</intervals-required>
<calculate-late-data>true</calculate-late-data>
<summary-type>tech pack</summary-type>
</summary-attributes>
<enabled>true</enabled>
</summary>
</Summaries>

When the above summary is executed, it populates all the following columns with same value:
· SUMSUM_ CallDuration
· MINMIN_ CallDuration
· MAXMAX_ CallDuration.

Resolving The Problem

Root Cause

This is because the default aggregator of Pcalc is applied at time scope level. In this case, Pcalc has Avg aggregator, which results in single row for specific CBSSB_Cell_Carrier_id for that day. Hence, Sum or Max or Min of single row will result in same row.

INSERT /* ctxt=REPORT tnpmklsunz14.persistent.co.in_10.44.240.78 */ INTO ABHI_PCAL_SUMM#_DSM (summary_id, CBSSB_CELL_CARRIER_ID, instance_id, tstamp, SUMSUM_T3NR1R2BDX2AIUH1J035XRO, MINMIN_T3NR1R2BDX2AIUH1J035XRO, MAXMAX_T3NR1R2BDX2AIUH1J035XRO) (
SELECT /* TheReport */ 1083,
DECODE(CBSSB_Cell_Carrier.E0_CBSSB_Cell_Carrier_Id, ' grp ', null, null, '-null-', CBSSB_Cell_Carrier.E0_CBSSB_Cell_Carrier_Id) E0_CBSSB_Cell_Carrier_Id,
DECODE(CBSSB_Cell_Carrier.E0_instance_id, ' grp ', null, null, '-null-', CBSSB_Cell_Carrier.E0_instance_id) E0_instance_id,
DECODE(CBSSB_Cell_Carrier.t_day, ' grp ', null, null, '-null-', CBSSB_Cell_Carrier.t_day) t_day,
(CBSSB_Cell_Carrier.xp$2)/(3600) XP1,
CBSSB_Cell_Carrier.xp$4$min XP3,
CBSSB_Cell_Carrier.xp$6$max XP5
FROM
(SELECT /*+ ORDERED */
/* CBSSB_Cell_Carrier ER */
TimeScope.t_day t_day,
E0_CBSSB_Cell_Carrier_Id E0_CBSSB_Cell_Carrier_Id,
min(E0_instance_id) E0_instance_id,
sum( TimeScope.xp$2 ) xp$2,
min( (TimeScope.xp$2)/(3600) ) xp$4$min,
max( (TimeScope.xp$2)/(3600) ) xp$6$max,
sum(TimeScope.wm__avail) wm__avail
FROM
(SELECT /*+ ORDERED USE_HASH(cp) USE_HASH(ZTE_DOCELFCHERL_TAB) PARALLEL(ZTE_DOCELFCHERL_TAB 2) */
/* TimeScope */
cp.E0_CBSSB_Cell_Carrier_Id E0_CBSSB_Cell_Carrier_Id,
to_char(trunc(cp.tstamp, 'DD'), 'YYYY-MM-DD') t_day,
min(cp.instance_id) E0_instance_id,
min(cp.instance_id) instance_id,
min(E0_vendor_id) E0_vendor_id,
avg(ZTE_DOCELFCHERL_TAB.W0B0R16A4C2AIUH1J035XROK0M) xp$2,
sum(nvl2(ZTE_DOCELFCHERL_TAB.instance_id, 1, 0)) wm__avail
FROM
(SELECT /*+ ORDERED USE_HASH(bt) CARDINALITY(bt 100000) */
/* cp */
bt.value value,
bt.tstamp tstamp,
NC_CBSSB_CELL_CARRIER.CBSSB_CELL_CARRIER_ID E0_CBSSB_Cell_Carrier_Id,
NC_CBSSB_CELL_CARRIER.nc_id instance_id,
NC_CBSSB_CELL_CARRIER.nc_id traffic_instance_id,
NC_CBSSB_CELL_CARRIER.vendor_id E0_vendor_id
FROM
NC_CBSSB_CELL_CARRIER NC_CBSSB_CELL_CARRIER,
rg_nc_busyhour_tmp bt
WHERE
bt.tstamp BETWEEN NC_CBSSB_CELL_CARRIER.timestamp AND NC_CBSSB_CELL_CARRIER.endstamp
AND (NC_CBSSB_CELL_CARRIER.CBSSB_CELL_CARRIER_ID = bt.localkey)
AND (NC_CBSSB_CELL_CARRIER.vendor_id IN (21))
AND (bt.value IS NOT NULL)) cp,
ZTE_DOCELFCHERL_TAB ZTE_DOCELFCHERL_TAB
WHERE
ZTE_DOCELFCHERL_TAB.instance_id (+)= cp.traffic_instance_id
AND (ZTE_DOCELFCHERL_TAB.tstamp (+)= cp.tstamp)
AND (ZTE_DOCELFCHERL_TAB.tstamp (+) BETWEEN to_date('2012-09-25 00:00:00', 'YYYY-MM-DD HH24:MI:SS') AND to_date('2012-09-25 23:30:00', 'YYYY-MM-DD HH24:MI:SS'))
GROUP BY cp.E0_CBSSB_Cell_Carrier_Id,
to_char(trunc(cp.tstamp, 'DD'), 'YYYY-MM-DD')) TimeScope
GROUP BY TimeScope.t_day,
E0_CBSSB_Cell_Carrier_Id) CBSSB_Cell_Carrier
)


Workaround

Since the Pcalcs do not bring any value to the result, you can decide to remove them from the definition so that it would not perform any calculation during summary execution and also drop the unnecessary column for the Pcalcs from summary tables.

Procedure:
1. Export summary definition.
2. Remove aggregation type for the Pcalcs in the exported definition and save it.
3. Delete the summary from the system.
4. Reimport the exported definition.
5. Rerun summary.



Proposed Solution

There are two solutions to avoid such aggregation to be used.

1. All new tech pack solutions must not provide such aggregation for Pcalcs in summary.
2. Do not include Pcalc with aggregation for any summary definition.

[{"Product":{"code":"SSKGHX","label":"Tivoli Netcool Performance Manager for Wireless"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Not Applicable","Platform":[{"code":"PF027","label":"Solaris"},{"code":"PF016","label":"Linux"},{"code":"PF002","label":"AIX"}],"Version":"1.3","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Product Synonym

TNPM

Document Information

Modified date:
17 June 2018

UID

swg21637586