Sql server 2008 如何解决MDX错误的问题:“;函数中指定的两个集合具有不同的维度;?

Sql server 2008 如何解决MDX错误的问题:“;函数中指定的两个集合具有不同的维度;?,sql-server-2008,mdx,Sql Server 2008,Mdx,我有一个错误,我在标题中写道,我在谷歌上搜索了它,解决方案对我来说是不可理解的。看起来你的where子句中的括号和大括号有点混淆了。尝试: WITH SET TopCountry AS BOTTOMCOUNT( [Dimension Client].[Nazwa Firmy].MEMBERS, 3, IIF(IsEmpty([Measures].[Fracht]), 0, [Measures].[Fracht])) MEMBER [Order Count] AS (IIF(IsEmpt

我有一个错误,我在标题中写道,我在谷歌上搜索了它,解决方案对我来说是不可理解的。

看起来你的where子句中的括号和大括号有点混淆了。尝试:

WITH
SET TopCountry AS BOTTOMCOUNT( [Dimension Client].[Nazwa Firmy].MEMBERS, 3,      IIF(IsEmpty([Measures].[Fracht]), 0, [Measures].[Fracht]))
MEMBER [Order Count] AS (IIF(IsEmpty([Measures].[Facts Orders Count]), 0, [Measures].[Facts Orders Count]))

SELECT
[Order Count] ON COLUMNS,
TopCountry ON ROWS
FROM [N Wind PL2]
WHERE {
    ([Time].[Hierarchy].[Order Year].&[1997].&[1]),
    ([Time].[Hierarchy].[Order Year].&[1997].&[2]),
    ([Time].[Hierarchy].[Order Year].&[1997].&[3]),
    ([Dimension Client].[Kraj].&[USA]),
    ([Dimension Client].[Kraj].&[Meksyk])
}

将层次结构放在一个大括号中,将维度放在一个大括号中

WHERE
    (
        {
            [Time].[Hierarchy].[Order Year].&[1997].&[1],
            [Time].[Hierarchy].[Order Year].&[1997].&[2],
            [Time].[Hierarchy].[Order Year].&[1997].&[3]
        },
        {
            [Dimension Client].[Kraj].&[USA],
            [Dimension Client].[Kraj].&[Meksyk]
        }
    )