Ssrs 2008 无法在AX 2009的SSR中显示维度扩展数据类型

Ssrs 2008 无法在AX 2009的SSR中显示维度扩展数据类型,ssrs-2008,reporting-services,dynamics-ax-2009,x++,microsoft-dynamics,Ssrs 2008,Reporting Services,Dynamics Ax 2009,X++,Microsoft Dynamics,如果使用AX2009中的内置查询(EmplTableListPage)并尝试使用它构建SSRS报表,并且使用字段维度[1](或任何维度字段),则Visual Studio 2008中的报表预览将正确呈现。将报告部署到SSRS服务器后,它将无法加载,并出现类似以下错误: An error has occurred during report processing. (rsProcessingAborted) Query execution failed for dataset 'Dataset1

如果使用AX2009中的内置查询(EmplTableListPage)并尝试使用它构建SSRS报表,并且使用字段维度[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.
如果从报表中删除维度[1]字段并重新部署,错误将消失,报表将正确呈现

我曾尝试在AOT中向查询添加一个字段,并专门添加维度[1],但也没有成功(相同的错误消息)


如何在SSRS报告中显示维度字段中的数据?为什么它在Visual Studio中工作,而在AX或报表管理器网站中不工作?

根据Microsoft在其白皮书中的说法,2012年得到了增强,以支持AX 2009中不支持的维度,这意味着您无法在SSRS报表上显示维度字段中的数据:

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

与SSR相比:

选择账本表。1.帐户名,维度。1.维度代码:名称(SysDimension),维度。2.维度代码:来自账本Transsrs的名称(SysDimension)

顺便说一句,我的原始查询名不是ledgertransrs,我的原始查询名是ledgertransrs_companySufix,在本例中,我删除了_companySufix。所以不要修改原始的LedgerTransSRS查询(因为它存在于系统层中,并且正在系统层中使用)。

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

因此,ssrs中的数据集查询应为:

SELECT * FROM EmplTable
导致错误的查询部分是:
EmplTable.1.维度[1]


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

找到以下内容:,说明AX 2009 SSRS不支持维度。这是事实吗?有人找到了解决方法吗?如果使用的维度存储在不同的表中,则此方法可行,但如果维度是表上存储的数组字段(如EMPLTable.dimension[1]),则此方法无效。此方法来自AX中内置的标准查询。EMplTableListPage包含查询中EMPLTable的所有字段。如果我使用报表生成器创建SSRS报表,它将运行上面的查询。如果尝试使用VisualStudio合并业务逻辑并导入到AX,则会失败。VisualStudio中的报表预览也处理查询。它仅在从AX运行时失败。