Row Column Intersection in a Cubeview

WillVitale
Contributor

Hello,

I'm trying to sum up a calculated amount using Row Column Intersection and I cannot get it to work properly. I'm using Rows Override in order to sum up these calculated amounts (also using row override).

WillVitale_0-1712879655797.png

So the Input Inventory Amount, I put some dummy info in and the calculated reserves are taking those amounts and multiplying it by those percentages (name override as UD8#None). So the amount in LC column should be 265LC, but I cannot get it to populate. Below is my row override formula.

WillVitale_1-1712879797151.png

I've tried putting a row range but it comes up with an error message of Invalid calculation script.

WillVitale_2-1712879853181.png

I don't want to make a new UD8, because I don't really know how to do that, so if it can be done with a CVRC, or a different formula, that would be great!

Thanks,

Will

1 ACCEPTED SOLUTION

JackLacava
Honored Contributor

@WillVitale wrote:

I don't want to make a new UD8, because I don't really know how to do that

Investing in learning how to build DynamicCalc accounts/Flows/UDs will reap big dividends. It's not very hard either. Start from this link and go forward for a couple of pages.

 

View solution in original post

6 REPLIES 6

tuhler
New Contributor III

You will want to build as much of the calculation logic as possible into the metadata. For example, you could have an account for each of your calculated reserves percentages that you use that would return inventory amounts * 0.1. From there, you could have those in a hierarchy that sums up to your LC parent.

You won't be able to have a CVR or CVC that references another calculated cell like you are trying to do.

Thanks,

Thomas

JackLacava
Honored Contributor

@WillVitale wrote:

I don't want to make a new UD8, because I don't really know how to do that

Investing in learning how to build DynamicCalc accounts/Flows/UDs will reap big dividends. It's not very hard either. Start from this link and go forward for a couple of pages.

 

Hi Jack,

So I followed that link and I tried creating a UD8 calc based off of something we already had but I'm not sure if this works or not.

WillVitale_0-1713216417175.png

I'm guessing it's a lot easier than I make it out to be, but any direction would be great.

Thanks,

Will

Hi Jack,

So I was able to get it to work after some tinkering, but now I cannot figure out how to roll up those amounts into the parent I created. I made it set to Is Consolidated and ran a force consolidate but that didn't end up working. I compared it to a flow dimension parent, which I thought was the closest example I could use and it pretty much mirrors it identically.

WillVitale_0-1713223103612.png

Thanks,

Will

Dynamics don't aggregate "naturally" like stored accounts, and IsConsolidated has no effect - because there is no number stored, ever, against those accounts/flows/uds. BUT the good news is, now you know how they work, you can simply create your own additions in another UD:

Return api.data.getDataCell("U8#Something + U8#SomethingElse + U8#YetAnother")

Alternatively, if you're after the sum of base Entities, you can "simulate" consolidation in another dynamic (typically on a U8) containing a call to api.Functions.GetEntityAggregationDataCell:

Return api.Functions.GetEntityAggregationDataCell("U8#None")

All of this, like CVC/CVR, will execute at report running time, i.e. for every user every time they look at the related Cube View. If you find this is slow, or you know the CV is executed a lot, it would be better to actually store those calculations, with formulas assigned to a Pass (which is executed during Calculation/Consolidation). That would make aggregation easier, but the rule is a bit more difficult to write, and I'd recommend to take some class first.

Another approach: if your calculations are all simple multiplications, it might be easier to:

  1. create a new parent and copy the original members as children (you can do it with None too)
    JackLacava_0-1713257349102.png
  2. set the Aggregation Weight for each child, in Relationship Properties, to the factor you're multiplying by:
    JackLacava_1-1713257417600.png

In this way, the parent will contain the aggregation of the original child values multiplied by their individual Aggregation Weight factor, i.e. (Child1 * AW1) + (Child2 * AW2) + (Child3 * AW3) etc.

Thanks Jack for all the information. I really appreciate it!

Will