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/