firstly:
only "100-30"->California block exist after load
do agg(Market)
[Tue Feb 14 10:36:20 2012]EssSvr64/Sample/Basic/admin/Info(1012672)
Calculator Information Message: Executing Block - [100-30], [West], [Actual]
[Tue Feb 14 10:36:20 2012]EssSvr64/Sample/Basic/admin/Info(1012672)
Calculator Information Message: Executing Block - [100-30], [Market], [Actual]
[Tue Feb 14 10:36:20 2012]EssSvr64/Sample/Basic/admin/Info(1012672)
Calculator Information Message:
Total Block Created: [2.0000e+00] Blocks
Sparse Calculations: [2.0000e+00] Writes and [2.0000e+00] Reads
Dense Calculations: [0.0000e+00] Writes and [0.0000e+00] Reads
Sparse Calculations: [2.1600e+02] Cells
Dense Calculations: [0.0000e+00] Cells
we can see West, Market for Sales, COGS, but not Margin ( Margin is stored
and need to be calculated) .
we also can see no dense calculation since this is aggregation of Market, which is a sparse dimension.
calc all:
[Tue Feb 14 10:40:08 2012]EssSvr64/Sample/Basic/admin/Info(1012672)
Calculator Information Message: Executing Block - [100-30], [California], [Actual]
[Tue Feb 14 10:40:08 2012]EssSvr64/Sample/Basic/admin/Info(1012672)
Calculator Information Message: Executing Block - [Product], [California], [Actual]
[Tue Feb 14 10:40:08 2012]EssSvr64/Sample/Basic/admin/Info(1012672)
Calculator Information Message: Executing Block - [100-30], [West], [Actual]
[Tue Feb 14 10:40:08 2012]EssSvr64/Sample/Basic/admin/Info(1012672)
Calculator Information Message: Executing Block - [100], [West], [Actual]
[Tue Feb 14 10:40:08 2012]EssSvr64/Sample/Basic/admin/Info(1012672)
Calculator Information Message: Executing Block - [Product], [West], [Actual]
[Tue Feb 14 10:40:08 2012]EssSvr64/Sample/Basic/admin/Info(1012672)
Calculator Information Message: Executing Block - [100-30], [Market], [Actual]
[Tue Feb 14 10:40:08 2012]EssSvr64/Sample/Basic/admin/Info(1012672)
Calculator Information Message: Executing Block - [100], [Market], [Actual]
[Tue Feb 14 10:40:08 2012]EssSvr64/Sample/Basic/admin/Info(1012672)
Calculator Information Message: Executing Block - [Product], [Market], [Actual]
[Tue Feb 14 10:40:08 2012]EssSvr64/Sample/Basic/admin/Info(1012672)
Calculator Information Message:
Total Block Created: [7.0000e+00] Blocks
Sparse Calculations: [7.0000e+00] Writes and [1.0000e+01] Reads
Dense Calculations: [1.0000e+00] Writes and [1.0000e+00] Reads
Sparse Calculations: [7.5600e+02] Cells
Dense Calculations: [2.4000e+01] Cells
you can see 7 new blocks are created:
Product->california, 100-30->West, 100->West,Product->West, 100-30->Market, 100->Market, Product->Market
and now can see Margin in all blocks.
for dense calculation cells, why 24 cells calculated for dense calculation? because besides Margin, Open Inventory is also not dynamically calculated. if change Open Inventory to dynamic, dense calculation will drop to 12
for dense calculation blocks, only 1 writes and 1 reads for dense calculation since there is only one lv0 node.
for sparse calculation cells, 756/7=108, this is because there are 9 stored member in Account dimension, and 9*12=108
for spare calculation blocks, 7 blocks got written. got to read more blocks
to calculation?
This experiement proves: calculation is along the block sequences, it doesn't matter
the blocks exist or not, if not, create block and do dense calculation. the conclusion
that sparse calculation create new blocks after existing block calculation finish is wrong.
Another thing noticed is that: 100->California is not calculated, but the block is created:
now total upper blocks are 8, not 7. It look like since 100-10, 100-20 are missing, 100->California
is no need to be calculated
is calculation along this order?
1) fully calculate all level 0 blocks
2) create upper level blocks based on the fully calculated lv0 blocks
load 3 blocks: 100-30->california, 300-10->california, 300-10->Florida
those are all level 0 node
do calcall:
[Thu Mar 15 10:53:17 2012]EssSvr64/Sample/Basic/admin/Info(1012677)
Calculating in serial
[Thu Mar 15 10:53:17 2012]EssSvr64/Sample/Basic/admin/Info(1012672)
Calculator Information Message: Executing Block - [300-10], [Florida], [Actual]
[Thu Mar 15 10:53:17 2012]EssSvr64/Sample/Basic/admin/Info(1012672)
Calculator Information Message: Executing Block - [Product], [Florida], [Actual]
[Thu Mar 15 10:53:17 2012]EssSvr64/Sample/Basic/admin/Info(1012672)
Calculator Information Message: Executing Block - [300-10], [East], [Actual]
[Thu Mar 15 10:53:17 2012]EssSvr64/Sample/Basic/admin/Info(1012672)
Calculator Information Message: Executing Block - [300], [East], [Actual]
[Thu Mar 15 10:53:17 2012]EssSvr64/Sample/Basic/admin/Info(1012672)
Calculator Information Message: Executing Block - [Product], [East], [Actual]
[Thu Mar 15 10:53:17 2012]EssSvr64/Sample/Basic/admin/Info(1012672)
Calculator Information Message: Executing Block - [100-30], [California], [Actual]
[Thu Mar 15 10:53:17 2012]EssSvr64/Sample/Basic/admin/Info(1012672)
Calculator Information Message: Executing Block - [300-10], [California], [Actual]
[Thu Mar 15 10:53:17 2012]EssSvr64/Sample/Basic/admin/Info(1012672)
Calculator Information Message: Executing Block - [Product], [California], [Actual]
[Thu Mar 15 10:53:17 2012]EssSvr64/Sample/Basic/admin/Info(1012672)
Calculator Information Message: Executing Block - [100-30], [West], [Actual]
[Thu Mar 15 10:53:17 2012]EssSvr64/Sample/Basic/admin/Info(1012672)
Calculator Information Message: Executing Block - [100], [West], [Actual]
[Thu Mar 15 10:53:17 2012]EssSvr64/Sample/Basic/admin/Info(1012672)
Calculator Information Message: Executing Block - [300-10], [West], [Actual]
[Thu Mar 15 10:53:17 2012]EssSvr64/Sample/Basic/admin/Info(1012672)
Calculator Information Message: Executing Block - [300], [West], [Actual]
[Thu Mar 15 10:53:17 2012]EssSvr64/Sample/Basic/admin/Info(1012672)
Calculator Information Message: Executing Block - [Product], [West], [Actual]
[Thu Mar 15 10:53:17 2012]EssSvr64/Sample/Basic/admin/Info(1012672)
Calculator Information Message: Executing Block - [100-30], [Market], [Actual]
[Thu Mar 15 10:53:17 2012]EssSvr64/Sample/Basic/admin/Info(1012672)
Calculator Information Message: Executing Block - [100], [Market], [Actual]
[Thu Mar 15 10:53:17 2012]EssSvr64/Sample/Basic/admin/Info(1012672)
Calculator Information Message: Executing Block - [300-10], [Market], [Actual]
[Thu Mar 15 10:53:17 2012]EssSvr64/Sample/Basic/admin/Info(1012672)
Calculator Information Message: Executing Block - [300], [Market], [Actual]
[Thu Mar 15 10:53:17 2012]EssSvr64/Sample/Basic/admin/Info(1012672)
Calculator Information Message: Executing Block - [Product], [Market], [Actual]
[Thu Mar 15 10:53:17 2012]EssSvr64/Sample/Basic/admin/Info(1012672)
Calculator Information Message:
Total Block Created: [1.5000e+01] Blocks
Sparse Calculations: [1.5000e+01] Writes and [2.2000e+01] Reads
Dense Calculations: [3.0000e+00] Writes and [3.0000e+00] Reads
Sparse Calculations: [1.6200e+03] Cells
Dense Calculations: [7.2000e+01] Cells
[Thu Mar 15 10:53:17 2012]EssSvr64/Sample/Basic/admin/Info(1012579)
Total Calc Elapsed Time for [testc.csc] : [0.05] seconds
[Thu Mar 15 10:53:17 2012]EssSvr64/Sample/Basic/admin/Info(1013274)
Calculation executed
here we can see calculation is still along the order of blocks, but lv0 blocks
do get calculated before the new, upper blocked get created and calculated.
here we can see 72 cell dense calculation: 3*24, there is 3 lv0 node and each
has 24 cell dense calc for Margin and Open Inventory.
For sparse calcuation cells: 1620/15=108
for dense calculation blocks: 3 lv0 node mean 3 read and 3 write
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8583032/viewspace-716635/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8583032/viewspace-716635/
本文深入解析了块级计算的过程及其顺序,包括如何基于块创建上层块进行多维聚合操作,以及不同维度下计算的详细流程。通过实验验证,揭示了计算流程中的关键点和常见误解,例如块的创建与计算顺序,以及不同维度下计算的复杂性。本文旨在帮助理解和优化多维数据集的聚合计算效率。
2420

被折叠的 条评论
为什么被折叠?



