使用FetchXML制作Dynamics CRM Online 高级报表

今天给大家分享一篇关于制作报表的文章,今天我们不用SQL来做报表,我们用FetchXML来做。这次我们的测试环境是Dynamics CRM Online,大家应该知道,Dynamics CRM Online只能部署基于FetchXML制作的SSRS报表。

既然说到了高级报表,那肯定是有它的卖点:这里的高级是指,我们的报表可以通过CRM 高级查找界面去定义数据源,不像普通的SSRS报表,数据源都是固定的不能变更。

下面给大家说下我们这个报表的应用场景:

客户和销售记录是1对多关系,但是很多情况下,客户记录下面却是了销售记录,这样的脏数据会导致很多系统问题,所以我们想要找一个办法把所有缺少销售数据的客户记录列出来。

解决思路也是很简单的,我们只需要对客户和销售数据做一个左连接,就可以轻松的把缺少销售数据的客户记录拉出来了。既然思路确定了,我们就开始制作高级报表吧:


首先是要SQL Server Tool创建一个报表项目,然后添加一个空白报表,并为其添加数据源


为其添加一个parameter,这个参数主要用来实现的‘高级’功能--是要高级查找界面定义数据源


为Parameter命令,这里的命名规则是固定的,需要遵从CRM_FilteredXXXXX规律,例如:CRM_FilteredAccount,后面需要接主记录的视图名称,这里我们的主记录是Acount,主要Account的首字母要大写。


为Parameter指定默认值,我们这里默认为所有客户记录,大家可以根据自己的情况而定

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


配置数据集合,我们这里使用了如下的FetchXML:

<fetch distinct="true"  >
	<entity name="account" enableprefiltering="1" prefilterparametername="CRM_FilteredAccount">
		<attribute name="accountid"/>
		<attribute name="accountnumber"/>
		<attribute name="name"/>
		<link-entity name="p_csd" from="p_customer" to="accountid" alias="csd" link-type="outer">
			<attribute name="p_csdid"/>
		</link-entity>
		<filter type="and">
			<condition entityname="csd" attribute="po_csdid" operator="null"></condition>

		</filter>
	</entity>

</fetch>

一起完事后,预览报表,没问题的话,将其上传至CRM中,它的运行效果如下:




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值