这是一个关于数据加载器的相对简单的问题。我目前正在对我们的应用程序运行查询,该查询将由用户为每个帐户提取“最后一次登录”。由于我们的应用未与SFDC集成,因此我必须查询数据,然后使用数据加载器手动上传CSV文件。
该特定字段“上次登录”位于帐户页面上。长话短说,我的查询输出包含一些行,这些行将具有相同的帐户ID,但具有不同的日期-最近的日期和最近的日期。例如。两行具有相同的帐户ID。一个“上次登录”日期为7/30/18,另一行(相同的帐户ID)的“上次登录”日期为7/17/18。
不是手动删除带有“最近日期”的行,而是可以通过这种方式(以降序还是升序)对列进行排序,以使“上次登录”字段中的“最近的日期?
本质上,如果记录相同,那么组织将以什么顺序提取数据?
感谢您的帮助!
-M
答案 0 :(得分:1)
数据按照在源文件中出现的顺序插入/更新。
如果您有这样的更新文件:
Id,Name
00170000015Uemk,Some Name
00170000015Uemk,Some Different Name
最后一个选项将“获胜”。请注意,这是API访问的行为。在Apex中执行类似操作会崩溃并燃烧:
update new List<Account>{
new Account(Id = '00170000015Uemk', Name = '1'),
new Account(Id = '00170000015Uemk', Name = '2')
};
// System.ListException: Duplicate id in list: 00170000015UemkAAC
如果您想快速又轻松地进行操作,请查看SELECT ... FROM Account ORDER BY Id, LastLoginDate ASC
是否有帮助。它应该对同一帐户的多行进行排序,但是然后按日期升序排序,因此最新的应该“获胜”。
但这听起来像是您有一项业务规则,绝不能用较旧的日期覆盖较新的日期。因此,验证规则可能拒绝不良行?
!ISBLANK(Date__c) && PRIORVALUE(Date__c) > Date__c