如何使用 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>
我在 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>