为什么在似乎暗示时使用 CROSSJOIN?
Why use a CROSSJOIN when it seems to be implied?
以下两者有什么区别,哪个更优?
CROSSJOIN(
[Team].[Hierarchy].[Conference].[NFC],
{[Team].[Name].[Name].[Detroit Lions], [Team].[Name].[Name].[Minnesota Vikings]}
)
并且:
(
[Team].[Hierarchy].[Conference].[NFC],
{[Team].[Name].[Name].[Detroit Lions], [Team].[Name].[Name].[Minnesota Vikings]}
)
似乎元组中提供的任何集合都会自动交叉连接,那么为什么需要 CROSSJOIN`keyword/function?说下面三个一样对吗?
CROSSJOIN({}, {}, ...) == ({}, {}, ...) == {} * {} * ...
以上两种说法没有区别。然而在最后的声明中
CROSSJOIN({}, {}, ...) == ({}, {}, ...) == {} * {} * ...
最后一部分“({}, {}, ...) == {} * {} *”不一定正确。当你写
"{} * {}" 仅当两个集合(由 {} 表示)在维度和层次结构上相同时才存在。
详情请参考
以下两者有什么区别,哪个更优?
CROSSJOIN(
[Team].[Hierarchy].[Conference].[NFC],
{[Team].[Name].[Name].[Detroit Lions], [Team].[Name].[Name].[Minnesota Vikings]}
)
并且:
(
[Team].[Hierarchy].[Conference].[NFC],
{[Team].[Name].[Name].[Detroit Lions], [Team].[Name].[Name].[Minnesota Vikings]}
)
似乎元组中提供的任何集合都会自动交叉连接,那么为什么需要 CROSSJOIN`keyword/function?说下面三个一样对吗?
CROSSJOIN({}, {}, ...) == ({}, {}, ...) == {} * {} * ...
以上两种说法没有区别。然而在最后的声明中
CROSSJOIN({}, {}, ...) == ({}, {}, ...) == {} * {} * ...
最后一部分“({}, {}, ...) == {} * {} *”不一定正确。当你写
"{} * {}" 仅当两个集合(由 {} 表示)在维度和层次结构上相同时才存在。
详情请参考