Skip to main content
Solved

Multi block circular reference

  • July 28, 2025
  • 2 replies
  • 134 views

Bas
Master Author
Forum|alt.badge.img+4
  • Master Author

Hi everybody,

I am looking for a way to implement a form of circular referencing across multiple blocks. Essentially, I am trying to create a feedback loop like below:
 


This is a snip of an OPEX forecasting model. I want to give the end users the possibility to use the output of a certain forecasting version as the input for a new forecast. That means that users can say: prefill my new forecast with the figures from any of the previous forecasts. I don't think that PREVIOUSBASE() or PREVIOUS() can work, because if I'm not mistaken that only takes the previous value from the iteration dimension. But I want the users to be flexible to choose whatever forecast they want as the base for their new forecast.

How can I best go about this? 

Bas
 

Best answer by Stef

Hey ​@Bas !
Indeed previous or previousbase is not a good idea here as its real time calculated and therefore your next version will change. 
I would suggest you use a pigment to pigment metric import to import the values from one block on Version A to to the other block on Version B. You’d need an intermediary block as the source for the import where you remap version A to Version B. 

 

 

Another option is to use the “clone data to” feature to copy all inputs in the opex app from one version to another, this will give you the same result and makes the calculation more transparent. 

Hope it helps, you know where to find me to discuss ;)

2 replies

Stef
Employee
Forum|alt.badge.img+12
  • Employee
  • Answer
  • July 31, 2025

Hey ​@Bas !
Indeed previous or previousbase is not a good idea here as its real time calculated and therefore your next version will change. 
I would suggest you use a pigment to pigment metric import to import the values from one block on Version A to to the other block on Version B. You’d need an intermediary block as the source for the import where you remap version A to Version B. 

 

 

Another option is to use the “clone data to” feature to copy all inputs in the opex app from one version to another, this will give you the same result and makes the calculation more transparent. 

Hope it helps, you know where to find me to discuss ;)


Bas
Master Author
Forum|alt.badge.img+4
  • Author
  • Master Author
  • July 31, 2025

My man! 😀

As always - you are amazing. I was wrecking my brain for a few days on how to solve this pickle, but it seems that M2M is the answer. Cloning data would not really work for this purpose I think. 

Thanks so much! Cheers!