首页 > 其他分享 >salesforce零基础学习(一百三十)Report 学习进阶篇

salesforce零基础学习(一百三十)Report 学习进阶篇

时间:2023-08-15 09:59:14浏览次数:44  
标签:salesforce 函数 summary 进阶篇 report 分组 Report 我们

本篇参考:

https://help.salesforce.com/s/articleView?id=sf.reports_summary_functions_about.htm&type=5

https://www.youtube.com/watch?v=bjgZTgYe_84

Salesforce Admin篇(二) Report中,我们讲过report的一些基础知识,实际工作中往往有些场景比这些复杂很多,接下来根据实际工作中的部分场景进行知识扩展。本篇主要讲解3个内容: PARENTGROUPVAL and PREVGROUPVAL & Power Of 1.

引言: 在salesforce的report中,官方封装了很多的函数,基于不同的函数来进行不同的场景处理。有一些我们比较熟悉的类似formula的函数IF等,用起来很方便,除此以外还有两个特殊的函数:PARENTGROUPVAL and PREVGROUPVAL,使用 PARENTGROUPVAL 计算相对于一个父分组的值,使用 PREVGROUPVAL 计算相对于同级分组的值。接下来对这两者进行展开。

一. PARENTGROUPVAL

此函数返回指定父分组的值。父 "分组是指包含公式的分组之上的任何层级。

针对Summary Report以及Join Report,我们使用这个函数包含两个参数:PARENTGROUPVAL(summary_field, grouping_level)

针对Matrix Report,我们使用这个函数包含三个参数:PARENTGROUPVAL(summary_field, parent_row_grouping, parent_column_grouping)

我们对这三个参数进行一下解释:

  • summary_field:汇总的字段的值。举个例子: 第一个参数使用TOTAL_PRICE:SUM代表我们返回指定父分组的值,分组的值基于 TOTAL_PRICE字段进行SUM汇总。再举一个例子: 第一个参数使用RowCount,这个是report的字段,代表对指定分组进行计数操作,返回的结果将是某个指定分组的数据的数量。
  • parent_row_grouping:针对Summary Report以及Join Report,第二个参数即row_grouping。row_grouping可以有两个值: GRAND_SUMMARY以及分组字段的API NAME。 其中GRAND_SUMMARY代表着整体数量,即Report下方的Grand Total选项勾选的数量效果。指定分组字段的API Name代表着某个子分组的范围。
  • parent_column_grouping用法和parent_row_grouping用法相同并且参数值也相同。

其实这样说起来很绕,并且很难去理解,我们不妨以一个例子进行更好的理解。我们的原始需求是制作一个Case Report,Case Report基于Case Owner以及Case Status进行分组查看每个owner每个组的数量。这个需求很简单,我们可以基于两种方式实现,一个是summary report设置两层分组,一个是matrix report。

基于Summary Report的demo: 两个user,每个user都各拥有一部分数据。

基于Matrix Report的Demo。

现在需求进行了变更,显示每个阶段的数量固然很好,但是每个owner所处理的case数量不同,直接看每个阶段的数量参考意义不大,更希望看到每个阶段所占每个人所拥有的总数的百分比。我们对这两个report进行一下优化从而满足需求。

针对Summary Report,正确操作举例如下图gif所示。接下来我们对这个report进行详细的剖析。首先我们需要创建一个summary formula。基于需求,我们需要了解每个Status所占每个owner的总比,所以函数使用的是 PARENTGROUPVAL(RowCount, OWNER),其中OWNER代表的是我们report中的主group:Owner,即获取基于Owner级别的总数量。

还有一个重要的内容是Display,代表当前的formula显示在哪里。针对Summary Report主要有以下几个值:

  • All Summary Levels:所有的group字段,当前的demo相当于显示在Owner以及Status的subtotal中。
  • Grand Total Only:显示在Grand Total级别,通常这种函数为金额或者数量多一些,比如当前记录总数或者当前report的总金额等。
  • Specific Groups:显示在指定的group的subtotal,当前demo选择了此种方式,并且字段选择了Status,代表只会显示在Status的subtotal位置。

 接下来展示几个错误的示范

1. 函数中选错基于某个字段分组。我们可以看到下方gif中,函数选择基于Status分组永远是100%,基于GRAND_SUMMARY分组则把两个user的总数都作为计算,这个是不正确的,我们在使用此函数时,首先需要确定计数范围。

2. 显示错误的位置。我们可以看到此函数仅支持summary函数,如果放在grand total以及All Summary Level则报错,放在不正确的字段的subtotal则展示的结果不符合我们的需求的预期。

这两个点在实际工作中使用此函数一定要重点思考。

 基于matrix report正确操作如下:这个demo中,我们看到函数有三个参数,其中第二个参数很好理解,我们使用了Case Owner进行分组。第三个参数我们选择了GRAND_SUMMARY,因为当前column只有一个分组,所以使用这种也代表获取当前这个owner的total。

二. PREVGROUPVAL

使用 PREVGROUPVAL 计算相对于同级分组的值,他用来获取分组的前一刻的值。我们直接以一个demo进行展开,这样理解会更方便。

我们想要了解一下第二条记录和前一条记录的差值,即每个月的amount的变化,是增长的,还是减少的。这种情况我们便可以使用PREVGROUPVAL函数。

从下方的gif中我们可以看到使用PREVGROUPVAL的效果,这个函数拥有三个参数:
  • summary_field:记录哪个汇总字段,demo中我们使用的是 Amount:Sum即获取Amount的汇总数据。
  • grouping_level:记录基于哪个字段进行分组来获取summary_field。
  • increment:记录增量,默认是1,即获取前一条数据的值,如果隔条获取,可以设置为2, demo中有一个简单的UI效果。

 我们对UI进行简单修改,即可了解每个月相对上个月是增长还是下降了,仅需简单的计算以及颜色渲染,便可直观显示。 

 三. Power Of 1

 我们以一个简单的demo来引出Power Of 1.

下方的gif中我们可以看到,针对Opportunity Report,我们可以在 Account Name列使用Unique,从而获取Account Name去重以后的数量,这个很方便也很好用。然而如果我们基于Account Name去进行Group以后,这个字段将不再支持 Unique去查看总共有多少个Unique Account,标准的report的record count也指向的是Opportunity有多少条数据,所以这时我们仅需要简单的在Account表中创建一个formula字段,并且将value设置一个hard code等于1即可。这种方式适用于针对关联列表或者字表查询,想要在字表查询到父表唯一的数量(Opportunity report查询Account去重以后的数量),可以使用Power Of 1。

当然, Power Of 1 所能做的远不止如此。以这个功能做一下引申,我们有时候的需求需要比较相同字段级别的不同阶段的转换率。举个例子,Opportunity有不同的Stage,我们有时需要计算 某个Stage在某几个Stage中所占的比例。这种需求可以使用Power Of 1进行快速实现。这里我们模拟一个需求: 我们的Opportunity Stage有Prospecting,Needs Analysis, Negotiation/Review, Closed Won。

我们需要计算Closed Won的数量针对每个其他阶段的比率。即 Closed Won Record Count / Prospecting => 28 / 12; Closed Won Record Count / Needs Analysis => 28 / 18; Closed Won Record Count / Negotiation/Review =>15 28 / 。那么如何实现这种需求呢? 可以使用Power Of 1的神奇之处。我们以Closed Won Record Count / Prospecting为例。

根据下方的gif我们可以看出来,新建两个formula字段,如果当前的Stage为指定的值,设置为1,否则设置为0. 之后在report中只需要创建一个 report formula字段即可实现需求。

 

 总结:篇中主要介绍了一下Report的两个函数以及Power Of 1简单用法,更多好玩的用法等待你的发掘,本篇仅抛砖引玉。篇中有错误地方欢迎指出,有不懂欢迎留言。

标签:salesforce,函数,summary,进阶篇,report,分组,Report,我们
From: https://www.cnblogs.com/zero-zyq/p/17626993.html

相关文章

  • ireport报表生成二维码
    1、https://blog.csdn.net/dhj199181/article/details/999547522、https://blog.csdn.net/weixin_41425956/article/details/118674753......
  • 17.Sql Monitor RePort
    1.SqlMonitor's监控的前提条件SqlMonitor是监控一条Sql是怎样执行的,当启用SQLMonitor功能时,当满足以下任何条件时,数据库会自动监控简单的数据库操作:ASQLstatementorPL/SQLsubprogramhasconsumedatleast5secondsofCPUorI/Otimeinasingleexecution.(cp......
  • 如何通过扩展(Extension)的方式给 SAP Fiori Elements List Report 的表格新增列试读
    本教程之前的步骤,我们已经详细学习了SAPFioriElements应用里类型为ListReport的创建步骤,并且介绍了使用安装在VisualStudioCode里的SAPFioriTools扩展提供的向导,生成FioriElements应用的本地项目结构:5.动手开发第一个SAPFioriElements应用6.知其然......
  • delphi FastReport 打印设置
    FastReport打印设置属性和方法TfrxPrintOptions.CopiespropertyCopies:Integer;默认可打印份数。默认值为1。TfrxPrintOptions.DuplexpropertyDuplex:TfrxDuplexMode;全局双工设置。仅在准备报表后设置。TfrxPrintOptions.PrintModepropertyPrintMode:TfrxPrin......
  • pytest---hooks获取到用例执行结果(pytest_runtest_makereport )
    前言自动化测试用例在执行完成后,我们想要很清楚的查看到测试用例的执行结果,我们可以通过pytest中的hooks来进行获取吗,其中pytest中存在多个hooks的函数,小编今天先简单介绍其中一种,通过pytest_runtest_makereport 获取自动化测试用例的执行情况获取用例结果pytest_runtest_......
  • Salesforce 助理认证和管理员认证有何区别?备考者应如何选择?
    随着Salesforce生态系统对专业人员的需求不断增长,获得相关认证对于寻求职业发展的从业者来说至关重要。对于刚接触Salesforce平台的人而言,Salesforce助理认证和Salesforce管理员认证是两个比较基础的认证。这两个认证有什么区别呢?从业者应该考哪个?本篇文章将探讨两种认证的主要......
  • Pentaho Report Design发布报表到Pentaho Server
    我们在前面两章分别学习了windows安装PentahoReportDesignPentahoReportDesign设计柱状图windows安装PentahoServer本章来学习PentahoReportDesign发布报表到PentahoServer。PentahoReportDesign准备报表使用PentahoReportDesign设计好报表之后需要呈现给其他人看时,......
  • Pentaho Report Design设计柱状图
    我们在上一章节已经安装了PentahoReportDesign,现在使用它来设计柱状图。新建bar模版如果才打开,可以看到有一些Samples模版可以选择,直接点击Charts和Bar即可。如图:或者新建一个空白的report模版,然后选中左边工具栏的chart工具,拖动到ReportHeader中,并拖动产生的图标调整大小。......
  • 学不会的博弈论——进阶篇
    前言浅浅复习(我想说,国家队论文yyds......
  • 如何用Confusion matrix,classification report,ROC curve (AUC)分析一个二分类问题
    ROChttps://zhuanlan.zhihu.com/p/246444894   Sure,let'screatearandomconfusionmatrixasanexample,andthenI'llexplainwhateachelementinthematrixmeans:Supposewehaveabinaryclassificationproblem,wherethetruelabelsareas......