Get Report Data — Code Example

DEX455 - Reports API、Sites、Support Classes 与 Territory Management

📄 第 333 页 🎬 视频课程

课程章节介绍

同学们,刚才我们聊到了报表结果里的分组,那现在来看看,怎么去取每个分组的小计数据,也就是摘要信息。在Salesforce的报表API里,这叫做“事实映射”。 别被名字吓到,其实很简单。打个比方,你用报表按“客户行业”分组,想知道每个行业的总金额是多少,这个小计值就藏在事实映射里。 那么怎么拿到它呢?我们一步步走。 首先,通过`results.getGroupingsDown`这个方法,你可以拿到所有向下分组的列表。我们通常先取第一个分组对象,也就是第一个`GroupingValue`。 然后,调用这个分组对象的`getKey`方法,获取这个分组的键值。比如说,行业是“金融业”,那键值可能就是“金融业”。 接下来是关键一步,我们要把这个分组键,变成事实映射的钥匙。怎么变呢?在键值的后面,加上一个感叹号和字母T,也就是“!T”。这个“!T”代表的是这个分组的汇总数据。假设键值是“金融业”,那钥匙就变成了“金融业!T”。 现在拿着这把钥匙,到报表结果里去取事实映射。用这个钥匙去`getFactMap`里拿,就能拿到对应的条目。 拿到条目后,有两个常用操作: - 如果你想直接看汇总值,比如求和、平均值这些,就用条目的`getAggregates`方法,它会给你`SummaryValue`对象,里面装着数字。 - 如果你想看这个分组下,都有哪些具体的记录,那就用`getHandler`方法,里面存着每一行的详细数据。 简单回顾一下:先拿分组键,在后面加“!T”变成钥匙,开锁取事实映射,然后看汇总还是看明细,随你选。 好了,这一页的内容就是这样,我们下段继续。

关键词

Apex Salesforce Developer Guide