[AX]AX2012创建SSRS Reports概览

打开AX2012的AOT,有个SSRS Reports的节点,这里存储的是用Visual studio创建的类似于SQL server report service的报表,前者是基于后者的,但是有很大的不同。AOT中还有个叫做Reports的节点,这里存放的是旧版的Mophx报表,在AX2012中是可以继续使用的。

在VISUAL STUDIO 2010中创建AX SSRS报表的第一步是创建一个基于AX“Report Model”模板的工程,在安装AX 2012的Visual studio tools后在Visual studio新建工程模板里面能找到。在这个工程中就可以创建添加SSRS的报表,只有将这个工程“Add to AOT”中,其包含的SSRS报表才会出现在AOT的ssrs reports节点下,这些工程被保存在AOT/Visual studio projects/Dynamics AX Model projects节点下。一个工程可能包含多个报表及相关的其他信息,所以要知道一个报表包含在哪个工程下还不是很容易的事,微软提供了一份清单供查阅系统自带的报表及其工程:http://msdn.microsoft.com/EN-US/library/hh496433

SSRS报表需要有数据源(http://msdn.microsoft.com/en-us/library/cc596629.aspx),数据源可以是内嵌提供的Dynamics AX数据源,指向所连接的AX系统数据库,还可以在Report Model工程中中自建数据源,可以是SQL数据库或者OLAP数据库,在属性connection string中指定要连接到的具体数据库。有了数据源还需要从数据源创建数据集,根据数据源的不同可以创建的数据集类型也不同,Dynamics AX数据源提供AOT中的Query、AOT中定义的Report data provider类、定义在报表工程中的Data methods、定义在报表工程中的AX enum provider几种;外部SQL数据源可以使用TSQL查询或者存储过程;外部OLAP数据源则使用MDX查询。如果使用Dynamics ax数据源,数据的读取是受Morphx安全机制控制的,所以如果使用AX系统的数据库最好是使用内嵌的dynamics ax数据源的query或者report data provider。

SSRS report的结构和老式的MophX报表类似,在Designs节点下可以创建Auto design和Precision design两种布局的设计。Auto design根据添加到报表的字段自动生成布局,包括页眉、数据区、页脚。但是auto design的页眉页脚的内容在报表里是不能编辑的,需要在design的LayoutTemplate选择模板来实现,可以选择系统自带的Layout模板,也可以在报表工程中新建自己的模板。precesion design则是可以可视化的定位控件字段,可以更灵活的布局报表。可以从Auto design生成Precesion design的报表,这和老式报表的“generated design”类似。

和普通SQL report service报表类似,AX SSRS报表可以在数据区添加List、Table、Matrix、Chart,在precesion design中添加的内容更多,还有页眉、页脚、子报表、Gauge等。在报表上可以添加图像,图像可以是嵌入到报表中的图片(在报表的Images节点下添加),也可以来自于外部链接,还可以是数据库字段,通过图像控件的属性Expression来指定。除了前面的layout template,List/table/Maxtrix也可以应用模板,在模板中指定背景前景色等,系统也有自带一些模板,也可以在报表工程中新建。

SSRS报表还可以做一些交互,比如向上向下钻取,显示document map,报表过滤等(http://msdn.microsoft.com/en-us/library/cc587549.aspx)。SSRS的报表可以使用定义在AX标签文件中的标签比如“=Labels!@SYS12345” ,这样根据报表显示语言的不同对报表的一些显示内容做本地化。

报表创建好后可以在Visual studio中点击Designs下的Design来预览,在AOT中可以创建一个output类型的menu item,使其指向AOT中的SSRS 报表元素,运行这个menu item就能显示报表了。如果报表中有多个design,菜单项必须在reportdesign属性下选择要运行的design,另外报表必须部署到report server上才能运行,可以在AOT也可以在Visual studio中部署报表。

更多内容参见http://msdn.microsoft.com/en-us/library/cc557922.aspx

原文地址:https://www.cnblogs.com/duanshuiliu/p/2647303.html