Adi*_*tya 1 olap ssas mdx olap-cube ssas-2008
我刚刚浏览了MDX文档.
我在那里找到一个条款有点棘手,而我没有清楚地理解它,如下所示
集合中元组的顺序很重要; 例如,它会影响轴维度中的嵌套顺序.第一个元组代表第一个或最外层的维度,第二个元组代表下一个最外层的维度,依此类推
{(时间.[下半场],Route.nonground.air),(Route.nonground.air,时间.[下半场])}
另外,在元组中使用交叉连接是否可以?
(Time.[2nd half] * Route.nonground.air * Route.nonground.air * Time.[2nd half])
Run Code Online (Sandbox Code Playgroud)
任何人都可以通过一个简单的例子来详细阐述
谢谢.
规范指的是集合中元组的顺序,而不是集合中元组内的层次结构的顺序(顺便说一下,集合的所有元组中的元组顺序必须相同,但这部分并不关心规格).
这很重要,因为数学集合没有任何特定的顺序,即数学集合
{a, b, c}
Run Code Online (Sandbox Code Playgroud)
和
{b, a, c}
Run Code Online (Sandbox Code Playgroud)
是平等的.
但由于MDX用于报告,报告中的显示顺序可能相关,因此MDX集始终具有特定顺序是方便的.数学集和MDX集之间的另一个区别是MDX集可以有重复,而在数学意义上,一个元素包含或不包含在集合中,但从不包含多次.
如果将其与SQL进行比较,则SQL结果集按定义(如数学集)排序,但可能包含重复记录.但是,在某些情况下,您可以获取有序的SQL结果集,但必须通过显式ORDER BY子句请求它.并且一些SQL方言不允许ORDER BY,例如在子选择中,因为它们永远不会直接返回给最终用户.从技术上讲,只有在明确请求时才保证结果集的某个顺序的优点是,优化程序可以更自由地构建有效的执行计划,而不是始终传递结果的特定顺序.