已知问题的详细信息

挑战

建议

长嵌套公式的性能问题

由于嵌套的中间计算,需要按时使用较长的公式。

如果模型大小不能阻止添加额外的订单项,则可以更好地创建多个中间订单项并减少公式的大小,而不是将所有中间计算嵌套到一个巨大的公式中。

这applies to summary formulae (SUM, LOOKUP, SELECT).

在某些情况下,将总和和查找组合在同一订单项公式中可能会导致性能问题。如果您在将组合总和和查找到单个订单项后发现性能下降,则将其分为两个订单项。

RANKCUMULATE causes slowness

汇总公式的当前问题可能意味着打开模型(包括回滚)的时间最多可以慢五倍。

There is currently no suitable workaround. Our recommendations are to stay within the constraints defined inAnapedia

大型单元计数的总和/查找

Separate formulas into different line items to reduce calculation time (fewer cells need to recalculate parts of a formula that would only affect a subset of the data).

A known issue with SUM/LOOKUP combinations within a formula can lead to slow model open and calculation times, particularly if the line item has a large cell count.

例子

所有订单项不适用于时间或版本。

  • y = x [sum:r,查找:r]
  • y适用于[a,b]
  • x适用于[a,b]
  • r适用于[b]格式化[c]的列表

推荐:

  • 添加一个必须“中间”的新订单项“中间”
  • 中级= x [sum:r]
  • Y = intermediate[LOOKUP: R]
  • 这issue is currently being worked on by Development and a fix will be available in a future release

Calculations are over non-common dimensions

Anaplan如果计算在公共维度上,则更快地计算出来。同样,最好在一个示例中看到。如果你有,
列表W,X
Y = A + B
y适用于W,x
A Applies To W
B适用于W
这比
y =中级
中级= A + B
中级适用于W
所有其他维度都与上述相同。
Similarly, you can substitute A & B above for a formula, e.g. SUM/LOOKUP calculations.

Cell history truncated

目前,历史生成的时间限制为60秒。历史的生成分为三个阶段,分配给每个阶段的时间为1/3。

  • 第一阶段是构建网格所需的列列表。这涉及阅读allthe history. If this takes more than 20 seconds, then the user receives the message "history truncated after x seconds - please modify the date range," where X is how many seconds it took. No history is generated.
  • 如果第一阶段在20秒内完成,则继续生成整个历史记录列表。
  • In the grid only the first 1000 rows are displayed; the user must Export history to get a full history. This can take significant time depending on volume.

The same steps are taken for model and cell history. The cell history is generated from loading the全部的模型历史记录并浏览历史记录以获取相关单元格信息。当模型历史记录太大时,目前将被截断以防止性能问题。不幸的是,这可能使得无法检索所需的细胞历史记录。

Make it real time when needed

除非需要,否则不要实时。

By this we mean, do not have line items where users input data being referenced by other line items unless they have to be. A way around this could be to have users have their data input sections, which is not referenced anywhere, or as little as possible, and, say, at the end of the day when no users are in the model, run an import which would update into cells where calculations are then done. This may not always be possible if the end user needs to see resulting calculations from his inputs, but if you can limit these to just do the calculations that he needs to see and use imports during quiet times then this will still help.

当并非所有报告模块都需要重新计算实时时,我们通常会看到这一点。在许多情况下,这些模块中的许多是很好的,可以在第二天进行计算。

减少依赖性

Don't have line items that are dependent on other line items unnecessarily.This can cause Anaplan to not utilize the maximum number of calculations it can do at once. This happens where a line items formula cannot be calculated because it is waiting on results of other line items. A basic example of this can be seen with line item's A, B, and C having the formulas:
A - no formula
b = a
C = b
这里将计算b,然后在此之后计算c。而如果设置为:
A - no formula
B = A
c = a
Here B and C can be calculated at the same time. This also helps if line item B is not needed it can then be removed, further reducing the number of calculations and the size of the model. This needs to considered on a case-by-case basis and is a tradeoff between duplicating calculations and utilizing as many threads as possible. If line item B was referenced by a few other line items, it may indeed be quicker to have this line item.

摘要计算

摘要单元格也通常需要处理时间,即使它们实际上没有重新计算,因为它们必须检查所有较低级别的细胞。

尽可能减少总结“没有”。这not only reduces aggregations, but also the size of the model.

The content in this article has not been evaluated for all Anaplan implementations and may not be recommended for your specific situation.
在应用本文中的任何想法或步骤之前,请咨询您的内部管理员。
Comments

Informative post! Thank you@davidsmith

关于“计算超过非公共维度”的问题:

如果使用许多中间订单项,则采用逻辑极端,这不会通过降低Anaplan执行并行计算的能力来不利影响模型性能吗?例如,如果您有许多公式中的中间订单项,否则可以在单个订单项中完成,那么性能是否可能会更糟?

我的目标是了解表现是否通过计算非共同维度的计算对性能产生不利影响,以至于我应该 *永远不要 *做到这一点,或者是否取决于它。如果答案是“取决于”,那么了解细微差别将很有帮助,因为在项目环境中很难测量与特定复杂公式的重新计算相关的时间,在模型中发生了很多事情,。

你好

Thanks for your quesiton and interest in the post

The intermediate steps will calculate in parallel and after that there will be a smaller calculation pulling in the intermediate values to the original line item.

So we have created a non-parallel sequence, but the reduction in calculation time for the intermediate, by reducing the dimensions the line item calculates over, is much greater than the extra step to reference the intermediate calculation.

中间体的另一个好处是,仅重新计算中间体,并且总体计算要低得多。

因此,遵循模型构建的迪斯科舞厅,尝试将计算与类似结构组合在一起。它将给上述好处,并为与共同维度相关的所有计算提供一个位置

我希望这有帮助

David

感谢您提供的信息@davidsmith

I have a question about something that confuses me. It's best practice to set non-long formulas in modules instead of long ones. It also meets the auditable standard of PLANS.

But if we split the formulas by creating intermediate line items, wouldn't that increase the size of the model while doubling or tripling the amount of cells? From my point of view it might be better to create a bit longer but auditable formulas than to increase remarkably the amount of cells.

您能分享您的想法吗?感谢您的答复。

是的

@aykcos- great question.

@davidsmith- do you have a perspective/rationale on increasing the size of the model as a way to improve calculation speed?

Thanks!

Version history
Last update:
06-03-202205:18 pm
Updated by:
About the Author
Contributors
标签(1)