Opzoektabellen en dynamische logica gebruiken in Salesforce Spiff
Hard-coded waarden en lange ketens van if() zijn moeilijk te onderhouden en creëren risico wanneer bedrijfsregels veranderen. Opzoektabellen, werkbladberekeningen en afschriftperioden bieden flexibele, dynamische commissielogica die zich aanpast aan veranderende invoer zonder wijzigingen in uw planconfiguratie.
Vereiste editions
| Beschikbaar in: Salesforce Classic (niet in alle organisaties beschikbaar) en Lightning Experience |
| Beschikbaar in: Enterprise, Unlimited en Developer Edition |
| Tegen bijbetaling beschikbaar in: Professional Edition met Web Services-API ingeschakeld |
Opzoektabellen gebruiken in plaats van geneste IF-instructies
Wanneer commissielogica vereist dat een invoer wordt gekoppeld aan een tarief of laag—bijvoorbeeld een percentage quotaverworvenheid dat wordt toegewezen aan een acceleratortarief—is een gebruikelijke eerste benadering het schrijven van een reeks if(). Deze benadering werkt voor een klein aantal lagen. Het wordt echter onhandig naarmate het aantal voorwaarden groeit en voor elke wijziging in een laag moet de formule rechtstreeks worden bewerkt.
Opzoektabellen lossen dit probleem op door de toewijzing op te slaan als gegevens. De berekening verwijst naar de tabel, zoekt de toepasselijke rij op basis van de invoerwaarde en retourneert de gekoppelde uitvoer. Het toevoegen, verwijderen of wijzigen van een laag betekent het bijwerken van de tabel, niet de formule.
Gebruik opzoektabellen in deze situaties.
- Uw commissielogica vereist meerdere voorwaardelijke vertakkingen.
- Tarieven of drempelwaarden worden bepaald door datums, territoria, productfamilies of andere kenmerken die tussen perioden veranderen.
- Meerdere plannen hebben dezelfde scorestructuur en één bron van waarheid.
Variabele bedragen opslaan in werkbladvelden
Hard-coded getallen in commissieformules creëren verborgen afhankelijkheden. Wanneer een tarief, drempelwaarde of quotabedrag verandert, moet de engine elke formule zoeken en bijwerken die de waarde bevat. Gemiste voorvallen veroorzaken onjuiste uitbetalingen.
Sla variabele bedragen op in werkbladvelden en verwijs naar die velden in uw formules. Wanneer een waarde verandert, werkt u het werkbladveld op één plaats bij. Alle formules die ernaar verwijzen, worden automatisch opnieuw berekend bij de volgende uitvoering van de instructie.
Werkbladvelden zijn geschikt voor deze typen waarden.
- Vaste commissietarieven of vermenigvuldigers die van toepassing zijn op een plan.
- Drempelbedragen, zoals minimale dealgrootte of quotadoelen.
- Korte lijsten van waarden, zoals in aanmerking komende productfamilies of regiocodes.
Q1MinDealSizeThreshold is gemakkelijker te vinden en te controleren dan een veld met de naam Threshold1.Verklaringsperioden gebruiken voor sleuteldatums
Berekeningen van de Commissie verwijzen vaak naar datums zoals het begin van een kwartaal, het einde van een fiscaal jaar of een specifieke sluitingsdatum voor een nieuwe planstructuur. Als u deze datums hard codeert, vereist elke periode handmatige formule-updates vóór de uitvoering van de berekening.
Gebruik datums van instructieperioden en berekeningen van werkbladen om datumlogica dynamisch te maken.
- Sla belangrijke datums — zoals begin van kwartaal, einde van kwartaal, begin en einde van eerste helft, en begin en einde van tweede helft — op in één speciaal werkblad. Verwijs naar die velden vanuit elke berekening die de datum nodig heeft.
- Vermijd het maken van afzonderlijke werkbladberekeningen voor elke maandelijkse waarde in een reeks. Zo wordt het maken van afzonderlijke
JanARR,FebARRenMarARRafgeraden. Retourneer die waarden dynamisch vanuit een gegevensfilter en gebruik in plaats daarvan datumbereikvoorwaarden. - Gebruik waar mogelijk de ingebouwde periodevariabelen voor instructies (
BeginningOfPeriod,EndOfPeriod) als basis voor datumberekeningen, zodat de logica automatisch wordt aangepast wanneer instructies voor verschillende perioden worden gegenereerd.
Het juiste niveau voor uw berekeningen kiezen
Overweeg of een berekening thuishoort op werkbladniveau of op gegevensbladniveau voordat u deze samenstelt.
Elk niveau dient een ander doel in uw commissieplan.
- Berekeningen van werkbladen. Beste voor waarden die van toepassing zijn op de instructie als geheel: vaste tarieven, totalen voor deals, quota's op periodeniveau en andere waarden die niet zijn gekoppeld aan afzonderlijke records. Werkbladberekeningen produceren één uitvoer voor de context van de instructie.
- Berekeningen van gegevensbladen. Het beste voor waarden die berekening per record vereisen: commissiebedragen op dealniveau, aanmerkingsvlaggen per record of elke berekening waarbij de uitvoer varieert tussen afzonderlijke records. Wanneer een definitieve uitbetaling een som is van bedragen op recordniveau, voert u de berekening uit in het gegevensblad en aggregeert u het resultaat in het werkblad.
Helperfuncties gebruiken voor eenvoudigere syntaxis
Spiff biedt helperfuncties die complexe standaardfuncties voor meerdere argumenten vervangen door eenvoudigere, beter leesbare syntaxis. Helperfuncties zijn uitwisselbaar met hun standaardequivalenten en produceren dezelfde uitvoer, maar verminderen de kans op syntaxisfouten en maken formules gemakkelijker leesbaar tijdens implementatie en controle.
Wanneer u een complexe functie tegenkomt die veel argumenten of geneste aanroepen vereist, controleert u of er een helperfunctie beschikbaar is voor die gebruikscase. Helperfuncties zijn met name waardevol tijdens een eerste samenstelling wanneer snelheid en leesbaarheid het belangrijkst zijn.

