2

如果您使用 AX2009 的内置查询 (EmplTableListPage) 并尝试使用它构建 SSRS 报告,并且使用字段 Dimension[1](或任何维度字段),则 Visual Studio 2008 中的报告预览将正确呈现. 将报告部署到 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.

如果您从报告中删除 Dimension[1] 字段并重新部署,则错误消失并且报告正确呈现。

我尝试在 AOT 中的查询中添加一个字段并专门添加 Dimension[1],但这也不起作用(同样的错误消息)。

如何在 SSRS 报告中显示维度字段中的数据?为什么它在 Visual Studio 中有效,但在 AX 或 Report Manager 网站中无效?

4

3 回答 3

2

根据 Microsoft 在他们的What's New in Microsoft Dynamics AX 2012 for Developers白皮书中,2012 得到了增强,以支持 AX 2009 中不支持的维度,这意味着您无法在 SSRS 报告上显示维度字段中的数据: 在此处输入图像描述

于 2012-08-22T20:32:12.523 回答
0

我使用了这种方法(加入所有可能的维度表组合)请注意,示例仅适用于前两个维度: LedgerTransSRS 查询

比来自 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-23T08:34:58.127 回答
0

有同样的问题,但能够解决它。当您在 SSRS 中添加数据集时,您必须在维度中添加所有字段(您的查询在字段中列出了维度) - 而不仅仅是您要访问的维度的字段。

所以在 ssrs 中对数据集的查询应该是:

SELECT * FROM EmplTable

导致错误的查询部分是:EmplTable.1.Dimension[1]

在 SSRS 的数据集中获取查询中的所有字段,它应该可以解决问题。

于 2012-08-24T09:26:27.693 回答