有没有办法按值列表过滤Salesforce报表?

Dav*_*vid 1 reporting salesforce filter apex-code

好的,所以我想要一份报告,不要求最终用户了解编写和自定义报告或记忆字段值的所有信息.我最终希望用户能够在我创建的顶点页面上使用一组预先填充的基于SelectList的过滤器来过滤他们的报告.

到目前为止,我只能为每个字段过滤一个值:

  1. 创建帐户报告
  2. 为BillingState Equals添加过滤器空白(这是过滤器#1或索引0)
  3. 使用SelectList创建一个页面,并使用Controller使用状态列表填充它
  4. 在页面上创建一个CommandButton并使用PageReference对象重定向到报表
  5. 在报告的URL末尾,添加pv0(索引0的参数值)= [选定状态]

所以这一切都很好 - 而不是让用户记住有效的字段值并混淆报告过滤器,他们可以指向和点击东西 - 这么简单的销售人员可以做到这一点.

但现在我想按状态列表(或其他一些文本字段)进行过滤.我可以轻松地获得具有SelectList的multiselect属性的String []状态列表,但我不知道如何将其应用于报表.在SQL意义上,我想在报告查询中添加"State = x OR State = y OR State = Z"或"State IN(x,y,z)"where condition.


我怎么能这样做 - 通过一个字段的有效值列表过滤报表,并从控制器可编程地执行它?

  • 是否有一些方法可以即时编程创建临时报告?克隆"模板"报告,然后根据需要添加OR过滤器?

  • 有没有办法将一组对象传递给报表?有些报告会返回很多结果,所以这看起来很危险.

  • 在执行PageReference重定向时,Redirect属性指出当它为false时,所有状态信息都会保留,但目标页面必须具有相同的控制器 - 是否有办法使用带报告的控制器来自定义其逻辑?

sor*_*bbe 5

如果我找到你,那你几乎就在那里.

将标准值逗号分隔到相应的URL参数.在您的示例中,pv0 URL参数:

/[your-report-id]?pv0=OR,FL
Run Code Online (Sandbox Code Playgroud)