2010-09-20 75 views
2

我对MDX很陌生,不知道这个错误“解析器:输入已达到结束”的意思。解析器:达到输入的结尾

我在mdx中运行了我的代码,它正在提取正确的数据。但是,当我拿起我的代码并将其放入我的SSRS报告中时,出现上述错误。我在做什么错了?

这里是我的MDX:

SELECT NON EMPTY { [Measures].[Cash Expend] } ON COLUMNS, NON EMPTY 
    { ([Documents].[Doc No].[Doc No].ALLMEMBERS * 
    [Vendor].[Vendor Name].[Vendor Name].ALLMEMBERS * 
    [Documents].[Accept Date].[Accept Date].ALLMEMBERS) } 
    DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS 
FROM (SELECT ({ [Account Type].[AT].&[22] }) ON COLUMNS 
FROM (SELECT ({ [Documents].[BFY].&[2008] 
       , [Documents].[BFY].&[2009] 
       , [Documents].[BFY].&[2010] 
       , [Documents].[BFY].&[2011] }) ON COLUMNS 
FROM (SELECT ({ [Transaction Code].[TC].&[PV] }) ON COLUMNS 
    FROM (SELECT (STRTOMEMBER(@FromDocumentsAcceptDate) : STRTOMEMBER(@ToDocumentsAcceptDate)) ON COLUMNS 
    FROM (SELECT (STRTOSET(@VendorVendCode)) ON COLUMNS 
    FROM [FMCS])))) 
WHERE ([Transaction Code].[TC].&[PV], 
    [Account Type].[AT].&[22], 
IIF(STRTOSET(@VendorVendCode).Count = 1, STRTOSET(@VendorVendCode), [Vendor].[Vend Code].currentmember)) 
CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS 

回答

2

它看起来像在这行你的第一个括号:

FROM (SELECT ({ [Account Type].[AT].&[22] }) ON COLUMNS 
    ^this one 

没有被关闭。我的第一个想法是,它应该在WHERE条款之前关闭,但我不确定。

+0

看起来正确,5次打开和4次关闭。 – Meff 2010-09-27 08:01:32