使源数据尽可能小

要提高 Essbase 块存储数据加载的性能,请使源数据尽可能小,然后将其分组到范围以删除冗余。Essbase 在数据源中读取的字段越少,读取和加载数据所需的时间就越少。

以下示例数据来源未按范围进行组织。它包括不需要的字段重复。所有值都是“利润”值。利润必须仅包括在适用于它的数据组的开头。此示例包含 Essbase 必须读取的 33 个字段才能正确加载数据值。

Profit
Jan     "New York"   Cola          4
Jan     "New York"   "Diet Cola"   3
Jan     Ohio         Cola          8
Jan     Ohio         "Diet Cola"   7
Feb     "New York"   Cola          6
Feb     "New York"   "Diet Cola"   8
Feb     Ohio         Cola          7
Feb     Ohio         "Diet Cola"   9

下一个示例提供了通过对范围中的成员进行分组而优化的相同数据。通过消除冗余,此示例仅包含 Essbase 为正确加载数据值而必须读取的 23 个字段。

Profit
Jan   "New York"   Cola          4
                   "Diet Cola"   3
      Ohio         Cola          8
                   "Diet Cola"   7
Feb   "New York"   Cola          6
                   "Diet Cola"   8
      Ohio         Cola          7
                   "Diet Cola"   9

Essbase 将第一个值 4 分配给 Jan->New York->Cola;将下一个值 3 分配给 Jan->New York->Diet Cola 等。

虽然排序高效,但按密集维排序和分组的源数据显示大量重复,这会减缓加载过程。您可以通过将数据分组到范围来进一步优化此数据。下面的优化源数据可消除冗余字段,从而缩短处理时间。

                                Sales  Margin   COG  Profit
Jan Actual  Cola         Ohio      25      18    20       5
                         Florida   30      19    20      10
            "Root Beer"  Ohio      18      12    10       8
                         Florida   28      18    20       8