是否可以通过在线使用FetchXML在下一个30-60-90天内获取按地区划分的所有商机列表(地区在帐户中定义) Dynamics CRM 2011的版本。
我尝试通过在测试数据库上编写SQL来实现这一点,并且可以使用以下SQL:
select Territory.TerritoryId ,
(select count(OpportunityId) from Opportunity where Opportunity.AccountId = Account.AccountId and Account.TerritoryId = Territory.TerritoryId and EstimatedClosureDate < '12/12/2011') as OppIn30Days,
(select count(OpportunityId) from Opportunity where Opportunity.AccountId = Account.AccountId and Account.TerritoryId = Territory.TerritoryId and EstimatedClosureDate < '12/1/2012') as OppIn60Days,
(select count(OpportunityId) from Opportunity where Opportunity.AccountId = Account.AccountId and Account.TerritoryId = Territory.TerritoryId and EstimatedClosureDate < '12/2/2012') as OppIn90Days
from territory left outer join Account on Territory.TerritoryId = Account.TerritoryId --group by Territory.TerritoryId, Account.TerritoryId, Account.AccountId
-- TODO parameterization of query, etc.
SQL的结果如下所示。
Columns: TerritoryId|OpportunitiesClosingIn30Days|OpportunitiesClosingIn60Days
Data: US 5 1
Europe 1 4
Asia 4 5
这是否可以使用FetchXML执行此操作,因为不支持外连接?
如果我在Opportunity中添加了隐藏的区域字段并编写了一些代码,以便每次创建商机时都会从相应的帐户复制区域,这会有所帮助吗?
答案 0 :(得分:1)
不幸的是,使用FetchXML是不可能的。您可能能够使用报告将其虚拟化,然后将所有相关数据拉入其中以进行显示,但您需要SSRS大师为您解答。
您对非规范化数据的建议可能是正确的道路:如果您将Territory
添加到您的商机中,则可以使用MSCRM仪表板显示按地区逐月关闭的商机。