本文介绍了交叉联接层次结构的执行顺序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如果我通过以下交叉连接创建一组元组,则哪个层次结构首先连接到哪个元组?
If I create a set of tuples via the following crossjoin which hierarchy is joined to which first?
hierA * hierB * hierC
如果我知道A和B中非空成员的数量显着少于C中成员的数量,那么这会影响顺序吗?
If I know that the count of non empty members in A and B are significantly less than the count of members in C then should this influence the order?
推荐答案
这取决于所使用的执行系统,即编译器如何优化轴上的交叉连接.
It depends on the execution system used, i.e. how crossjoining on axis is optimized by compiler.
无论如何,只有首先使用subselect减小立方体大小,您才能获得真正的提升-它将防止交叉连接的不匹配点:
Anyway, you will get real boost only if you first reduce cube size with subselect - it will prevent crossjoining non-matching points:
select
{ [Measures].[X] } on 0,
{ [DimA].[A] * [DimB].[B] } on 1
From (
select { [DimB].[B].members} on 0
from CubeA
)
这篇关于交叉联接层次结构的执行顺序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!