使源数据尽可能小
要提高 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" 9Essbase 将第一个值 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