MDX NonEmptyCrossJoin未返回预期结果

时间:2018-10-25 18:07:14

标签: ssas mdx

我正在尝试将NonEmptyCrossJoin与Extract结合使用,以仅返回相关给定维度的成员。但是NonEmptyCrossJoin不会返回非空元组。

以下查询返回显示的EOC和索引2的数据。

SELECT 
{ [Measures].[MTD BCWP] } ON 0,
{ CROSSJOIN([EOC].[EOC].[EOC], { [INDEX].[INDEX ID].&[2] } ) } ON 1
FROM Metrics
        |   | MTD BCWP
        | 2 | (null)
G       | 2 | 939482.280
L       | 2 | 7508780.49
M       | 2 | 650
O       | 2 | 151652.62
Unknown | 2 | (null)

使用NonEmptyCrossJoin进行的同一查询将返回一个空集。

SELECT 
{ [Measures].[MTD BCWP] } ON 0,
{ NONEMPTYCROSSJOIN([EOC].[EOC].[EOC], { [INDEX].[INDEX ID].&[2] } ) } ON 1
FROM Metrics

要使用的完整查询要复杂得多,但是这些示例说明了问题的症结所在。我相信问题与维度或度量组配置有关,但不知道要查找什么。

EOC维度仅包含EOC成员。
索引维度包含索引ID(PK)和其他属性。
除其他值外,“度量”组还包括与其各自维度相关的索引ID和EOC成员。

谢谢您的时间。

1 个答案:

答案 0 :(得分:0)

您需要将交叉联接放在nonempty()内,并为non-empty提供相关的度量。以下示例将帮助

DataType 'varchar2' is invalid

//此结果为

![enter image description here

现在我们修改查询

select 
{
[Measures].[Internet Sales Amount]
}
on columns,
{
crossjoin([Product].[Subcategory].[Subcategory],{[Geography].[Country].&[United States]})
}
on rows 
from 
[Adventure Works]

//结果为

enter image description here

相关问题