Dynamics crm 在Dynamics CRM中计算年龄

Dynamics crm 在Dynamics CRM中计算年龄,dynamics-crm,Dynamics Crm,所以有几个类似的问题,但都使用javascript,这并不理想,因为它需要打开/保存记录 那么,如何根据出生日期计算年龄呢。需要对200000条记录执行此操作,并且使用CRM 2015,因此也可能涉及计算字段 它将在后台报告,所以我们不能使用Javascript 工作流是一种可能,但每天在200000条记录上运行它们并不完美 还有其他建议吗?我已经多次遇到这个要求。 我通过编写一个抄写员或SSIS作业解决了这个问题,该作业每晚运行,并更新Contact.Age字段 为了不使用计算的年龄更新每个联

所以有几个类似的问题,但都使用javascript,这并不理想,因为它需要打开/保存记录

那么,如何根据出生日期计算年龄呢。需要对200000条记录执行此操作,并且使用CRM 2015,因此也可能涉及计算字段

它将在后台报告,所以我们不能使用Javascript

工作流是一种可能,但每天在200000条记录上运行它们并不完美


还有其他建议吗?

我已经多次遇到这个要求。 我通过编写一个抄写员或SSIS作业解决了这个问题,该作业每晚运行,并更新Contact.Age字段

为了不使用计算的年龄更新每个联系人记录(因为大多数年龄不会改变),我使用了以下方法之一:

对于内部CRM(我可以使用SQL访问数据库),我编写了一个查询以返回: 联系人ID 接触年龄 联系DoB 计算年龄(根据DoB和getdate计算列)

Scribe或SSIS作业将仅更新Contact.Age!=计算年龄

对于托管CRM(我没有SQL访问数据库的权限): 添加名为“下一个生日”的字段

抄写员/SSIS作业将搜索NextBirthday为空或在今天之前的记录。它将更新年龄和下一个生日字段


这两种方法都意味着,如果夜间作业出于任何原因没有运行,那么在下次运行时,它将赶上现在过期的任何记录。

我已经多次遇到此要求。 我通过编写一个抄写员或SSIS作业解决了这个问题,该作业每晚运行,并更新Contact.Age字段

为了不使用计算的年龄更新每个联系人记录(因为大多数年龄不会改变),我使用了以下方法之一:

对于内部CRM(我可以使用SQL访问数据库),我编写了一个查询以返回: 联系人ID 接触年龄 联系DoB 计算年龄(根据DoB和getdate计算列)

Scribe或SSIS作业将仅更新Contact.Age!=计算年龄

对于托管CRM(我没有SQL访问数据库的权限): 添加名为“下一个生日”的字段

抄写员/SSIS作业将搜索NextBirthday为空或在今天之前的记录。它将更新年龄和下一个生日字段

这两种方法都意味着,如果夜间作业出于任何原因没有运行,那么在下次运行时,它将赶上现在过期的任何记录。

有一个使用预插件填充出生月份、年份和日期字段的示例。这可以改为执行计算以填充年龄字段。也就是说,这只适用于新记录或更改的记录

如果希望通过工作流执行此操作,则必须有一个工作流程序集来执行计算以填充年龄字段。作为一种不需要任何代码的替代方法,您可以为特定时间范围内的所有生日创建一个高级查找查询,即“1975年2月17日当天或之前的生日”(这将限制返回的记录数量,并将其从总数200000减少)。包括在所示列中创建的生日和新年龄字段。我只是创建了一个年龄字段作为文本字段,大小为5个字符,因为我只想存储其中某个人的年龄。将联系人导出到Excel,标记选项“当前视图中所有页面记录的静态工作表”和“通过包含所需的列标题使此数据可用于重新导入”。确保包含“所有者”列,以防止在重新导入记录时将所有这些记录重新分配给您自己

然后在Excel中,假设出生日期字段位于L列,“=DATEDIF($L2,NOW(),“y”)”,则在年龄列中创建一个公式,如下所示,该公式将使用截至当前日期的年龄更新年龄字段。请注意,您可能必须在单独的列上执行此计算,并仅复制值,以确保Excel不会更改“年龄”列的数据类型,否则您将无法将该数据导入Microsoft CRM。填写该公式,以便更新所有记录,并保存该文件。然后在Microsoft CRM中,通过指向更新的XML文件(Excel 2003 XML格式)导入这些记录。在这里,您唯一的限制是导入文件的大小(CRM将每个文件的大小限制为8 MB),并将导出限制为10000条记录,因此这是拆分要导出以重新导入的记录的另一个原因

如果您确实通过工作流更新了这些记录,则可以使用CRM 2013批量工作流工具XRM工具箱中的解决方案一次更新250多个记录,该解决方案允许您选择一组记录,使用FetchXML作为记录应用工作流的标准,请注意,如果同时对所有200000条记录运行此操作,则处理此操作可能需要一些时间

理想情况下,我的首选是有一个插件或JavaScript,但根据您的需求,您可能需要每天或每月运行一次(尽管我不会对所有20万人都运行它,因为每个人的年龄每天都不会改变)。只需选择在特定月份或特定日期有生日的记录来运行工作流,或导出和重新导入,因为这对于服务器处理来说要少得多,并且能够比一次更新所有200000条记录完成得快得多。

有一个使用预插件填充的示例出生月份、年份和日期字段。这可以改为执行计算以填充年龄字段。也就是说,这只适用于新记录或更改的记录

如果你想通过工作流来实现这一点,你必须有一个wo