1. 获取FetchXML因为FetchXML难以撰写,所以我们一般都是使用高级查找来生成FetchXML或者通过其他工具来生成。我这里在商机界面通过高级查找制作了一个新的视图,名称为 商机查询, 查询结果如下所示:

然后我将下载的Fetch XML放在桌面上,名称为 FetchXML.xml,其中的文本如下:

<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">

<entity name="opportunity">

<attribute name="name" />

<attribute name="customerid" />

<attribute name="estimatedvalue" />

<attribute name="opportunityid" />

<attribute name="estimatedclosedate" />

<order attribute="name" descending="false" />

<filter type="and">

<condition attribute="statecode" operator="eq" value="0" />

<condition attribute="ownerid" operator="eq-userid" />

</filter>

<link-entity name="account" from="accountid" to="customerid" alias="ac">

<attribute name="numberofemployees" />

<filter type="and">

<condition attribute="accountid" operator="not-null" />

</filter>

</link-entity>

</entity>

</fetch>

2.  新建报表项目。打开SQL Server Business Intelligence Development Studio,点击 文件 > 新建 > 项目,项目类型选择 商业智能项目 中的 报表服务器项目,为该项目命个名字。

3. 新建报表。在右边的解决方案资源管理器中的报表文件夹右击,选择 添加 >新建项,模板选择报表,我这里命名为 OpportunityReport.rdl ,然后点击添加按钮。
 

4.  添加数据源。在左边的 报表数据中 选择 数据源,右击,选择 添加数据源,名称我输入CRM,嵌入链接的类型我选择 Microsoft Dynamics CRM Fetch,连接字符串的输入格式是:将组织的url,比如http://crmserver:5555/DefaultOrg 中的倒数第一个斜线换成分号。然后在数据源中的凭据中选择 使用此用户名和密码,然后输入用户名和密码。

 

5.    添加数据集。右击上一步骤添加的数据源,选择 添加数据集 ,在查询下面的文本框中输入我们之前拿到的FetchXML,然后点击 刷新字段 按钮,然后点击 确定 按钮关闭该对话框。你会看到数据集中出来了不少字段。

 

6. 制作报表。打开报表的工具箱,将一个表拖动到设计界面,然后将要显示的字段,比如name,customerid,estimatedvalueValue,estimatedcloseddateValue,ac_numberofemployeesValue 拉到表的列中,并稍微下设置格式,更改列标题。完成后效果如下图所示,然后点击设计旁边的预览可以看到效果。然后点击全部保存将它保存下来。注意,拉到报表中的列一般要用自动加上Value的那些列。

如果要格式化请参考文章 Personalizing Reports for Microsoft Dynamics CRM Online 。

CRM Reporting Undocumented Feature Uncovered

 

 7.  开启报表的预筛选功能。右击报表数据中的参数文件夹,选择 添加参数,名称设置为 CRM_FilteredOpportunity ,(ps:对于CRM中的报表,以CRM_开头的参数是会自动变成隐藏参数,因为本查询主要实体是Opportunity,所以命名为CRM_FilteredOpportunity)选择参数可见性设置为 隐藏 。在默认值中指定默认值,指定的默认值为 <fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false"><entity name="opportunity"><all-attributes /></entity></fetch> 。然后点击确定关闭这个窗口。

 

 8.  更改Dataset增加一个参数。然后双击 DataSet1 ,在参数中增加一个参数,参数名称设置为 CRM_FilteredOpportunity ,参数值设置为[@CRM_FilteredOpportunity] ,然后点击 查询 ,修改查询的文本,主要是对主实体opportunity增加属性 enableprefiltering="1" prefilterparametername="CRM_FilteredOpportunity" ,如后图所示。

 

 9.   上传报表。导航到 设置 > 自定义 > 自定义项 > 自定义系统,选择 新建 > 报表,报表类型选择现有文件,然后点击浏览按钮选择报表文件,我这里是OpportunityReport.rdl,起个名字,选择类别为销售报表,相关记录类型选择 商机,显示于选择你想要显示的地方,然后点击保存,在点击 发布所有自定义项。PS:也可以在 工作区 > 我的工作 >报表 新建报表,这里新建则不需要发布,方便。

 
 

10.  测试报表。导航到 销售 > 商机,点击 运行报表 > 我的商机报表,在弹出的页面中做合适的选择后,点击 运行报表 按钮,一会儿报表就运行出来了。

 
 
 
 
引用地址:http://luoyong0201.blog.163.com/blog/static/1129305201310298221728/
注明:除了安装Business Intelligency Development Studio (sql server 2012版本,这个工具是包括在SQL Server Data Tools这个功能中了)外,制作该种类型的报表,需要安装Report Authoring Extension。

MSCRM中报表开发二:创建基于FetchXML报表的更多相关文章

  1. 六、K3 WISE 开发插件《直接SQL报表开发新手指导 - BOM成本报表》

    ======================== 目录: 1.直接SQL报表 ======================== 1.直接SQL报表 以BOM成本报表为例,在销售模块部署,需要购买[金蝶 ...

  2. MSCRM中报表开发一:创建基于SQL报表

    1.       新建报表项目.打开SQL Server Business Intelligence Development Studio,点击 文件 > 新建 > 项目,项目类型选择 商 ...

  3. Win10 IoT C#开发 2 - 创建基于XAML的UI程序 及 应用的三种部署方法

    Windows 10 IoT Core 是微软针对物联网市场的一个重要产品,与以往的Windows版本不同,是为物联网设备专门设计的,硬件也不仅仅限于x86架构,同时可以在ARM架构上运行. 上一章我 ...

  4. debian下为arm开发板创建基于debian或emdebian的根文件系统

    Debian系统本身包含对arm的支持,其包含的软件包最多,但是最终的文件系统要大一些. emdebian 是一个非常好用的嵌入式linux操作系统,其基于debian的特点对于熟悉debian系统的 ...

  5. ActiveReport系列报表开发随笔收集

    转自:博客园 http://www.cnblogs.com/dahuzizyd/archive/2007/04/11/ActiveReport_All.html 使用ActiveReport for ...

  6. ReportingServies——SQLServer报表开发综合实例

    如果我们安装了sqlserver2008 R2,将会自动安装一个报表开发工具 不要以为此报表开发工具只适合于sqlserver2008,其实在sqlserver2012中也是支持的,事实上我现在项目中 ...

  7. Qlik报表开发见解

    因为项目需要,最近去做了Qlik Sense报表开发,学习了Qlik报表的开发方法和一些基础的开发模式,以下是我对Qlik报表开发的一些见解,个人水平有限,欢迎大神指导. 1.Qlik Sense的函 ...

  8. 在DevExpress程序中使用条形码二维码控件,以及进行报表打印处理

    在很多业务系统里面,越来越多涉及到条形码.二维码的应用了,不管在Web界面还是WInform界面都需要处理很多物料相关的操作,甚至很多企业为了减少录入错误操作,为每个设备进行条形码.二维码的标签,直接 ...

  9. 微软BI 之SSRS 系列 - 在 Cube 中通过 MDX 查询实现基于父子递归关系的汇总报表

    之前我写了一篇在 SSRS 开发中处理这种父子关系的汇总与聚合的文章 (SSRS 系列 - 使用分组 Group 属性实现基于父子递归关系的汇总报表),示例中的查询是基于 SQL Server 关系型 ...

随机推荐

  1. 代码的重构(Refactor-Extract)

    1.vs中的代码重构快捷方式:Refactor-Extract: 选中两个需要重构的部分完整代码,右击,选中Refactoe-Extract-Extract Method: 该选中的代码会自动形成一个 ...

  2. 读入挂(IO)

    快如闪电,清华杜瑜皓的读入挂,一模一样代码,加了这个之后... 细思极恐,and 整整行!!! namespace IO{ #define BUF_SIZE 100000 #define OUT_SI ...

  3. Android开发工程师文集-Fragment,适配器,轮播图,ScrollView,Gallery 图片浏览器,Android常用布局样式

    Android开发工程师文集-Fragment,适配器,轮播图,ScrollView,Gallery 图片浏览器,Android常用布局样式 Fragment FragmentManager frag ...

  4. 《你不知道的javascript》读书笔记1

    概述 放假读完了<你不知道的javascript>上篇,学到了很多东西,记录下来,供以后开发时参考,相信对其他人也有用. js的工作原理 引擎:从头到尾负责整个js的编译和运行.(很大一部 ...

  5. 使用autogen生成应用程序遇到问题及解决方法

    从github上下载的代码,运行autogen.sh的时候,上报错误: $ ./autogen.sh --prefix=/usr./autogen.sh: 10: ./autogen.sh: auto ...

  6. Koa 框架教程

    Koa 框架教程   作者: 阮一峰 日期: 2017年8月 9日 Node 主要用在开发 Web 应用.这决定了使用 Node,往往离不开 Web 应用框架. Koa 就是一种简单好用的 Web 框 ...

  7. 单区域OSPF路由协议实现网络区域互通

    1.什么是OSPF协议? OSPF协议的全程是开放式最短路径优先协议,协议采用链路状态协议算法(LS协议) 2.OSPF vs RIP RIP路由协议是距离矢量路由选择协议,收敛速度慢,如果在一些大型 ...

  8. 从零开始学 Web 之 CSS3(七)多列布局,伸缩布局

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  9. 如何自定义CSS滚动条的样式?

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由前端林子发表 本文会介绍CSS滚动条选择器,并在demo中展示如何在Webkit内核浏览器和IE浏览器中,自定义一个横向以及一个纵向的 ...

  10. Xdebug在PHP中的安装配置

    Xdebug在PHP中的安装配置涉及php.ini配置文件的修改. 1  首先需要下载Xdebug,根据安装的PHP版本,选择合适的Xdebug版本, 2  安装Xdebug将下载的php_xdebu ...