Bet*_*son 3 oracle database-design sql-server olap cube
如果呈现的数据4-dimension
中每个维度都依赖于分层的 3 级聚合,例如(国家、城市、街道),那么我们可以将其总结为4096
多种方式!
我们知道对于具有
n
维度的多维数据集,其中没有维度是分层的,我们有2^n
汇总方式,但在这种情况下,每个维度都有分层的 3 级聚合4^4=256
方式。
为什么上面的说法提到有4096
办法呢?
如果由于我的英语用法缺陷而无法很好地说明我的问题,请参阅:
这是我的公式,但是我的答案与 4096 非常不同!
似乎作为(年,月,周)给出的“分层维度”示例实际上与 3 个独立维度相同 - 允许所有 8 种可能的组合 - 这意味着它们是独立/正交的。
因此,如果您有 4 个这些三元组维度,则与 12 个独立维度相同。
但无论如何,答案基本相同。
m 个独立维度的 0 到 m 个可能选择的可能组合数是二项式系数的总和,Wolfram 甚至帮助我们简化了它:
( https://www.wolframalpha.com/input/?i=sum+m+choose+n+for+n+%3D+0+to+m )
这是 3 个维度的 8 种可能组合的来源,并说明为什么该列表包含 0 到 3 个元素的组合。
您还可以将其视为每个维度的二元选择 - 我们知道您可以选择包含或排除某个维度,因此对于是否包含每个维度,您有 2 个选择,因此第一个您有 2 个选择, 2 表示第二个等等。所有这些的乘积是 2 * 2 * ... = 2^n
所以对于 12 个维度,即2^12
4096。
如果您将其视为 4 个较胖的维度(基本上从二元选择到八进制选择),那么对于每个层次结构,乘积中的组合数为 8,因此您有 8 种可能的第一个“维度”组合,与第二个“维度”的 8 种组合,依此类推,给出8 * 8 * 8 * 8 = 8^4 = 4096
- 您可以简单地将其视为将 2 重新组合为 3 组。
我不想疏忽指出,实际上,很多时候层次维度并不是以任意方式分组的,就好像组件维度是独立的一样。
毕竟,他们处于等级制度是有原因的!
我注意到即使在 (year, month, week) 给出的例子中, (month, week) 组合也很弱 - 因为我假设那一周是一年中的周数。这种汇总将适用于所有年份,而几周并不适合几个月,因此分析可能非常罕见。
在许多 3 层级的情况下,您只对分组 (d1, d2, d3), (d1, d2), (d1), () 感兴趣 - 永远不会遗漏父级 - (country, state, city, street, ...) 就是一个很好的例子——一个真正的国家实体并不真正作为一个独立于国家-国家组合的概念而存在。
归档时间: |
|
查看次数: |
102 次 |
最近记录: |