Forum Discussion

emclend's avatar
emclend
New Contributor II
4 days ago

Monthly vs Quarterly allocation of accounts

Hello,

We are trying to automate a simple allocation of specific corporate expense accounts.  The accounts allocate to different business based on their contribution to total GP.  I currently have two calculations:

  1. Account Dynamic Calc - BU GP / Total GP, giving the business GP%
  2. UD8 Dynamic Calc - GP% * Corporate Expense Account, giving the expense to be allocated to each BU

I run into an issue when data is pulled as either QTD or YTD.  As an example, if someone is to pull the data at 2025M3/QTD, it will calculate calculate a separate GP% for the QTD information and complete the calculation.  This creates a discrepancy when looking at data monthly vs. quarterly.  Instead, I would need it to add together months 1-3 for consistency.  (See below table for reference)

Is there a way to make a dynamic calculation calculate only at the monthly level and instead aggregate months for other view selections (QTD/YTD)?

 
    What is happeningWhat I need
   CalculationQTD GP * QTD GP%M1 + M2 + M3
MTD M1  M2  M3  Q1 / M3 QTD Q1 / M3 QTD
Business GP100,000400,000200,000700,000700,000
Total GP500,0001,000,000900,0002,400,0004,300,000
GP %20.0%40.0%22.2%29.2% 
      
Corporate  Expense10,00050,00020,00080,000 
Allocation2,00020,0004,444

23,333 (29.2% * 80,000)

26,444 (M1 + M2 + M3)
 

 

1 Reply

  • rhankey's avatar
    rhankey
    Contributor III

    Your table confuses me.  But when I see division and parent members involved, there are almost always order of operation issues to consider that can only be solved through Dynamic Calcs.

    Depending on what you need to do, you can choose to vary your formula based on the  View such as:

    If api.Pov.Time.MemberId=DimConstants.Periodic Then

     'Periodic formula

    ElseIf api.Pov.Time.MemberId=DimConstants.QTD Then

     'QTD formula

    End If

     

    Or, you can include V#Periodic in each operand of your formula, so that regardless of the user's POV View, you will compute using Periodic.

    Divide(A#BUGP:V#Periodic,A#TotalGP:V#Periodic)