Hello lotsaram and declanr,
thank you for your answers.
****************
lotsaram rote:
If you don't have data then by definition an empty cube is 100% sparse. The data in the cube determines the density (or inversely sparsity), ergo without data you cannot optimize properly as all you could do is smallest -> largest. As data patterns in a cube change over time so can the optimal dimension order. Optimizing an empty cube simply does not make sense.
****************
I did not mean "empty" but wanted to leave out “the data that is not used".
As data patterns change I thought it could make sense to optimize a copy cube without the data that is not (or seldomly) used and then overtake the optimized dimension order to the original cube.
****************
lotsaram rote:
No. This would be absolute nonsense. System cubes like attributes have only 2 dimensions and so are dense to start with. Anyway they cannot be optimized (the last dimension is fixed since attributes are strings and that leaves no dimensions to move).
****************
It seems that the definition of density that I overtook from IBM is not yours? Or I misunderstand IBMs.
You say a cube with two dimensions is "dense to start with".
According to IBM a Cube with 2 dimensons respectively the dimensions itself in such a cube can be sparse or dense.
As far as I know attributes can be numbers and also reordering of string dimensions is possible in system cubes.
IBM states that you should not do so - they mean normal cubes in the documentation I think. (
http://www-01.ibm.com/support/docview.w ... wg27035784) But that does not mean that it is right for system cubes, too.
IBM states "when you optimize the order of dimensions in a cube, you should not move the string dimensions FROM the last position, nor move the string dimensions TO the last position."
I just changed the dimensions orders for several system cubes, also with string attributes.
Or TM1 is just saying that it did so but did not do so - Who knows.
I guess if you change dimension order in a cube so that always a string dimension is the last one, that could work then.
According to IBM strings will be treated as numeric when they are not in the last dimension of the cube - but this seems to be said for dimension order when creating cubes – if reordering has the same effect I do not know. IBM states that creation order and system order are different things.
If it is true for reordering, too, then reordering could do harm, I guess – eg. Treating S-Elements as numbers causing errors.
I have }ElementAttributes-Cubes that have only N-Elements in both dimensions although all attributes are strings - I can enter values without problems (How this works? - I do not know).
IBM-Definition of Density as I found it:
An informal definition of density is as follows:
A dimension D is dense in a cube C if, "most" of the D-siblings of each nonempty cell in C, are also nonempty. Where two cells are D-siblings if they differ only in dimension D.
A more precise definition and computational algorithm is as follows:
To determine the density of dimension D, sort all nonempty (simple) cells in the cube so that D is the lowest order sort key. Run through the resulting "file" and for each group Gk of cells where the cells differ only in dimension D, count the number of cells in the group N(Gk). Let M be the number of simple elements in dimension D. The density of D would be given as:
(Sum over k of N(Gk)*N(Gk)/M) / (total number of nonempty cells)
In an example where you have 100 accounts, 100 divisions, and 12 months, and you populate one account and one division for 12 months then the results are as follows:
For the months dimension, there is only one group with 12 cells, the density is:
(12*12/12)/12 = 1 = 100%.
For the accounts and division dimensions there are 12 groups, each with only one cell, their density is:
(1*1/100 + 1*1/100 +...+ 1*1/100)/12 or
12*(1/100)/12 or
1/100 = 1%
I always question the documentations and technotes of IBM and often there are contradicting or unclear statements.
So it is in this case here I think.
(Just yesterday I got one documentation clarification ticket answered.)
Sorry for posting several times.
Often things come to my mind in the moment when I ask for them or when I send the mail/post or when I move when playing chess. I try to work around it (automatic delay rule with a minute delay for sending mails helps for instance) but thinking for hours does not change that. I hate that when playing chess...
Nevertheless I am sorry as it seems to me it made you angry and you are right about the outcome of additional posts that could have been included into the first one.
But maybe you think that answering when being angry can also cause unhelpful answers.
Cheers
Tilo