Product:
Planning Analytics 2.0.9.17
Problem:
The calculated cell does not contain a zero value, instead it contain an old number from before. The Trace Feeder also show that the empty cell have a numbers, that are used in the consolidation. The cube does not have FEEDERS, but it is feed from a different cube.
Running CubeProcessFeeders ( ‘cubename’ ) – solve the problem, until next restart of the TM1 instance.
Solution:
IBM is aware of a defect in Planning Analytics versions 2.0.9.15 IF2 through 2.0.9.17. Rule-derived cells are not calculating after a TM1 database restart when the cube doesn’t have a feeder statement. This defect is addressed in Planning Analytics 2.0.9.18, available 10 July 2023.
If we add a feeder to the rules file for the cube, then the values are correct in the consolidation cell.
You can also create a TM1 TI process with:
CubeProcessFeeders ( 'thecubename' );
Then create a TM1 chore that will run that every week, but do not activate it.
Click “create new chore” in TM1 Architect.
Select the TM1 TI process you created for “run cubefeeders” above.
Next step select that the chore should run every 7 day, and save it with a name “S. 1010 run cubefeeders”.
Do not active the chore.
Go to the TM1S.CFG file for your TM1 instance.
Add this line:
StartupChores=S. 1010 run cubefeeders
This should give at the start of the TM1 instance, the TI process in that core is run before uses can login to the TM1 application.
In tm1server.log
21620 [] INFO 2023-07-13 14:12:59.743 TM1.Chore Executing Startup Chore “S. 1010 Run cubefeeders”
21620 [] INFO 2023-07-13 14:12:59.744 TM1.Process Process “S. 1111 run cubefeeders” executed by chore “S. 1010 run cubefeeders”
More Information:
https://blogs.perficient.com/2014/09/28/cognos-tm1-server-on-start-up/
https://www.ibm.com/docs/en/planning-analytics/2.0.0?topic=feeders-feeding-one-cube-from-another
In this example we have cube A and cube B. Cube B is very similar to cube B but it has one more dimension
Cube A
Time
Measures
Cube B
Locations
Time
Measures
Say you have a sales value in cube A and you want to split it across the locations in cube B. The rule in cube B might look something like:
[‘sales’] = N: DB(‘cube A’,!Time,!Measues) * DB(‘Location Split’,!Location,!Time); (The latter being a lookup cube)
You will then have a feeder from A to B. It will look something like this:
[‘Sales’] => DB(‘Cube B’,’All Locations’,!Time,!Measures);
In the example above the Location dimension does not exist in cube A. When you have a case like this you need to select one item within the unknown dimension. In this case I have selected a consolidation called ‘All Locations’. This will then in turn feed all it’s children. If you do not have a consolidation like this create one. You can then add all children to it.
https://www.tm1forum.com/viewtopic.php?t=274
https://www.ibm.com/support/pages/tm1-server-feeders-guidelines-and-best-practices
https://www.decisionsystems.com/wp-content/uploads/2016/05/IBM-Cognos-TM1-Feeders-Best-Practices.pdf
https://code.cubewise.com/blog/mastering-conditional-feeders-in-tm1