Report Filtering Overview

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

📄 第 335 页 🎬 视频课程

课程章节介绍

好,我们来看看报表API中关于过滤器的一些使用技巧和限制。你可能已经知道,用API操作报表时,你可以添加自定义的字段过滤器,最多可以加20个。而且这些过滤器之间还可以用AND和OR这样的逻辑来组合,让筛选条件更灵活。 但也要注意,并不是所有报表里的过滤器都能通过API来用。比如说,像范围筛选、按行数限制,还有交叉过滤器这些标准功能,在API里就不支持。所以使用前,我们最好先做几个检查,确保字段是可用的。 首先,可以调用`ReportTypeColumn.getFilterable`方法,它会告诉你某个字段能不能被筛选。如果返回true,那就没问题。 然后,如果这个字段是可筛选的,我们还可以通过`filterValues`属性拿到它所有可能的筛选值,方便我们在代码里做选择。 另外,不同数据类型的字段支持的比较运算符也不一样,比如数字字段可以用大于、小于,文本字段可能是包含或不包含。这个对应关系可以通过`ReportManager.dataTypeFilterOperatorMap`来查看。 最后,在写代码之前,我们可以先看看报表里已经有哪些过滤器了,避免冲突或者重复。这点可以用`ReportMetadata.getReportFilters`方法,它会返回当前报表中所有已经存在的过滤器列表。 简单来说,就是先看能不能用,再看有什么可选值,再看能用什么运算符,最后查一下现有的过滤器。这样一步步来,就能安全地在API里操作自定义筛选器了。

关键词

Apex Salesforce Developer Guide