Dynamics CRM FetchXML等效于SQL与子查询聚合列值

时间:2015-10-27 12:15:24

标签: sql-server dynamics-crm-2013 dynamics-crm-online fetchxml

我需要生成一份CRM报告(在线,因此必须使用FetchXML),显示客户加上他们订购的产品数量,并为每个(预定义)类别添加一列。

实体是有效的:客户,订单,订单和产品。我已经在SQL Server(2008 R2)中创建了测试数据,并且以下SQL语句生成了正确的结果,但我想知道这是否可以在FetchXML中使用,如果是,那么如何。

我尝试使用sql2fetchxml.com,但显示“错误:不支持的字段表达式”

select c.Description, 

(select sum(l1.Quantity) from Customers c1 
Join Orders o1 on o1.CustomerID = c1.ID
Join OrderLines l1 on l1.OrderID = o1.ID
Join Products p1 on l1.ProductID = p1.ID and p1.Category = 'A'
where c1.ID = c.ID) CategoryA_Quantity,

(select sum(l2.Quantity) from Customers c2 
Join Orders o2 on o2.CustomerID = c2.ID
Join OrderLines l2 on l2.OrderID = o2.ID
Join Products p2 on l2.ProductID = p2.ID and p2.Category = 'B'
where c2.ID = c.ID) CategoryB_Quantity,

(select sum(l3.Quantity) from Customers c3
Join Orders o3 on o3.CustomerID = c3.ID
Join OrderLines l3 on l3.OrderID = o3.ID
Join Products p3 on l3.ProductID = p3.ID and p3.Category = 'C'
where c3.ID = c.ID) CategoryC_Quantity

from Customers c

2 个答案:

答案 0 :(得分:0)

您无法在CRM中执行子查询。你可以执行多个查询,但不能像你定义的那样创建子查询。

答案 1 :(得分:0)

虽然不是基于动力学的,但是您可以在Power Automate中创建一个流程来复制您的SQL脚本,然后将其输出报告。我使用这种方法用类似的查询填充门户页面。