Loading
销售业绩管理
目录
选择筛选器

          没有结果
          没有结果
          以下是一些搜索提示

          检查关键字的拼写。
          使用更普遍的搜索词。
          选择更少的筛选器,并扩大搜索范围。

          搜索所有 Salesforce 帮助
          使用 Let 函数手动累积变量的示例

          使用 Let 函数手动累积变量的示例

          有时,Salesforce Spiff 中的累积变量无法计算金额,因此您必须使用 let() 函数手动创建累积变量。

          所需的 Edition

          适用于:Salesforce Classic(并非在所有组织中可用)和 Lightning Experience
          适用于:EnterpriseUnlimitedDeveloper Edition
          另行付费后适用于:启用了 Web 服务 API 的 Professional Edition

          累积变量不计算金额的一个常见原因是,当求和的期间因规则中的每条记录而异时。例如,某个规则可能显示付款日期在期间内的业务机会,而每个业务机会的结束日期在不同的年份,因此无法通过累积变量计算年度完成情况。

          使用 let() 函数,您可以为字段分配别名,以便 Spiff 可以将动态值(例如每个记录的结束日期)与静态值(例如特定交易的结束日期)进行比较。例如,您可以将别名 ThisDealsCloseDate 分配到有助于在读取逻辑时识别该字段的字段。

          单排序

          在此示例中,计算按 CloseDate 排序,汇总当前交易之前的交易。第一笔交易价值 435.7 万美元,是 1 月至 4 月结束的交易总额,但不包括 5 月 1 日。

          let(ThisDealsCloseDate, CloseDate,
          sumif(ClosedInYearDataset, CloseDate < ThisDealsCloseDate, ARR))
          let 函数创建单排序手动累积变量

          几乎总是需要辅助排序。如果多个交易在同一天完结,手动累积变量会为每个交易返回相同的值,因为它们不会进一步排序。您可以引入其他let()函数来按其他条件排序,例如 DealID 或 DealValue,并确保每个交易都经过唯一评估。

          辅助排序

          在前面的示例中,主要排序是 CloseDate。要展开此示例并进一步区分当天结束的交易,请添加按 ID 排序的次要排序。该逻辑包括额外的换行符和缩进,以识别每种排序。

          let(ThisDealsCloseDate, CloseDate, 
          let(ThisDealsId, Id,
          sumif(ClosedInYearDataset,
              CloseDate < ThisDealsCloseDate OR
              (CloseDate = ThisDealsCloseDate AND Id > ThisDealsId)
          , ARR)))
          let 函数创建辅助排序

          现在,第 2 行至第 4 行的累积值不同。当天增加的值显示了辅助排序的有效性。

          回看

          涵盖多个实现期的排序条件是手动累积变量的最常用用例。在此示例中,考虑根据付款日期显示交易的规则,但佣金计算基于结束日期。佣金基于年度完成情况,因此,如果规则中计算的业务机会的结束日期跨越多年,则需要手动累积变量。如果业务机会都具有相同的结束年份,则累积变量可用,因为业务机会都使用相同的数据筛选器。

          如果并非所有交易都可以使用相同的数据筛选器,您可以为每个数据筛选器使用多个累积变量,或动态手动累积。通常,推荐手动累积变量,因为它需要更少的维护。但是,如果 let() 函数导致超时或内存问题,则需要多个累积变量。

          确定您想要计算的回溯时间。您可以在每笔交易完结时使用数据筛选器,但如果较短的时间段足够,请使用较小的数据筛选器。在此示例中,使用类似 ClosedInPast24Months 的内容替换 AllClosedOpportunitiesDataFilter。

          调整排序。此示例计算年度完成情况,规则中的业务机会的结束日期是 2022 年和 2023 年。对于 2022 年结束的交易,将 2022 年业务机会与当前交易相加,对于 2023 年结束的交易,将 2023 年业务机会相加。数据筛选器涵盖更长的周期,主要排序包含开始日期。

          let(ThisDealsCloseDate, CloseDate,
          let(ThisDealsId, Id, 
          sumif(AllClosedOpportunitiesDataFilter, 
              (CloseDate >= beginning_of_year(ThisDealsCloseDate) AND CloseDate < ThisDealsCloseDate) OR
              (CloseDate = ThisDealsCloseDate AND id < ThisDealsId)
          , ARR__c)))

          单排序示例仅涵盖了年初的数据筛选器,因此不需要开始日期筛选器。

          如果业务机会于 2022 年 8 月 15 日结束,ID 为 123456abcd,逻辑会将业务机会与这些条件相加。

          • CloseDate >= 2022-01-01 (beginning_of_year(2022-08-15))
          • CloseDate < 2022-08-15
          • CloseDate = 2022-08-15 AND ID < 123456abcd
           
          正在加载
          Salesforce Help | Article