尺寸顺序影响计算性能

确保在维度顺序上保持一致性将有助于提高模型的性能。这种一致性与模块和单个订单项有关。为什么订单很重要?Anaplan创建并使用索引来执行计算。尺寸相交的模块中的每个单元格都会给出一个索引号。

Here are two simple modules dimensioned by Customer and Product. In the first module, Product comes first and Customer second, and in the second module, Customer is first and Product is second.

DimensionOrder_1.jpg

在此模型中,有一个第三个模块将收入计算为价格 *量。

Anaplan将索引分配给模块中的交叉点。这是两个模块的索引值。请注意,某些交叉点对模块的索引相同:客户1和产品1,Customer 2和Product 2,以及客户3和产品3,其余的单元格具有不同的索引编号。客户1和产品2在顶部模块中的值为4,底部模块中的值为2。

Dimensionorder_2.jpg

The calculation is Revenue = Price * Volume.

为了运行计算,Anaplan通过匹配两个模块的索引值来执行以下操作。

Dimensionorder_3.jpg

由于索引值不对齐,因此处理器在执行计算之前会扫描索引值以查找匹配。

When the dimensions in the module are reordered, these are the index values:

DimensionOrder_4.jpg

现在每个模块的索引值都对齐。由于相同维度结构的线条项目具有相同的布局,因此数据在内存中线性布置。计算过程以完全线性且可预测的方式访问内存。Anaplan的微处理器和内存子系统被优化,以识别这种访问模式并预先获取所需的数据。

DimensionOrder_5.jpg

How does the dimension order become different between modules? When you build a module, Anaplan uses the order that you drag the lists onto the Create Module dialog. The order is also dependent on where the lists are added. The lists that you add to the 'pages' area are first, then the lists that you add to the 'rows' area, and finally the lists added to the 'columns' area.

Dimensionorder_6.jpg

重新排序列表并确保一致性很简单。按着这些次序:

  1. On the Modules pane, (Model Settings>Modules) look for lists that are out of order in the Applies To column. Click the Applies To row that you want to re-order, then click the ellipsis.
    Dimensionorder_7.jpg
  2. 在“选择列表”对话框中,单击“确定”。
    Dimensionorder_8.jpg
  3. 在确认对话框中,单击“确定”。
    Dimensionorder_9.jpg
  4. The lists will be in the order that they appear in General Lists.
    DimensionOrder_10.jpg
  5. 完成检查模块中的列表订单后,单击“行”选项卡并检查订单项。按照步骤1到3进行重新排序列表。

子集和订单项子集

One word of caution about Subsets and Line Item subsets. In the example below, we have added a subset and a Line Item Subset to the module:

DimensionOrder_11.jpg

The Applies To is as follows:

Dimensionorder_12.jpg

Clicking on the ellipsis, the dimensions are re-ordered to:

DimensionOrder_13.jpg

The general lists are listed in order first, followed by subsets and then line item subsets.
您仍然可以通过在适用于列中双击并按照正确的顺序复制或键入尺寸来重新排序尺寸。

最小与最小?

This is the normal follow up question, and unfortunately, the answer is "it depends." Through research we have found that it all depends on the data within the module. Also, it can get very confusing if subsets are used; the Customer list might be bigger than the Products list, but if a subset of Customers is used that is smaller than Products, then what?

另外,我们不提倡秩序在g the lists in the General Lists setting in size order; the lists should be ordered in hierarchical order top to bottom, so, by definition, that will be smallest to largest. So our advice is be持续的. Think about how you describe the problem. Does the business talk about Customer by Product, or Products for Customers? Agree to a convention, and stick to it.

其他维度

计算性能仅与common源和目标之间的列表。一个或另一个单独的列表的顺序与计算速度无关。

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

Cool post! Great insights for performance tuning!

还有更多这样的事情要来 - 继续观看!

感谢您的简单,优雅,有力的解释。

I have 2 questions here:

1.这里提到的是Anaplan记住添加列表的顺序。保存此序列是否有具体的原因 /优势?

2. Isn't it possible for Anaplan to sort this based on the order provided in General List (instead of asking modeller to manually clicking the ellipsis & then click OK)? In fact, I observed that Anaplan itself sorts the lists based on order of General List when I click ellipsis & select the lists under Blueprint --> Applies to.

@sheethal

这样的“订购”没有优势或不利条件,并且在内部就自动重新分类列表进行了讨论。我要说的是,订购的一致性实际上比首先更重要。我总是会主张以您思考或描述业务并保持一致的方式订购模块。这可能与您订购一般列表中的列表的方式有所不同,还值得指出的是,模块的任何视图(包括默认视图)不会受到应用设置中的订单的影响。如果这对您很重要,则值得在想法交换中添加请求

我希望有帮助

大卫

Thank you David!

谢谢大卫!在您的示例上跟进,如果一个维度(产品)比另一个维度大?我想我记得将它们放在较小到较大的顺序中(并按照您指示的范围保持整个模块的一致性),但不确定是否有所作为。

Great David. Follow on question: please layer in how properties are handled in terms of indexing and ording of lists.

Thanks.

@guillaume_arnau好问题,我们以前曾被问到过一个。

证据不像答案那样取决于模块中的DTAA的一致性那么结论。有时,较小到较大的速度更快,而其他时间更大,更小的速度更快。

You then start to faxctor in subsets and it gets more complicated. If in doubt, it is worth trying it and seeing if there is a noticable difference

所以,实际上,订购的一致性比先出现的更为关键。我总是会主张以您思考或描述业务并保持一致的方式订购模块。这可能与您在“常规列表”中订购列表的方式有所不同

@dkolkaList properties ARE effectively line items so there is no difference. However, we don't advocate using them unless essential. It is best practice to use Modules and line items rather than list properties

Very helpful and actionable - thanks@DavidSmith!

非常强大和有用的技巧,请让他们来并更新计划:winking_face:

@DavidSmith- 在“子集和行项目子集”部分中,您可以注意Anaplan将如何基于一般列表自动re序,然后是LIS集。

由于子集通常是在开发中的不同时间创建的,因此很难将它们保持在一般列表中的主要列表的订购方式。因此,例如,如果您有一个模块2 list subsets:

  1. 答:子集
  2. B:子集

但是,当单击应用中的省略号时,模型尺寸按以下顺序显示:

  1. A
  2. B
  3. B:子集
  4. 答:子集

因此,适用于自然地重新排序为:B:子集, A:Subset

So my question is:is it best practice to always manually cut/paste List Subset dimensions so that their order is aligned to the order of their corresponding general lists? And doing so will have a positive performance impact?

Thanks!

@blake_gauer

Short answer is yes.

Having the subset in the correct corresponding order will give a performance benefit. A subset is treated as a list for the calculations

We advocate a regular "tidy-up" of the dimension order to double check. It is also a reason why I shy away from subsidiary views - If you don't have any, it is easy to do the tidy-up/check from the module blueprint as you don't have to check individual line items

Hope that helps

大卫

Version history
Last update:
‎04-15-202206:13 PM
Updated by:
关于作者
Contributors
标签(1)