MDXINSERTBUFFERAGGMETHOD

执行 MDX 插入时, Essbase 将在内存中创建输出缓冲区,该缓冲区会累计值,直到插入完成。

通过 MDXINSERTBUFFERAGGMETHOD 配置设置,可以控制缓冲区中冲突的解决方法。使用的方法可能会影响“插入”的结果。默认情况下,重复的单元格值汇总在一起,但您可以将 Essbase 配置为使用上次加载的单元格的值。

语法

MDXINSERTBUFFERAGGMETHOD ADD | LAST
  • LAST - 如果在 MDX 插入操作期间,需要将值写入已包含值的输出缓冲区位置,则最新值将覆盖较旧的值。

  • ADD - 如果在 MDX 插入操作期间,需要将值写入已包含值的输出缓冲区位置,则会将最新值与较早值求和。这是默认行为。

说明

执行 MDX 插入查询期间,会在内存中创建输出缓冲区,该缓冲区会累计值,直到查询完成。通过 MDXINSERTBUFFERAGGMETHOD,可以定义在输出缓冲区中聚合值的方法。使用的方法可能会影响 MDX 插入操作的数据结果。

假设在 MDX 插入查询中,两个源元组映射到单个目标元组,如下所示:

INSERT
([Payroll], [Jan]) TO ([Revised Payroll], [Jan])
([Payroll], [Feb]) TO ([Revised Payroll], [Jan])
...

假设 ([Payroll],[Jan]) 的值是 100,([Payroll],[Feb]) 的值是 200。

使用缺省缓冲区聚合行为 (ADD),

MDXINSERTBUFFERAGGMETHOD ADD
  1. ([Payroll],[Jan]) 的值写入 ([Revised Payroll],[Jan]) 的输出缓冲区,使其值为 100。

  2. ([Payroll] 和 [Feb])的值将添加到([Revised Payroll] 和 [Jan] 的相同输出缓冲区中,将其值增加到 300。

如果将缓冲区聚合行为更改为 LAST,

MDXINSERTBUFFERAGGMETHOD LAST
  1. ([Payroll],[Jan]) 的值写入 ([Revised Payroll],[Jan]) 的输出缓冲区,使其值为 100。

  2. ([Payroll]、[Feb])的值将写入([Revised Payroll]、[Jan])的相同输出缓冲区,覆盖以前的值并将其更改为 200。

另请参见

MDX 插入