如果您使用来自AX2009的内置查询(EmplTableListPage)并尝试使用它构建一个SSRS报表,并且您使用了字段Dimension1,则Visual Studio2008中的报表预览将正确呈现。将报表部署到SSRS服务器后,它将无法加载,并显示类似于以下内容的错误:
An error has occurred during report processing. (rsProcessingAborted)
Query execution failed for dataset 'Dataset1'. (rsErrorExecutingCommand)
The AX query string 'SELECT EmplTable.1.Dimension[1],EmplTable.1.EmplId,DirPartyTable.1.Name FROM EmplTableListPage' is invalid. The valid format is 'SELECT [fields] FROM [AX query name]', where [fields] can be either '*' or a comma separated field list.如果从报表中删除Dimension1字段并重新部署,则错误将消失,并且报表将正确呈现。
我尝试在AOT中向查询中添加一个字段,并专门添加Dimension1,但也不起作用(相同的错误消息)。
如何在SSRS报告中显示维度字段中的数据?为什么它可以在Visual Studio中工作,而不能在AX或报表管理器网站中工作?
发布于 2012-08-23 04:32:13
根据微软在其What's New in Microsoft Dynamics AX 2012 for Developers白皮书中的说法,2012增强了对AX 2009中不支持的维度的支持,这意味着您不能在SSRS报告上显示维度字段中的数据:

发布于 2012-08-23 16:34:58
我使用了这种方法(连接所有可能的Dimensions表组合)请注意,示例仅适用于前两个维度:

而不是来自ssrs:
SELECT LedgerTable.1.AccountName,Dimensions.1.DimensionCode:NAME(SysDimension),Dimensions.2.DimensionCode:NAME(SysDimension) FROM LedgerTransSRS顺便说一下,我的原始查询名不是LedgerTransSRS,我的原始查询名是LedgerTransSRS_companySufix。我删除了本例中的_companySufix。所以不要修改原始的LedgerTransSRS查询(因为它存在于SYS层中并且正在使用中)。
发布于 2012-08-24 17:26:28
有相同的问题,但能够解决它。当您在SSRS中添加数据集时,您必须添加维度中的所有字段(您的查询将维度列在字段中)-而不仅仅是您想要访问的维度的字段。
因此,对ssrs中的数据集的查询应为:
SELECT * FROM EmplTable查询中导致错误的部分是:EmplTable.1.Dimension[1]
在SSRS中获取数据集中查询中的所有字段,这应该可以解决问题。
https://stackoverflow.com/questions/10419954
复制相似问题