业务规则示例

  • 在此示例中,我们将五个年初至今的成员添加到了帐户维:"4110_UTD"、"4120_YTD"、"4130_YTD"、"4140_YTD"、"4150_YTD"。然后,我们创建了一个业务规则:


    向“帐户”维添加五个年初至今的成员的业务规则示例

    此业务规则计算两个 YTD 帐户,然后通过产品维和实体维聚合值。

  • 查看选中仅显示执行时的日志消息,我们可以看到第一遍计算花费了大部分的规则时间。


    选中“仅显示执行”时的日志消息

  • 取消选中仅显示执行,我们可以在日志的第一遍部分中看到读/写的块数。


    取消选中“仅显示执行”时的日志消息

  • 通过查看语法,我们可以看到此计算没有有关实体产品的 fix 语句;因此,将在实体产品的所有级别上执行所有规则。此时不要求计算第一遍中的高级别块,因为这些高级别块将被第二遍中的 AGG 语句覆盖。


    屏幕截图中显示此计算没有有关“实体”和“产品”的 fix 语句。

  • 查看规则并添加额外的 Fix 语句以将 0 级实体产品添加到第一遍计算。


    添加了额外的 Fix 语句以将 1 级“实体”和“产品”添加到第一遍计算时显示的规则

  • 然后,此规则将重新运行。

  • 更改后,第一遍计算花费的时间仍然最多,但现在的速度提高了 20%,因为不再计算不必要的高级别块。整体计算时间缩短了 20%。


    “日志消息”选项卡中显示计算时间缩短了 20%。

  • 取消选中仅显示执行,我们可以在日志的第一遍计算部分中看到块数、读取数和写入数在更改后发生了下降。


    屏幕截图中显示了规则更改前的计算器信息消息


    屏幕截图中显示了规则更改后的计算器信息消息

  • 我们在活动报表中能够看到,整体业务规则(两遍计算)的读取数和写入数有所减少。


    屏幕截图中显示了规则更改前后前 5 个性能最差的计算脚本