歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> 使用FetchXML制作Dynamics CRM Online 高級報表

使用FetchXML制作Dynamics CRM Online 高級報表

日期:2017/3/1 12:17:26   编辑:關於Linux

今天給大家分享一篇關於制作報表的文章,今天我們不用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>
    </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">
		
		<filter type="and">
			<condition entityname="csd" attribute="po_csdid" operator="null"></condition>

		</filter>
	</attribute></link-entity></attribute></attribute></attribute></entity><link-entity name="p_csd" from="p_customer" to="accountid" alias="csd" link-type="outer">

</link-entity></fetch>

一起完事後,預覽報表,沒問題的話,將其上傳至CRM中,它的運行效果如下:

\

\

Copyright © Linux教程網 All Rights Reserved