Ssas 仅当成员相等时MDX交叉连接

Ssas 仅当成员相等时MDX交叉连接,ssas,mdx,Ssas,Mdx,只有在两个成员相等的情况下才能交叉连接并返回吗?例如,以下针对《冒险》的查询在SSAS 2012中起作用 select [Measures].[Reseller Sales Amount] on 0 ,topcount(([Ship Date].[Date].Children,[Delivery Date].[Date].Children),5) on 1 from [Adventure Works] 将返回以下值 Reseller Sales Amo

只有在两个成员相等的情况下才能交叉连接并返回吗?例如,以下针对《冒险》的查询在SSAS 2012中起作用

select [Measures].[Reseller Sales Amount] on 0
,topcount(([Ship Date].[Date].Children,[Delivery Date].[Date].Children),5) on 1
from [Adventure Works]
将返回以下值

                     Reseller Sales Amount
January 1, 2005 January 1, 2005 (null)
January 1, 2005 January 2, 2005 (null)
January 1, 2005 January 3, 2005 (null)
January 1, 2005 January 4, 2005 (null)
January 1, 2005 January 5, 2005 (null)
我希望结果如下

                     Reseller Sales Amount
January 1, 2005 January 1, 2005 (null)
January 2, 2005 January 2, 2005 (null)
January 3, 2005 January 3, 2005 (null)
January 4, 2005 January 4, 2005 (null)
January 5, 2005 January 5, 2005 (null)

我是否可以使用MDX查询并使用交叉联接或不使用交叉联接来获得如下结果?

这应该适合您。基本上,我创建一个布尔样式的计算成员,然后将该成员包括在TOPCOUNT函数中

我希望有帮助

灰烬


NULL
而不是0作为
IIF的第二个参数更好
WITH MEMBER [Measures].[MatchingDates] AS
IIF([Ship Date].[Date].MEMBERVALUE = [Delivery Date].[Date].MEMBERVALUE,1,0)
SELECT
[Measures].[Reseller Sales Amount] ON 0
,   TOPCOUNT({[Ship Date].[Date].[Date].MEMBERS * [Delivery Date].[Date].[Date].MEMBERS},5,[Measures].[MatchingDates]) ON 1
FROM
[Adventure Works]