Professional Documents
Culture Documents
Measure CheckSum and NamedSet comparator (2)
Measure CheckSum and NamedSet comparator (2)
Measure CheckSum and NamedSet comparator (2)
As part of our testing methodology, after each monthly PreProd upgrade, Customer Success team runs
batches to compare the Measure checksum and NamedSet member counts manually.
Every customer project used to get the checksum and count in Prod, PreProd separately and calculate the
differences for any discrepancy.
There is an SSIS package which automates the above process and details are as in the attachment.
In Project/s, where the automation part is not done, they can follow the below steps for Measure CheckSum.
User needs to follow below steps for manual check:
1. Port Prod Tenant Backup in testing Tenant
2. Run checksum Queries in Prod and Pre-prod tenants for workspaces like DP, SP etc, take out the output
and save it
3. Run the Batch/s in the Prod and testing Tenants
4. After Batch Job completion, run checksum queries in Prod and Pre-prod tenants and take out the output
and save it
5. Do the comparison between before and after Batch Job run checksum queries’ output for Prod and Pre-
Prod and see the difference
6. The output comparison can be shown in tables as below for NamesdetCount and Measure CheckSum
Queries Used for Demand Planning for Measure CheckSum: --
Select ([Version].[Version Name].CurrentWorkingView * {Measure.[PublishedForecastAtMonth],Measure.
[ARBasedSKUForecastatMonth],Measure.[StatisticalSKUForecast],Measure.
[ConsensusForecastAtMonth],Measure.[3WeekAllocationTrend], Measure.[NationalPaceRate] , Measure.
[IncomingPaceRateByPartialWeek], Measure.[AttachRateAtOEM_Market_PlanType], Measure.
[AttachRateAtOEM_PlanType], Measure.[Published Forecast Locked], Measure.[ Stat Fcst Disaggregation basis
at lowest], Measure.[ BATOrderDatausedforStatForecastDisaggregation], Measure.
[CurrentAndFutureDayAssociation]});
Named Sets:
Select &ForecastHorizon;
select &AllPlanningMonths.Filter(#.Key >= &CurrentPlanningMonth.element(0).LeadOffset(0).Key && #.Key <=
&CurrentPlanningMonth.element(0).LeadOffset(21).Key).count;
select &StatHorizon.count;
select &AllPlanType.count;
Named Sets:
select &AllProducedItems.count;
select Activity3.[Activity Type3].filter(#.Name == "Item").relatedmembers([Activity3]).count;
select &AllBODLanes.count;
select Activity1.[Activity Type1].filter(#.Name == "Distribution").relatedmembers([Activity1]).count;
select &AllTransModes.count;
select Activity2.[Activity Type2].filter(#.Name == "Distribution").relatedmembers([Activity2]).count;
select &EligibleBOMOrdersDemandID.count;
select Demand.[DemandID].filter(#.BATOrderEligible=="Yes").count;