You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Dynamics CRM SSRS报表的FetchXML数据源转换为SQL Server数据源?

从FetchXML转换到SQL Server数据源的SSRS报表解决方案

嘿,我之前处理过好几个从FetchXML转SQL Server数据源的SSRS报表需求,给你几个靠谱的方案,应该能解决你的转换难题:

方案1:用工具自动转换FetchXML到SQL查询

这是最省心的方法,推荐用XrmToolBox里的「FetchXML to SQL」插件:

  • 打开XrmToolBox,连接到你的Dynamics CRM组织
  • 加载「FetchXML to SQL」工具,把你现有的FetchXML粘贴进去
  • 点击转换按钮,工具会自动生成基于CRM过滤视图(Filtered Views)的SQL查询
  • 把生成的SQL直接复制到SSRS的数据集查询里就行,这些过滤视图在SQL Server的CRM数据库里是直接可查的

这个工具会帮你处理好实体映射、链接关系、过滤条件这些细节,完全不用手动拼SQL。

方案2:手动映射FetchXML到SQL过滤视图

如果你不想用工具,或者需要自定义查询,可以手动对应:

  • 实体映射:FetchXML里的<entity name="account">对应SQL里的FilteredAccount视图,所有CRM实体都有对应的Filtered前缀视图
  • 字段映射:FetchXML里的属性直接对应视图里的列,比如<attribute name="name"/>对应FilteredAccount.name,lookup字段比如<attribute name="parentaccountid"/>对应FilteredAccount.parentaccountidname(显示名称)或者parentaccountid(GUID)
  • 链接关系:FetchXML里的<link-entity>对应SQL的JOIN,比如链接contact的话:
    SELECT a.name, c.fullname
    FROM FilteredAccount a
    JOIN FilteredContact c ON a.accountid = c.parentcustomerid
    
  • 过滤条件:FetchXML里的<filter>直接转换成SQL的WHERE子句,比如<condition attribute="createdon" operator="last-x-days" value="30"/>转换成WHERE a.createdon >= DATEADD(day, -30, GETUTCDATE())

方案3:直接查询CRM基础表(仅限On-Premise环境)

如果是Dynamics CRM本地部署(On-Premise),你也可以直接查询基础表,但不推荐,因为:

  • 基础表有大量系统字段,结构复杂,不如过滤视图直观
  • 过滤视图已经自动处理了CRM的权限控制,直接查基础表需要自己手动处理权限逻辑
  • 基础表的字段命名可能和FetchXML里的属性不一致,比如account的基础表是AccountBase,字段Name对应FetchXML的name

如果一定要用,可以用系统函数获取基础表:

SELECT * FROM fn_GetCRMBaseTable('account')

关键注意事项

  • 权限控制:用过滤视图的话,SSRS报表的运行账号需要在CRM中有对应的实体权限,否则查询会返回空数据
  • 日期转换:过滤视图里的日期字段都是UTC时间,需要转换成本地时间的话,可以用SQL的SWITCHOFFSET函数:
    SELECT SWITCHOFFSET(createdon, DATENAME(TZOFFSET, SYSDATETIMEOFFSET())) AS LocalCreatedOn
    FROM FilteredAccount
    
  • 多对多关系:FetchXML里的多对多链接对应CRM的中间视图,比如account和contact的多对多是FilteredAccountContact,需要通过这个视图来关联两个实体

内容的提问来源于stack exchange,提问作者Shamshad Rizvi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:15:52