Tables
Tables are the starting point for building a model in Varicent Incentives.
You can edit the database structure to store the metrics that are needed for compensation calculations by adding fields or entire tables.
For example, you might need to include commission rates or quotas by customer, product, or payee. Use the Composer module to add that information to an existing table, such as the Payee table, or you can choose to add a new table for lookup purposes. The rate and quota information can be retrieved later for calculations.
When you add a model, the hierarchy tables (Payee, Account, and Time), are displayed in the top level of the Composer module. The hierarchy tables, and any other tables that you add, can be moved by cutting and pasting, as long as the table is not used as a source.
To learn more about using tables in the Composer module, take the Exploring Designing Tables in Incentives and Exploring Creating Incentives Tables with Composer courses.
Table types
In every model, Varicent Incentives adds system tables when the model is created. In addition to these system tables, you can create data, structural, custom, hierarchy, and view tables.
After a table is created, new fields can be added and existing fields can be deleted. However, the primary key structure of the table cannot change and adding or deleting primary key fields is not permitted after table creation.
Custom tables
Custom tables are used to help define the structure of your model in Incentives. Custom tables are customizable.
Because you can add multiple primary key columns to a custom table, pick lists cannot pick from custom tables.
Custom tables can be created for multiple purposes. One common use of a custom table is to contain data for reference values that vary by one or more key members, or that exist in the form of a lookup. As a reference for compensation calculations, you can add a custom table to hold compensation rates that vary by product and by quarter, or multipliers that define benefits based on a percent of quota attainment. For example, a custom table might contain the format displayed in the following table.
Product | Quarter | Compensation Rate |
---|---|---|
100 | Quarter 1 | 8.00% |
100 | Quarter 2 | 7.95% |
100 | Quarter 3 | 7.75% |
Data tables
In Incentives, create data tables to store transactional data, such as lists of sales or orders.
A data table contains a date field, but you can add other fields as needed. When periods are locked, all data tables that are associated with the locked calendar are locked by the Date field in the table (other table types are not locked). If more than one Date field exists in the data table, you must select a Lock by Date when the table is created to specify which field to use to lock the table.
Hierarchy tables
Hierarchy tables contain relationships that are necessary to analyze and manage organizational data in Incentives.
After a model is created, the Account, Payee, and Time hierarchy tables are created automatically.
More hierarchy tables can be added after the model is created. Common hierarchy examples include product, customer, and territory hierarchies.
Hierarchies use parent-child relationships to organize structural information. In a parent-child hierarchy, two table columns define the hierarchical relationships among the data records. The primary key column uniquely identifies each record and a parent column identifies the parent of each record. Each parent can have many children, but each child can have only one parent.
There are two ways you can set up your hierarchy tables:
Self-referential - this means that the parent column in hierarchies has a self-referencing relationship, or self-join, within the table. To set a parent for a child record, that parent record must already exist within the table.
Sourced from an external pick list - this means that you can select an external table to pull data from. This lets you choose both parent and child records from a pick list sourced from your external table.
For example, you can manually add payee information to a hierarchy table and create the structure as you add records. Alternatively, you could source payee data from an external table and use the hierarchy table to create an organizational structure for your payees. No matter the approach, your hierarchy table may resemble the following example, where the Parent column contains the PayeeID for each payee's manager.
PayeeID | Name | Parent |
---|---|---|
E010 HUDDLE | Dan Huddle | E030 CLARKSON |
E020 HUMPHREY | Darnell Humphrey | E030 CLARKSON |
E030 CLARKSON | Debbie Clarkson | E040 YOUNG |
E040 YOUNG | Diana Young | E210 KAREY |
E210 KAREY | Doug Karey |
If we were to view this table in the hierarchy structure view, it would look something like this:
E210 KAREY (Doug Karey)
E040 YOUNG (Diana Young)
E030 CLARKSON (Debbie Clarkson)
E020 HUMPHREY (Darnell Humphrey)
E010 HUDDLE (Dan Huddle)
The following table describes the hierarchy tables that are added automatically when you create a model.
Table | Description |
---|---|
Payee | This table is used to store data about individuals who are being compensated by, or who are approving, variable compensation payments. It contains many of the fields that are typically needed to organize payee information. You do not need to use columns that do not suit your organization, and you can add more columns to the table as required. The primary key column is the Payee ID column. The Parent column identifies the groups that your payees are organized into. For example, because payees are often grouped into territories, the Parent column is often used to store payee territories. |
Accounts | This table is used to store loaded values from your source system and output values. The accounts are typically a subset of the general ledger chart of accounts and are associated with commissions and other variable compensation payments. By default, the table contains AccountID, Name, Parent, and DrCr fields. In this table, the account ID column is the primary key field. The Parent column is used to organize your account IDs into groups. For example, general ledger accounts are typically grouped by account type, so the account type is stored in the Parent column. |
Time | This table is used to store the payroll periods calendar. This table is the only hierarchy that is not displayed as a table in the Composer or Data modules. |
Structural tables
Structural tables help to define the structure of your model in Incentives. Structural tables are customizable.
Because you can add only one primary key column in a structural table, pick lists can pick from structural tables.
System tables
System tables are automatically added in Incentives. System tables include the Title, Salutation, Currency, Group Member, Country, Status, and PayeeEffectiveDatedInfo tables.
System tables are added to contain common attributes for fields in the Payee table. The Title, Salutation, and Payee Currency fields in the Payee table are populated with information from their respective system tables. Therefore, all possible titles, salutations, and currencies that are needed by the Payee table must be listed in the system tables. More fields can be added to system tables as needed.
Table | Description |
---|---|
Title | This table contains a TitleID field and a Title field. The Title column in the Payee table picks from the TitleID field in the Title System table, so all job titles attributed to any payee in the Payee table are loaded into the Title table. More fields can be added to this table if needed. |
Salutation | This table contains a Salutation column and is pre-populated with common salutations. The Salutation field in the Payee table picks from the Salutation table, so any salutations attributed to any payee in the Payee table must be loaded into the Salutation table. More fields can be added to this table if needed. |
Currency | This table is populated with USD after model creation. More currencies can be added if necessary. This table contains a CurrencyID field and a Name field. The Payee Currency field in the Payee table picks from the Currency table, so any currencies needed to pay any payee must be contained in the Currency table. More fields can be added to this table if needed. |
Group Member | This table contains the PayeeID, Name, Start date, and End date for each payee that has been added to a Payee Group. The Group Member table is created automatically and its structure cannot be edited. The primary key field for this table is the GroupID, which is automatically generated. This table can be used as a calculation source, but you cannot view its structure or contents. |
Country_System | The PayeeEffectiveDatedInfo table picks from this table to populate the CountryID column. It lists all of the countries that the payees in the Payee table are from. More fields can be added to this table if needed. |
Status_System | The PayeeEffectiveDatedInfo table picks from this table to populate the StatusID column. It lists the statuses that a payee in the Payee table can hold; by default, these statuses are Active and Inactive. More fields can be added to this table if needed. |
PayeeEffectiveDatedInfo_System | This table is used to track the entitlement usage of payees in the model through the PayeeTypeID (Standard/Non-Standard) and StatusID (Active/Inactive) columns. All payees in this table must also be in the Payee table. More fields can be added to this table if needed. |
View tables
In Incentives, you can use a view table to display results that are contained in two different sources.
Views do not contain their own unique data sets. Use a view to join tables together to create a view of two tables.
With views, joins can contain tables and the results of calculations. When you add calculations, you cannot use views as data sources. Instead, add columns to the original data source during the calculation creation process. Because views cannot be used as data sources, they also cannot be made into global tables. Views are not accessible from the Sales Portal.
When you add a view, you join two or more tables based on a point of commonality. For example, consider a situation where you join a Product table to a Payee table to display the products that were sold by each payee. If you restrict your results based on the payee ID, you receive the following results:
PayeeID | Name |
---|---|
001 | John Smith |
002 | Sue Jacob |
003 | Marc Frederick |
004 | Mary Scott |
ProductID | ProductName | PayeeID |
---|---|---|
123 | Printer | 001 |
234 | Cable | 001 |
345 | Monitor | 003 |
PayeeID | Name | ProductID | ProductName |
---|---|---|---|
001 | John Smith | 123 | Printer |
001 | John Smith | 234 | Cable |
003 | Marc Frederick | 345 | Monitor |
Important
In the preceding example, no data is displayed for Sue Jacob or Mary Scott because there are no corresponding product sales for those payees.
Table structure
In Varicent Incentives, when you add data, structural, custom, and view tables in the Composer module, you must add columns to the table to create the structure of the table.
Table column types
In Incentives, you can define the structure of tables using several different column types.
The following types of columns can be used to create your table schema.
Column Type | Description |
---|---|
Text | Can contain any numeric, alpha, or symbol, but cannot be used in a formula. Text fields have a limit of 100 characters. |
Date | Can contain any data in a date format ( |
Numeric | Can contain only figures and can be used in formulas. A numeric column can contain up to 28 integers and 14 decimal places. |
Pick List | A link to another table. Values that are loaded into this field must be contained in the linked table or they will be rejected during an import. Pick lists are ideal for situations where the data that you need exists. For example, you can add a pick list for the payee ID. If you want to add a data table that contains accounts, dates, payees, values, and customers, you can define pick lists for accounts and payees. ImportantPick lists can only pick from hierarchy and structural tables. |
A column similar to Text but with extra validation to restrict the input to email addresses. | |
Comment | A column that is designed for longer text input. Comment fields have a limit of 1000 characters. |
URL | Restricts input to valid URLs. |
Table columns between components
The table schema for all tables is globally available throughout a model in Incentives, regardless of the component that contains the table.
You can add a table in a component that requires a column from another component. For example, your Payee table is in one component and you add a custom table in another component. Your custom table contains a payee ID column that pick lists from the Payee table. Because the table schema is universally accessible, tables can pick from other tables that are in different components.
Primary keys
In Incentives, a primary key ensures that each record in a table is unique, allowing each row to be distinctly identified. It is essential for building a reliable, efficient, and well-organized database schema and is vital for maintaining the database's structure and integrity.
Duplicate records with the same primary key combination are not allowed during import. If this occurs, the entire import batch is rejected for review and correction. For example, if the payee ID is your primary key, no two rows in the table can have the same payee ID. In some cases, tables can have multiple primary keys. If you create a custom table where both the payee ID and date columns are defined as primary keys, no two rows can have the same combination of payee ID and date.
Note
Though you can create unique primary keys by combining data from multiple columns, it is best practice to keep the number of keys as low as possible. For example, in tables used for crediting transactions, it’s recommended to use just one TransactionID column to optimize performance.
Table creation
In Varicent Incentives, you can create tables to store data required for compensation calculations.
To learn more about creating tables in the Composer module, take the Exploring Creating Incentives Tables with Composer course.
Adding tables
In Varicent Incentives, add tables in the Composer module to contain data that is required for your model.
In the Composer module, open the component that you want to add the new table to.
From the Palette tab, drag the Table object into the component.
From the Table type drop-down list, select the type of table that you want to create and click Next.
Type a name and description for the table and click Save. The table name cannot contain spaces.
If you want this table to contain effective dates, select the Effective dated checkbox.
Type a name for the primary key field and select the column type from the Type drop-down list.
Important
Each field in the table must have a unique name. Field names can contain spaces. Field names cannot be changed after the table is added.
Click Add a column to add more fields to the table.
For each field that you add, perform the following steps:
If the field is a primary key field, select the ID checkbox.
Type a name for the new field.
From the Type drop-down list, select the column type.
If you select Pick List as the column type, define the pick list field.
Click Create.
Note
All newly created tables are set to Global by default.
Defining pick list field types
If you selected pick list as a field type in a table in Varicent Incentives, you must define the source to populate the pick list.
In the Composer module, add or edit the table.
From the drop-down list, select the table and column to populate the pick list.
For example, if you link to the Payee table, you might want the description column to be the Name column.
Click Add filter to restrict the rows available for the pick list.
Add any Data sources to filter your data.
Click Next.
Define any Restrictions and then click Create.
For example, you can add a table with a Payee column that contains transaction information for Regional Sales Managers. After you add this filter, only payees with the job title Regional Sales Manager can be added to the new table.
Note
Data that is imported into the table will bypass the filter. The filter will apply to data added through the row viewer.
All linked fields are attached to a source table. Review the structure of all source tables before you exit.
Adding data tables
In Varicent Incentives, you can add a data table that can be used to hold transactional data.
In the Composer module, open the component that you want to add the new table to.
From the Palette tab, drag the Table object into the component.
From the Table type drop-down list, select Data and click Next.
Type a name and description for the data table and click Save.
To define the primary key, select the ID check box next to the field.
Important
Although data tables can contain multiple primary key columns, to simplify the partitioning process during calculation creation, use only one column, such as a transaction ID column.
Click Add a column to add more fields.
Type a name for the field and, from the Type drop-down list, select a field type.
Define any pick list columns.
If your model contains more than one calendar, from the calendar drop-down list, select the calendar that you want to associate with this data table.
If your data table contains more than one date field, from the Select lock date drop-down list, indicate which date field to lock by when a period is locked.
Click Create.
Adding view tables
You can add a view table to display results from two different sources in Varicent Incentives.
Note
If you're using an Varicent Cloud model, you have the option to convert to a materialized view when creating a view table. Read Using materialized views for more information.
In the Composer module, open the component that you want to add the new table to.
From the Palette tab, drag the Table object into the component.
From the Table type drop-down list, select View and click Next.
Type a name and description for the View table and click Save. The name cannot be edited after it is created.
From the Data Sources tab, define the Data sources for the View.
On the Restrictions tab, define any Restrictions for the joined sources and View table.
On the Display Columns tab, select the columns that you want to display in the View table. Each column must be unique.
Click Create.
Using materialized views
If you're using an Varicent Cloud model, you have the option to convert a view table to a materialized view, or to remain in the default view.
Important
This option is only available for Varicent Cloud models.
Tip
When a database view is used in a Database import SQL query, it is generated at the time of execution, potentially impacting performance. Converting the view to a materialized view can improve performance, particularly for larger views, as the data is precomputed and stored, eliminating the need for regeneration with each execution.
Follow the steps to add a View table from the Composer module.
Click Convert to Materialized View.
To convert back to the default view, click Convert to View.
Materialized views need to be refreshed often in order to ensure your data is up to date. To refresh your view:
In the Composer module, click the table with the materialized view.
Click View data.
Click Refresh data.
You can also schedule a refresh of your materialized view in the Scheduler module.
Editing view tables
In Varicent Incentives, you can edit the sources, detail columns, restrictions, and column names of a view table in the Composer module.
In the Composer module, click the view table you want to edit.
Click Edit.
Edit the source, joins, columns, restrictions, or column names. You cannot edit the name of the view table.
Important
If you make a change to a view table, an entry is made on the Audit page indicating that the view table was edited.
Adding hierarchy tables
In Varicent Incentives, you can add a hierarchy table that can be used to structure your data into hierarchical relationships. This is useful when creating a organization chart showing manager to payee relationships, or when organizing territory data.
In the Composer module, open the component that you want to add the new table to.
From the Palette tab, drag the Table object into the component.
From the Table type drop-down list, select Hierarchy and click Next.
Type a name and description for the hierarchy table and click Save.
If you want this table to contain effective dates, select the Effective dated check box.
If you want this table to pick list from an external source, select the Set parent and child association from external source check box.
From the Table drop-down, select the table to use as a source for your pick list.
From the Column drop-down, select the column that will populate the pick list.
If required, select the Filter check box, and then click Add filter to restrict the rows available for the pick list.
Click Next.
Note
If you chose to pick list from an external source, you will have two columns, Child and Parent. You can rename these columns as required. If you did not choose to pick list from an external source, your hierarchy table will be self-referencing. You will have 4 columns, ID (this is the primary key column), Name, Parent, and Comment. The Parent column pick lists from the ID column. You can't rename these columns.
Click Add a column to add more columns.
Type a name for the column and, from the Type drop-down list, select a field type.
Define any pick list columns.
Click Create.
Viewing and editing hierarchy data
You can view your hierarchy data in a nested structure. This lets you visualize the parent and child relationships in your data. You can also add, edit, and delete rows in this view, as well as reparent child rows.
In the Composer module, select your hierarchy table.
Click Show more on the menu.
Click View as Hierarchy.
Click the Expand All icon to expand all rows.
Edit your hierarchy data as required:
Action
Steps
Add rows
Click the Add icon
.
Enter data into your fields as required.
Click Create.
Edit rows
Click the record you want to edit.
Click the Edit icon
.
Edit the fields as required.
Click Submit.
Delete rows
Click the record you want to delete.
Click the Delete icon
.
On the confirmation dialog, click Delete.
Note
If you delete a parent record, all children under that record will also be deleted.
Reparent rows
There are 3 ways to reparent rows:
Edit a record and select a new parent from the drop-down field.
Click and drag a record under a new parent.
Click a record and then click the Cut icon in the toolbar. Click a new parent record and then click the Paste icon to move your record under it.
Defining global tables
In Varicent Incentives, global tables are visible as source from any component in your model.
Note
All newly created tables are set to Global by default.
You can change an existing table that's already being used in connections into a global table. But, a table can't be made global if it has the same name as a connection, or if it's a view table.
From the Composer module, find the table you want to change into a global table.
Click Show more → Global.
Viewing and editing table structure
In Incentives, you can view, add, or remove columns from a table in the Composer module.
In the Composer module, click the table → Edit.
You can perform the following actions on the table:
Action
Description
Delete columns
Click the Delete icon
next to the column.
Add columns
Click
Add a column.
When you are done making your changes, click Save.
Important
Account tables and tables that are used by inbound or outbound connections are displayed in read-only mode and cannot be edited.
Deleting tables
In Varicent Incentives, you can delete a table from the Composer module as long as it doesn't have any dependencies.
In the Composer module, select the table.
In the Composer toolbar, click the Delete icon
.
Click Delete.
Note
When a table is deleted on front end, the history table is also deleted.
Copying tables
In Varicent Incentives, you can duplicate tables in the Composer module, and rename them by adding a suffix.
In the Composer module, select the table that you want to copy.
In the toolbar, click the Copy icon
.
Important
You cannot copy system or hierarchy tables.
In the component where you want to paste the table, in the Composer toolbar, click the Paste icon
.
Type a suffix for the new table name.
Click Save.
Viewing table dependencies
You can view a list of all calculations, web forms, input forms, or other tables that use the selected table as a source in the Varicent Incentives model.
In the Composer model, click the table you want to view the dependencies of.
Click Show More → Used By....
The objects that use the selected table are listed in the sidebar.
Table data edits
In Varicent Incentives, you can edit the data in the tables in your model.
For example, if an organization wants to add a commission rate for each payee, the model administrator can add a commission rate field to the Payee table. Then, each payee in the system has a commission rate attribute that can be imported (or manually entered) and then used in calculations.
When you open a table for viewing or editing, any columns that contain a key icon in the header are the primary key columns. If you do not have access to edit certain columns, those columns are not available.
The following options are available when you open a table for editing.
Option | Description |
---|---|
Add | Add a row of data to the table in an unlocked period. |
Edit | Make changes to the row data if the row is in an unlocked period. Primary key fields cannot be changed. |
History | View details of every change that is made to that row. History includes edits that are made in both locked and unlocked periods. |
Delete | Delete a row in an unlocked period. |
Version | View versions of rows in effective dated tables. |
Import | Import data into the table from a file. |
Publish | Send the contents of the selected rows to Excel, Dynamics CRM, PDF, Salesforce.com, or a text file. |
Edit Visualizations | Add visualizations to your tables. |
You can also organize your view of the table data beyond the filters in the table by using the Row Viewer.
Adding columns to your table
In Varicent Incentives, you can add a new column to your table.
In the Composer module, find the table that you want to add a column to.
Click Edit.
Click
Add a column to add a new column to the table.
Enter the data in the appropriate fields.
Click Save.
Changing the default edit date for a table
You can change the default edit date that's displayed when you add a record to a table that contains a date field in Varicent Incentives. The default edit date can be either today's date or the first day of the fiscal year.
From the admin panel, click Settings
→ More options.
On the General tab, from the Default Edit Date drop-down list, select the date that you want to use.
Click Save.
Deleting multiple rows in a table
In Varicent Incentives, you can filter and delete multiple rows from a table at one time if the rows are not locked, and if the table is not a View table.
When you delete rows from a table or clear an entire table, all child table records that have pick listed columns that are linked to the table are also deleted.
When you try to delete rows that are pick listed by other tables, a warning message is displayed that identifies the tables whose records are deleted. You can view the dependent tables that are affected by clearing the table.
This action will be recorded on the Audit page, along with the start and finish time of the row deletion operation.
This operation deletes the selected rows in the table as well as all referencing rows from other tables. This action cannot be undone.
In the Composer module, select the table that you want to delete rows from.
Click Show More → Data.
Select Delete Rows.
Define the Restrictions to filter the rows that you want to delete.
Important
If no restrictions are defined, the entire table is cleared.
Click Preview to see all rows that are deleted based on the restriction.
Important
If there are more than 1,000 rows in the preview, only the first 1,000 records are shown.
Click Delete.
Purging table and calculation data
In Varicent Incentives, you can clear the data from calculations and data type tables that are associated with a period in a specific calendar. Data in data tables and calculations is removed up to and including the selected period.
You can purge periods on both data tables and calculations, or on calculations only. In data tables, rows with dates in the Locked by date field that are at or before the last date in the selected period are removed. In calculations, rows that have a partition at or before the selected period are removed. The periods must be locked before you purge calculation data or the purged records will be added the next time that the model is calculated. This action includes any locked data, but doesn't include data in history tables.
Important
Purging periods is a global action that can't be undone. You must have the appropriate permission to complete this action. This action is irreversible.
In the Composer module, from the toolbar, click Purge Periods
.
Select the calendar.
Select the level of the calendar.
Select the period. Data that is associated with all periods up to and including the selected period will be cleared.
From the Mode menu, select All Tables and Calculations, All Calculations, Selected Tables, or Selected Calculations.
If you select either Selected Tables or Selected Calculations, a table containing a list of tables or calculations that use the selected calendar will appear. Click the checkbox beside each table or calculation to purge.
Click Purge Periods.
After confirming your selections, click Confirm.
Clearing tables
In Varicent Incentives, you can delete the entire contents of a table without deleting the table itself.
If you're clearing a large table, you must run a model optimize first.
You receive a warning message when you try to clear a table that contains a key column that is pick listed by other tables. You can choose to continue with the deletion or cancel the action. You can click the Details button to view the dependent tables that are affected by the table clearing. The warning message can be turned off in the Admin options.
To use the clearing tables feature, you must have view and edit permissions for the Composer module, as well as the component in which the table resides. If the table is in the top level of the Composer module, then you must have → permission. You must also have view and edit permissions for the structure of the table that you want to clear.
Table clearing can be scheduled by using the Scheduler module.
Important
Table clearing can't be undone.
In the Composer module, select the table that you want to clear.
Click Show More → Data.
Select Clear Table.
Click Yes to confirm.
Finding and replacing data in a table
Use the data transformation feature to find and replace data in any table in Varicent Incentives.
This procedure is useful when there is an error in source data that affects multiple rows of data in a table. Rather than manually adjusting each row, you can make the change simultaneously across multiple rows.
From the Composer module, find the table with the data you want to transform.
Click Show More → Data.
Select Transform.
In the Look in field, select the column you want to search in.
In the Make change in field, select the column that you want to make the change to.
In the Find field, type the value you want to find in the Look in column.
Important
In the Find field, asterisks (*) act as wild cards and underscores ( _ ) act as placeholders. If the Find field is blank, the engine searches for empty cells in the specified column.
In the Change to field, type the value that you want to input in the Make change in field.
If you want to save the transformation, select the Save transformation checkbox and type a name for the transformation.
After a data transformation is saved, it can be accessed for editing or deletion. Saved data transformations can also be scheduled to run at predefined times through the Scheduler Module.
Click OK.
For each row where the Look in column cell value equals the Find value, the corresponding cell in the Make change in column contains the Change to value.
Effective dates in tables
In Varicent Incentives, you can create hierarchy, custom, and structural tables that include effective start and end dates.
Multiple versions of the same record can be added to a date effective table by setting different effective start and end dates for each record. Incentives maintains the start and end dates for all records as changes occur to the data over time. For example, you can change the job code for an employee on February 1, 2015 and both job codes for the employee can exist in the table with different start and end dates.
Records are viewed as of a defined date that's known as the effective date. A user's selected effective date must fall between a record's start and end dates.
If a table with effective dates contains a column that pick lists to another table with effective dates, the records that are available to pick from in the list are based on the selected effective date. If a value in the pick listed table doesn't exist for the selected effective date, it's not displayed in the list.
Tables with effective dates can't be modified through the Sales Portal.
To learn more about using effective dated tables in Incentives, take the Working with Effective Dated Tables in Incentives course.
Adding tables with effective dates
In Incentives, you can add effective dates to records in hierarchy, custom, and structural tables.
The effective start date is automatically added with the user-identified columns as part of the table's primary key.
In the Composer module, add a hierarchy, custom, or structural table.
Type a name for the table and click Save.
Select the Effective dated checkbox.
An Effective start column and an Effective end column are automatically added to the table.
Converting tables to effective dated tables
In Incentives, you can convert any hierarchy, custom, or structural table to a table with effective dates.
Two effective date columns, Effective_Start and Effective_End, are added to a table when it's converted. You can convert a table by using existing date columns as the effective start and effective end dates. The values in the start date column must be earlier than the values in the end date column. The process of converting a table to an effective dated table cannot be reversed. If a table pick lists from a parent table, the table must be converted before the parent table can be converted.
Tables can't be converted if they're used in the following ways:
Row form source in Presenter reports
Data source for data grids with editable columns in Presenter
Row forms or admin forms in web forms
Web form sources with editable columns
Editable through the Sales Portal
Saved transformations
Main sources in unions in data stores and calculations that do not already have columns that can be mapped to the Effective_Start date column and Effective_End date column
In the Composer module, find the table that you want to convert.
Select one of the following options to convert the table into an effective dated table:
Click Show More. → Make Effective Dated.
In the toolbar, click the Make Effective Dated icon
.
For existing tables that have manually created Start and End dates, you must map the existing effective dated column names of the newly created Effective_Start and Effective_End dates. Complete the following steps:
Note
For existing tables that do not have manually created Start and End dates (for example, all structural tables), skip to the next step.
Select the date column that you want to use as the Effective_Start date for the table.
Select the date column that you want to use as the Effective_End date for the table.
Verify that the Remove Mapped Columns checkbox is selected. This check box must be selected for all tables that have existing dates that are being mapped to newly created Effective_Start and Effective_End dates.
Click Finish.
The Audit page displays an event record that indicates that the table was successfully converted to a table with effective dates. If a column is removed during the conversion, an event is displayed on the Audit page.
Viewing data in tables with effective dates
In Varicent Incentives, you can view data in an effective dated table as of a defined date.
When you first open a table, the selected effective date is based on the Locked Through date in the calendar. The effective date defaults to the first calendar day after the latest Locked Through date. When you open a table and set a new effective date, the application saves the effective date to be used across all tables for your individual session.
In the Composer module, click the effective dated table.
Click View Data to open the Row Viewer.
In the toolbar, click the View All icon to activate the date selection field.
In the date selection field, select an effective date by which to filter data.
Data that is valid on the selected date is displayed.
Viewing multiple versions of data in tables with effective dates
In Varicent Incentives, you can view all versions of a record in an effective dated table.
In the Composer module, click the effective dated table.
Click View Data to open the Row Viewer.
Select the effective date.
Select the record for which you want to view all versions.
In the toolbar, click the Version
icon.
Adding versions of records to tables with effective dates
In Varicent Incentives, you can add multiple records that are the same but have different start and end dates. Incentives ensures that each version doesn't overlap with another version of the same record.
When a record is added, Incentives matches the start date of the record with the effective date that you selected. The application also checks to see if future versions of the same record exist. If so, the application displays those records for you.
If you click View All, all the records in the table are displayed.
In the Composer module, click the effective dated table.
Click View Data to open the Row Viewer.
In the toolbar, click the View All icon to activate the date selection field.
In the date selection field, select the new effective start date for the record.
Select the record in the table that you want to edit.
Click the Edit
icon in the toolbar.
Make the necessary changes to the available columns.
These values must be different from previous values or no changes are made to the record and no records are added.
Click Submit.
The application automatically adds the new version of the record and updates the previous version's effective end date.
If you change a record in which edits to that record occur with a future effective date, in the Manage Future Versions window, you must select one of the following options:
Option
Description
Overwrite
Overwrites all future versions of the record that exists.
Keep
Adds this version to existing future versions of the record.
You can continue to add new versions of the record by selecting a new effective start date, entering new values on the Row Editor tab, and clicking Submit.
Setting end dates for records in tables with effective dates
In Varicent Incentives, you can select a date on which the record is no longer effective.
The effective end date is the date on which you want the record to no longer be effective.
In the Composer module, click the effective dated table.
Click View Data to open the Row Viewer.
In the toolbar, click the View All icon to activate the date selection field.
In the date selection field, select the effective end date for the record.
Select the record to which you want to add an effective end date.
In the toolbar, click Set End Date.
Click OK.
The application refreshes the window and displays the record's effective end date.
Deleting multiple versions of records in tables with effective dates
In Varicent Incentives, you can remove one or more versions of a record in a table with effective dates.
If you remove a single version of a record, a gap in time for the record might occur. If a gap occurs, the effective dates of other records can be adjusted to fill the gap.
In the Composer module, click the effective dated table.
Click View Data to open the Row Viewer.
Select the record for which you want to view all versions.
In the toolbar, click the Version
icon.
Select the version of the record that you want to remove and click Delete.
If a gap in time occurs because of the record deletion, you must choose one of the following options to fill the gap:
Option
Description
From Past
The previous version is effective for the deleted time frame.
From Future
The future version is effective for the deleted time frame.
None
No changes are made to the effective dates of the existing versions.
Table history
You can choose to enable or disable the recording of history for tables in Incentives. You can also clear the history that is collected for tables to improve the performance of your model.
When you add a data, custom, or structural table, a corresponding history table is also added. The purpose of history tables is to track any insertions, updates, and deletions of data into the tables.
Administrators can grant users permission to purge the history of tables, and they can also enable or disable the recording of history for tables. If tables are recording history in Incentives, and you have the appropriate permission, you can clear the history for tables from the Composer module or schedule the clearing of history for tables in the Scheduler module.
To learn about managing table history from the admin panel, read: Managing table history tracking.
Viewing the history of a table
The History Viewer in Incentives allows you to view how a table, with history tracking enabled, has changed over time.
In the Composer module, click the table you want to view the history of.
Click Show More → Data → View History.
From the History Viewer, you can choose which date range you want to view your table's history for, or export the table's history.
Purging history for a single table
You can delete the recorded history of a table in Incentives.
If you want to purge the history of a data table, you must specify a date range. Only items that fall in the data range selected are removed. Administrators must grant users permission to purge history.
In the Composer module, find the table that you purge the history of.
Click Show More → Data.
Select Purge History.
If you selected a data table, select a date range for which to purge history.
Click OK.
Purging history for multiple tables
In Incentives, you can clear the history for specified tables, including data from any locked periods.
In Composer, from the toolbar, click Purge History.
Select the table or tables for which you want to remove history.
Select a date range for the history that you want to purge.
Click OK.
Web data
You can enable specified tables for review and edit through Sales Portal.
Tables with effective dates can't be modified through Sales Portal.
Imagine an instance where data imported from a source system is incomplete or contains errors. To correct missing or incorrect data, tables can be enabled for web review and certain columns can be made editable. Specified users can then log in to Sales Portal and edit the erroneous table data.
For example, a compensation plan might require managers to supply weekly performance ratings for their subordinates. Managers can submit these metrics through the Data Edit tab on Sales Portal. For more information on the Sales Portal, see the Sales Portal guide.
Defining accessible information for Sales Portal
In Varicent Incentives, you can define the table columns that are accessible and editable to specified users on Sales Portal.
In the Composer module, select the table.
Click Show More → Web data edit.
Select Edit column permissions.
Next to each web user, select the columns that you want to make editable for that user.
Important
After a table is enabled for web review, you cannot restrict which columns are available for review. All columns are displayed.
To enable an entire group of payees to be able to edit a particular column, perform the following steps:
For example, you might want all payees with the job title Sales Manager to be able to edit the Quota column of the selected table.
Click Enable Group.
Select a source or sources that can be used to define the payee group.
On the Restrictions tab, define your Restrictions based on that source.
For example, drag Title to the pane and make it equal to Sales Manager.
On the Select Columns tab, define the columns that you want to make editable.
After you set your restrictions, every payee in your defined group can edit the specified columns.
Click Finish.
Restricting visible rows for tables on Sales Portal
In Varicent Incentives, you can restrict the table rows that are displayed on Sales Portal.
For example, you might want to make sure that payees can view and edit only their own information. In this case, you can restrict results to a subset of all data in a particular table.
In the Composer module, find the table that you want to restrict the rows for.
Click Show More → Web data edit.
Select View Restrictions.
Define the parameters of your Restrictions.
Click OK.
Enabling direct editing on Sales Portal
In Varicent Incentives, if you enable direct editing for a table, users can make changes to the table through Sales Portal without administrator approval.
All users with web access to the selected table can edit column information without requiring approval. Typically, all edits that are made in the Sales Portal must be approved by an administrator before the change can be stored permanently in the database.
Enable direct editing with caution. If it is not enabled, administrators can approve each edit individually, or approve all edits at once.
In the Composer module, select the table you want to edit.
Click Show More → Web data edit.
Select Direct Edit.
Click OK.
Approving Web data edits
In Varicent Incentives, after web users have submitted changes to tables on Sales Portal, administrators can approve or reject those changes through the Composer module. If the table name is in bold letters, edits must be reviewed by an administrator.
In the Composer module, select the table.
Click Show More → Web data edit.
Select Approve/Reject Edits to see a list of changes that have been made.
Click Approve to commit those changes to the table.
Important
Period locking will not be permitted if there are pending edits that affect the period. This prevents any changes from being made to data in locked periods. If you must lock Month 1, all pending data edits for Month 1 must first be approved.
TS-API
In Varicent Incentives version 10, the Technical Solutions API (TS-API) is a solution that extends web forms. As in TS-API for version 9, JavaScript is still written in web forms; however, the API used now is the REST API.
Administrators can enable TS-API access to objects in the model, such as tables and data stores.
Note
When migrating from the version 9 TS-API to the version 10 TS-API, the Services team will modify any existing JavaScript in your web forms to use the new endpoints and will enable TS-API access to the appropriate objects in your model through the admin web application.
Enabling TS-API access for Composer objects
You must first enable access for the REST API and specific Composer objects. Currently, you can enable access only to data stores and tables.
In the Composer module, click the table or data store for which you want to enable access.
Click Show More.
Select Web Viewable.
The object is now available in Portal Access for assignment.
Assigning a Portal Access tree to the TS-API enabled object
After enabling a table or data store for TS-API access in Composer, you must assign a Portal Access tree to the enabled object to allow web users access to the object.
For more information on creating Portal Access group and trees, see Portal Access Module.
In the Portal Access module, click the Assignment tab.
Find the table or data store to which you want to assign a Portal Access tree.
In the Access column, next to the table or data store, select the Portal Access tree from the drop-down list.
As soon as a tree has been assigned to the table or data store, the object is accessible to web users associated with the Portal Access tree.
Filtering data for TS-API enabled objects
You can restrict the data in TS-API enabled tables so that web users can view only their own data in the table or data store.
The same View Restriction attribute that is used for Web Data Edit can be used to restrict data access for the REST API endpoints. If the View Restriction feature is enabled for a table, then when web users access the table, any rows not applying to the current web user are filtered out. The View Restriction feature is only available to Views if Web Viewable is also enabled.
In the Composer module, click the object you want to edit.
Click Show More → Web data edit.
Select View Restrictions.
Define the parameters of your Restrictions.
Click OK.
Input forms
Use input forms in Varicent Incentives to control the tables and table fields that can be viewed and edited by particular administrators.
Often there are situations when someone must be able to edit specific information in a certain table, but it would not be prudent to grant that person complete access to every table. To ensure data integrity, it is important that data changes can only be made by authorized users. By adding an input form, you can not only define what table is editable, you can also select which table fields to display and what type of data can be entered in editable fields.
Important
After changes are made through an input form, they are applied directly and immediately to the table.
Adding input forms
In Varicent Incentives, you can define what tables and table fields are viewable and editable to users by adding an input form to the table in the Composer module.
In the Composer module, click the table you want to add an input form to.
Click Show More → Input forms.
Select Add Input Form.
Type a name for the input form and click Save.
Select the checkboxes next to the columns that you want to be viewable and editable to users.
Tip
The primary key fields must be selected.
Select the Default values checkbox to set the default value that you want to use in the displayed field.
Select the Read only checkbox next to the column to mark individual columns as read-only.
Click the Options icon to configure reference column options by completing the following steps:
To add a tab in the input form based on a reference column in the table, select the Tab checkbox, click the Edit icon, and type a name for the tab. A tab cannot have an empty name.
Leave the Jump to checkbox selected to enable the Jump to feature for reference columns.
Click OK.
To change the display name of a column, click the Edit icon next to the column and type a new name.
Click Next.
Define any Restrictions.
Important
Restrictions can be used as static filters.
Click Save.
Viewing input forms
After an input form is added in Varicent Incentives, the administrators with appropriate access can view the input form.
In the Composer module, select the table with the input form you'd like to view.
Click View Data.
Select the input form you want to view.
Input form security
In Varicent Incentives, you can create validation rules for data submitted through input forms.
Adding input form validation rules
After you add an input form in Incentives, you can define validation rules to make sure that data in a particular field is valid. These rules are applied to specified columns and can be number or text-based.
In the Composer module, click the table that contains the input form.
Click Show More.
Select
→ .Click Add Numeric Formula or Add Text Formula for the validation rule type.
Important
Additional sources cannot be joined to the table to add a validation rule.
If you selected Add Numeric Formula, complete the following steps:
In the Rule Name field, type a rule name.
Drag the column into the formula box.
Add your Formulas.
For example, drag the Product Quota column into the formula box, click
> =
and type0
.In the Error Message field, type an invalid input message that is displayed to the user when the rule is violated.
For example, if you selected a numeric rule type, then the rule might be called
Greater than or equal to zero
and the invalid input message would beValue must be greater than or equal to zero
.Click Save.
If you selected Add Text Formula, complete the following steps:
In the Rule Name field, type a rule name.
In the Error Message field, type an invalid input message that is displayed to the user when the rule is violated.
From the Column drop-down list, select the column that you want to add a regular expression for.
Type a regular expression.
Important
Regular expressions are used for text-based rule validation to make sure that data that is entered a particular field is valid.
Type sample text.
Click Test to test your regular expression.
A message that states:
The sample is a match to your regular expression
indicates that you used the correct expression.Click Save.
Submission change through an input form
Incentives administrators with appropriate access can add data or make changes to the specified fields in input forms. When a change is made through the input form, it is applied directly to the table.
Adding new rows to input forms
In Incentives, you can add a new row to an input form.
In the Composer module, click the table with the input form.
Click Show More.
Select View Data, and select the input form.
Click the Add
icon.
Enter the data in the fields.
Click Create.
Editing rows in input forms
In Incentives, you can edit a row in an input form by selecting the cell containing the data and making the changes directly in the table.
In the Composer module, click the table with the input form.
Click Show More.
Select View Data, and select the input form.
Select the row that you want to edit.
Click the Edit
icon.
Edit the data in the fields and click Submit.
Click Next or Previous to edit the row after or before the selected row.