如何使用嵌套地图对数据进行分组

时间:2018-12-20 05:51:11

标签: salesforce apex

我正在尝试将事件数据与地图分组。我要完成的工作是将我的活动按周进行分组>预订者>每周预订的appt的累计计数。到目前为止,我的逻辑是:

map<string,list<Event>> Date2Event = new map<string,list<Event>>();
for(Event e: eventLst){
    if(!Date2Event.containsKey(dateMapKey(e.CreatedDate))){
        Date2Event.put(dateMapKey(e.CreatedDate), new list<Event>());
    }
    Date2Event.get(dateMapKey(e.CreatedDate)).add(e);
}

public string dateMapKey(datetime dt){
    datetime myDt = dt;
    date myDate = myDt.date();
    date StartOfWeekDate = myDate.toStartOfWeek();
    string mapKey = StartOfWeekDate.format() + '-' + StartOfWeekDate.addDays(6).format();
    return mapKey;
}

因此,我有一个功能,该功能基本上是将地图的键设置为从开始日期到结束日期的字符串。到目前为止,我已经完成的工作是按周对事件进行分组。现在,我需要嵌套更多的分组,并按周和按预订者分组,然后汇总该周每个已预订appt的计数。任何想法将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:0)

一段时间后,我终于确定了嵌套映射的最佳设计模式。我会在这里为其他人发布我的答案,因为有时我得到的回答过于笼统,超出了所需。

{{1}}