2011-12-20 5 views
1

Есть ли способ получить список всех возможностей по территории (территория определена в учетной записи), закрывающаяся в ближайшие 30-60-90 дней с использованием FetchXML в онлайн-версии Dynamics CRM 2011 в режиме онлайн .Обход ограничения внешнего соединения FetchXML

Я пытался сделать это, написав 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 и написал код, чтобы каждый раз, когда была создана возможность, территория копируется из соответствующей учетной записи?

ответ

1

К сожалению, это невозможно с FetchXML. Вы можете указать может с помощью отчета, который извлекает все соответствующие данные, а затем манипулирует им для отображения, но для этого вам нужен гуру SSRS, чтобы ответить на него.

Ваше предложение о денормализованных данных, вероятно, находится на правильном пути: если вы добавите Territory к своей возможности, вы можете использовать панели мониторинга MSCRM, чтобы показать возможности закрытия по месяцам по территории.