Hakutaulukoiden ja dynaamisen logiikan käyttäminen Salesforce Spiffissa
Kovakoodattuja arvoja ja pitkiä if()-lausekkeiden sarakkeita on vaikea ylläpitää ja ne luovat riskejä, kun liiketoimintasääntöjä muutetaan. Hakutaulukot, laskentataulukot ja lausumien ajanjaksot tarjoavat sinulle joustavan ja dynaamisen palkkion logiikan, joka mukautuu syötettyihin tietoihin ilman, että sinun täytyisi muuttaa suunnitelmasi kokoonpanoa.
Vaaditut versiot
| Käytettävissä: Salesforce Classicissa (ei kaikissa organisaatioissa) ja Lightning Experiencessa |
| Käytettävissä: Enterprise Edition-, Unlimited Edition- ja Developer Edition -versioissa. |
| Käytettävissä lisämaksusta: Professional Edition ja Web Services API käytössä |
Hakutaulukoiden käyttäminen sisäkkäisten IF-lausekkeiden sijaan
Kun palkkiologiikka edellyttää, että syötetty tieto täsmätään suhteeseen tai tasoon — esimerkiksi kiintiön saavutuksen prosenttiosuus, joka kartoitetaan nopeutussuhteeseen — yleinen ensimmäinen tapa on kirjoittaa sarja if()-lausuntoja. Tämä lähestymistapa toimii pienelle määrälle tasoja. Se muuttuu kuitenkin vaikeaksi, kun ehtojen määrä kasvaa, ja jokainen tason muutos vaatii kaavan muokkaamisen suoraan.
Hakutaulukot ratkaisevat tämän ongelman tallentamalla kartoituksen datana. Laskutoimi viittaa taulukkoon, etsii asiaankuuluvan rivin syötetyn arvon perusteella ja palauttaa siihen liittyvän tuloksen. Tason lisääminen, poistaminen tai muuttaminen tarkoittaa taulukon päivittämistä, ei kaavaa.
Käytä hakutaulukoita näissä tilanteissa.
- Palkkiologiikkasi vaatii useita ehdollisia haaroja.
- Hinnat tai kynnysarvot riippuvat päivämääristä, alueista, tuoteperheistä tai muista attribuuteista, jotka muuttuvat ajanjaksojen välillä.
- Useilla suunnitelmilla on sama säännöstelyrakenne ja yksi totuuden lähde.
Tallenna muuttujien summia taulukon kenttiin
Palkkiokaavoissa olevat kovakoodatut numerot luovat piilotettuja sidonnaisuuksia. Kun suhde, kynnysarvo tai kiintiön summa muuttuu, järjestelmän täytyy löytää ja päivittää kaikki arvon sisältävät kaavat. Puuttuvat esiintymät aiheuttavat virheellisiä maksuja.
Tallenna muuttujien summia taulukon kenttiin ja viittaa niihin kaavoissasi. Kun arvo muuttuu, päivitä taulukon kenttä yhdestä paikasta. Kaikki siihen viittaavat kaavat lasketaan automaattisesti uudelleen seuraavalla lausekkeen suorituskerralla.
Laskentataulukon kentät soveltuvat seuraavantyyppisille arvoille.
- Kaikkia suunnitelmia koskevat kiinteät palkkiosuhteet tai kertoimet.
- Kynnysarvot, kuten diilien vähimmäiskoko tai kiintiöiden tavoitteet.
- Lyhyet arvojen luettelot, kuten hyväksyttävät tuoteperheet tai aluekoodit.
Q1MinDealSizeThreshold on helpompi löytää ja tarkastaa kuin kentän nimeltään Threshold1.Lausumien ajanjaksojen käyttäminen tärkeimmille päivämäärille
Palkkioiden laskutoimet viittaavat usein päivämääriin, kuten vuosineljänneksen alkuun, tilivuoden loppuun tai uuden suunnitelman rakenteen tiettyyn päivämäärään. Jos kovakoodatat nämä päivämäärät, jokainen ajanjakso vaatii manuaalisia kaavojen päivityksiä ennen laskutoimen suorittamista.
Käytä lausumien ajanjaksojen päivämääriä ja laskentataulukoita tehdäksesi päivämäärälogiikasta dynaamisen.
- Tallenna tärkeimmät päivämäärät — kuten vuosineljänneksen alku, vuosineljänneksen loppu, ensimmäisen puoliskon alku ja loppu sekä toisen puoliskon alku ja loppu — yhteen erilliseen taulukkoon. Viittaa näihin kenttiin kaikista laskutoimista, jotka tarvitsevat päivämäärän.
- Vältä luomasta yksittäisiä laskentataulukoita sarjan jokaiselle kuukausittaiselle arvolle. Esimerkiksi erillisten
JanARR-,FebARR- jaMarARR-kenttien luomista ei suositella. Palauta nämä arvot dynaamisesti datasuodattimesta ja käytä sen sijaan ajanjaksoehtoja. - Käytä sisäänrakennettuja lausumien ajanjaksomuuttujia (
BeginningOfPeriod,EndOfPeriod) päivämäärälaskentojen perustana aina, kun se on mahdollista, joten logiikka mukautuu automaattisesti, kun lausumia luodaan eri ajanjaksoille.
Laskutoimillesi sopivan tason valitseminen
Mieti, kuuluuko laskenta työkirjan tai datasivun tasolle ennen sen rakentamista.
Jokainen taso palvelee erilaista käyttötarkoitusta palkkiosuunnitelmassasi.
- Tyyppiset laskutoimet. Paras vaihtoehto arvoille, jotka koskevat koko lausuntoa — kiinteät maksut, diilien kokonaissummat, ajanjaksotason kiintiöt ja muut arvot, joita ei liitetä yksittäisiin tietueisiin. Laskentataulukot tuottavat yhden tuloksen lausekkeen asiayhteydelle.
- Datataulukkojen laskennat. Soveltuu parhaiten arvoille, jotka vaativat tietuekohtaisen laskennan — diilitason palkkioiden summat, tietuekohtaiset oikeutusmerkinnät tai mikä tahansa laskenta, jossa tulokset vaihtelevat yksittäisten tietueiden mukaan. Kun lopullinen maksu on tietuetason summien summa, suorita laskenta datasivulla ja aggregoi tulokset laskentataulukossa.
Helper-funktioiden käyttäminen yksinkertaisempaa syntaksia varten
Spiff tarjoaa avustajafunktioita, jotka korvaavat monimutkaiset, usean argumentin vakiotoiminnot yksinkertaisemmalla ja luettavammalla syntaksilla. Helper-funktiot ovat vaihtoehtoisia vakiomuotoisille vastaavilleen ja tuottavat saman tuloksen, mutta ne vähentävät syntaksivirheiden todennäköisyyttä ja tekevät kaavoista helpommin luettavissa toteutuksen ja auditoinnin aikana.
Kun kohtaat monimutkaisen funktion, joka vaatii useita argumentteja tai sisäkkäisiä kutsuja, tarkasta, onko kyseiselle käyttötarkoitukselle käytettävissä avustajafunktio. Avustaja-funktiot ovat erityisen arvokkaita alustavan muodostuksen aikana, kun nopeus ja luettavuus ovat tärkeimpiä.

