MS CRM 2011 如何创建基于Fetch的自定义报表,并使用数据预筛选(Pre-Filtering)

在前一篇文章中,我向大家介绍了如何创建基于SQL的自定义报表。由于CRM ">Online只支持基于Fetch的报表,所以我在这篇文章中再向大家介绍一下如何创建基于Fetch的报表,并使用数据预筛选功能。

(1) 打开Business Intelligence Development Studio,创建一个新的report server 项目;

(2) 在项目管理器中,右键单击Reports文件夹,添加新项目,选择report;

在Report Data面板中,选择New –> Data Source

完成Data Source的属性:

(3)接下来在Report Data面板中添加一个新的Data Set。

使用的Query可以通过CRM的advanced Find –> Download Fetch XML来查看。

这里使用的Query为

<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">
 <entity name="opportunity">    
   <attribute name="name" />    
   <attribute name="estimatedvalue" />    
   <attribute name="estimatedclosedate" />    
   <order attribute="name" descending="false" />    
 </entity>    
</fetch>

(4) 在报表中添加一个table,如下图所示:

(5) 此时你已经可以通过Preview来查看你的报表运行结果了,不过我们把它还是上传到CRM中来看一看。

上传之后,你会发现,不论你在哪运行这个报表,这个报表都返回所有的opportutnity,不具有数据预筛选功能,所以我们要对报表进行修改。

(6) 要开启数据预筛选功能,需要使用一个CRM系统参数 CRM_FilteredEntity。当然Entity在我们的报表中是Opportunity。

在Report Data面板中添加一个参数:

这里使用的Value为:

<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false"><entity name="opportunity"><all-attributes /></entity></fetch>

(7) 更改Dataset 的属性: 首先添加一个参数

(8) 然后更改Query

<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">  
 <entity name="opportunity" enableprefiltering="1" prefilterparametername="CRM_FilteredOpportunity">    
   <attribute name="name" />    
   <attribute name="estimatedvalue" />    
   <attribute name="estimatedclosedate" />    
   <order attribute="name" descending="false" />    
 </entity>    
</fetch>

(9) 为了方便大家理解参数CRM_FilteredOpportunity 的工作原理,我们在报表中添加一个Textbox,把CRM_FilteredOpportunity 参数的值显示在里边。

(10)要注意,先在CRM中删除原来的报表,然后再重新上传,不然CRM是不知道我们启用了数据预筛选功能的。

(11) 这回当我们在opportunity的grid中运行报表时,我们看到数据预筛选功能开启了:

到这里,我们的报表就完成了。

在本文中,我向大家介绍了如何创建基于Fetch的自定义报表,并且使用数据预筛选(Pre-Filtering)的功能。总结一下,就是加上了一个CRM系统参数 CRM_FilteredEntity,并且在Query中使用这个参数(enableprefiltering="1" prefilterparametername="CRM_FilteredOpportunity"),就可以启用数据预筛选功能了。

时间: 2024-10-02 07:59:36

MS CRM 2011 如何创建基于Fetch的自定义报表,并使用数据预筛选(Pre-Filtering)的相关文章

MS CRM 2011中创建服务

在CRM中,我们可以创建服务,比如我们需要去客户那里维护我们卖的机器.提供这个服务就需要我们使用一些资源,比如技术人员和技术人员要开的车.在这篇文章中我会演示如何创建一个服务,并定义Selection Rule. 要创建一个新的服务,需要打开Settings –> Business Managerment –> Services,点击New.Initial Status Reason 将决定你创建Service Activities时这些Service Activity的状态.Default

MS CRM 2011 创建基于Fetch的报表 -- 进阶版

在之前的文章中,我介绍了如何创建基于Fetch的报表,并使用数据预筛选功能.在这篇文章中,我们使用一个比较复杂的FetchXML来完成一个更有实际意义的报表. 在这个报表中,显示相关客户,客户的订单,以及订单的产品信息.报表使用了三个inner join,account inner join order inner join orderdetail inner join product. (1) 利用CRM的高级查找创建FetchXML 下载Fetch XML: <fetch version=&qu

MS CRM 2011 在CRM中使用REST Endpoint

CRM提供了两种http://www.aliyun.com/zixun/aggregation/14280.html">WCF Web Service,一个是Organization Service,使用的是SOAP协议,另一个是Organization Data Service,使用的是OData(REST)协议.我们在为CRM写插件(plugin)的时候,通常都要用到第一种web service,而在客户端进行编程的时候就要使用到Organization Data Service了.O

MS CRM 2011 在报表中使用CRM_URL参数来完成报表导航(Report Navigation)

在以前的文章中,我介绍了如何创建一个基于SQL并使用数据预筛选功能的报表.在这篇文章中,我再创建一个比较有实际意义的工作报表,查看某个或多个客户的商机(opportunity)的信息,并对商机的预计收入(Estimated Value)进行统计, 最后我们使用CRM_URL参数来完成报表导航功能. (1) 创建一个新的报表(如何创建新报表,并使用数据预筛选功能,请查看我以前的文章).在新报表中创建新的系统参数,CRM_FilteredAccount. (2) 在数据集中添加参数 并使用以下的Qu

MS CRM 2011 插件(plugin)的快速开发 -- 创建模板

如果你开发过很多MS CRM的插件的话,相信你一定会发现,如果每一次开发插件都从头做起的话,你会做很多重复性的工作.如果你发现你每天做着重复性的工作,你就要考虑怎样才能将重复降到最低,理想的情况就是只做一次. 开发CRM的插件(当然要使用Visual Studio)你需要做很多"准备性的工作",比如添加引用,给插件签名.这些"准备性的工作"也就是重复性的工作,非常浪费时间.一个好的解决办法,就是创建一个你自己的插件模板.在这篇文章中,我为大家介绍两个方面的经验:一是

MS CRM 2011 如何获得当前用户使用的界面语言

我在之前的博客中介绍过如何为Microsoft Dynamics CRM 2011 安装语言包,安装了不同的语言包后,用户可以选择使用不同的界面语言.我在本文中介绍一下如何获得当前用户使用的界面语言. (一) 前端 如果是使用JScript获得当前用户使用的界面语言,比如在Form的OnLoad事件处理器中,可以用 context.getUserLcid() 该方法返回一个数字,即为Language ID,比如美国英语是1033,中文简体为2052.完整的Locale ID Values表,大家

MS CRM 2011 用Jscript打开新窗口的几种方法

在CRM中,我们经常遇到这样的情况,点击一个按钮,需要弹出一个新的窗口.比如在客户中添加新联系人: 在MS CRM2011中,有以下几种方法可以打开一个新的窗口: (1) Xrm.Utility.openEntityForm (2) window.open (3) openObj 前两种是在SDK中支持的,尤其推荐使用第一种,但要注意Xrm.Utility这个对象只在Rollup 8以后的版本才支持.这里顺便列出来CRM 2011各个Rollup的版本号: Build VersionRTM: 5

如何使用 MS CRM 2011 中的目标(Goal) -- 第一节

Goal是CRM 2011中的一个新特性.任何新特性都有一个共同点,就是需要学习曲线.下面就让我们看一下,在CRM 2011中如何使用和管理Goal. 我们先通过一个简单的例子来对Goal有一个初步的认识.我们打开一个CRM范例数据中的一个goal记录," Q3 目標 (範例)". &http://www.aliyun.com/zixun/aggregation/37954.html">nbsp; 打开Q3的表单后,可以看到几个重要的数据,Goal Metric

MS CRM 2011 Plugin Unsecure Configuration

在注册CRM插件(plugin)的时候,可以配置unsecure configuration和secure configuration.本文中着重讲解一下Unsecure Configuration的使用. 既然是unsecure的,那么在这里配置的信息,可以被任何人看见并使用.那么如何在plugin中获得unsecure configuration中的字符串呢?我们需要为plugin定义一个构造函数public Plugin(string unsecureConfig) 或者如果你也想使用se