如何使用 FetchXML 查询中的日期时间字段按日期分组

How can I group by date using datetime field in FetchXML query

我在 Dynamics CRM 中有一个实体,其属性如下所示(只是一小段):

Date (datetime type)     UserID (GUID type)                     Operation    Entity
2020-09-24 00:47:08.000  16742A71-ED5F-E611-80EA-005056B53B31   Delete       Account
2020-09-24 00:47:08.000  16742A71-ED5F-E611-80EA-005056B53B31   Create       Opportunity
2020-10-07 05:37:54.000  16742A71-ED5F-E611-80EA-005056B53B31   Update       Contact
2020-10-07 02:34:45.000  16742A71-ED5F-E611-80EA-005056B53B31   Update       Contact
2020-10-07 09:39:02.000  16742A71-ED5F-E611-80EA-005056B53B31   Update       Contact

我想要做的是获得日期(不关心时间部分)、用户 ID、操作和实体的唯一组合。因此,根据上面截取的数据,我想获得 3 条记录作为 FetchXML 查询的结果,因为最后 3 条记录是由同一确切用户在同一确切日期创建的,对同一确切实体执行相同的确切操作,并且前 2 名是独一无二的。

Date (datetime type)     UserID (GUID type)                     Operation    Entity
2020-09-24               16742A71-ED5F-E611-80EA-005056B53B31   Delete       Account
2020-09-24               16742A71-ED5F-E611-80EA-005056B53B31   Create       Opportunity
2020-10-07               16742A71-ED5F-E611-80EA-005056B53B31   Update       Contact

这相当于 GROUP BY cast(createdon as date)。这完全可以在 FetchXML 中实现吗?

TIA, -托尼.

是的,这可以使用 dategrouping

下面的示例按年份分组,但 this article 解释了其他选项,包括日和月。

<fetch distinct='false' mapping='logical' aggregate='true'> 
<entity name='opportunity'> 
   <attribute name='opportunityid' alias='opportunity_count' aggregate='count'/> 
   <attribute name='estimatedvalue' alias='estimatedvalue_sum' aggregate='sum'/> 
   <attribute name='estimatedvalue' alias='estimatedvalue_avg' aggregate='avg'/> 
   <attribute name='actualclosedate' groupby='true' dategrouping='year' alias='year' />
   <filter type='and'>
       <condition attribute='statecode' operator='eq' value='Won' />
   </filter>
</entity>