Upload Additional Data to Analyze Employee Performance

Learn how to upload new files and connect the data to objects in the analytic model.

Introduction

Now that you have completed your initial data onboarding and published your people analytics solution to production, you may want to bring in additional data to get more insights. In this tutorial, you will learn how to bring in additional data by loading a new file and connecting it to existing objects in the analytic model.

Note: Our tutorials refer to a set of sample data files that you can use to learn about the platform. If you want to use your own data, you can still follow along to understand the fundamentals, end-to-end workflows, and best practices.

Objectives

We will first walk you through how to determine if the data you want to load is already modeled as part of Visier's analytic model. Assuming it is, we will take you through the data onboarding process once again where we will upload the data file in the studio experience, generate sources, create mappings, generate a data version, configure concepts, and validate your data.

In our example, we want to bring in employee performance data to capture the performance ratings from performance reviews and get insight into the overall performance of our organization and how many high performers are leaving.

You will learn how to:

  • Check if objects exist in the analytic model
  • Upload new data files using the Visier solution
  • Generate sources
  • Create additional mappings for a data load target that you've previously mapped
  • Run a job to generate a data version
  • Preview the data in the solution

Prerequisites

Before beginning this tutorial, you will need:

  • A Visier tenant. If you don't already have a Visier tenant, try Visier now by signing up for the trial.
  • A Visier account with a profile that has the following capabilities. If you don't have an account, contact your administrator.
    • Model: Write (Access Level), Simple (View Level)
    • Data: Write (Access Level), Detailed (View Level)
    • Manage Jobs
    • Direct Publish
  • A Visier account with a permission that allows the user to access Guidebooks, analyses, the Explore room, and data access to view the data you're configuring in the solution experience. For more information, see Permission Management.
    • Ad Hoc Analysis
    • Create Analysis Context
    • Change Analysis Context
    • Guidebook
    • View Details
  • Loaded data and a data version.

Sample data

Caution: We don't recommend using the sample data in production environments where data is already loaded.

The following sample data is referenced in this tutorial:

Steps

Check if objects exist in analytic model

To start, we need to determine if Visier has already modeled our business question. The first thing we can do is look at the analytic objects to see if there's an out-of-the-box object that we can load data into that represents what we want to analyze or aggregate data for.

To explore the analytic objects in the studio experience:

  1. On the global navigation bar, click Projects.
  2. Open the Production project.
  3. In the project click Model > Analytic Objects.
  4. Look through the list of analytic objects and their descriptions to see if there's an object that represents what you want to analyze. In this tutorial, we can start with a keyword search for performance. We won't find a distinct subject or event that we can directly load data into because employee performance is tied to the Employee subject in our analytic model.
  5. If you can't find a distinct analytic object after your initial search, you can try selecting a subject or event that the data may be tied. Review the list of objects in the Attributes tab to see if there is an out-of-the-box simple property, leveled dimension, or parent-child dimension that we can load our data into by reading the display names and descriptions.

    Tip: To make your search easier, apply a filter to the Object Type column. You can also take a look at the application definitions to see a complete list of the out-of-the-box content that comes with your purchase.

  6. If you can't find an object to load your data into, check our offerings to purchase additional applications. If it is not modeled, you will have to build your own objects to extend the analytic model.

In this tutorial, when we look at the attributes of the Employee subject, we see the Performance Rating leveled dimension that captures the rating from the most recent performance evaluation of employees.

Prepare data files

Before we upload our data into Visier, we need to make sure our data files are in the expected format, and follow the recommended file structure and naming conventions. This in an important step as it ensures our files will be successfully uploaded to the solution. To learn more about how to structure your data files, see Data File Guidelines.

Additionally, each data file has specific fields that are required when uploading so we need to ensure we include data for those fields. To learn more about the required and recommended fields for each data file, see Visier Data Dictionaries.

For the purposes of this tutorial, we can skip this step as the sample data files are in the expected format. We are uploading a new file that contains performance ratings for our employees. Employee ID and Event Date are required fields so we know which employee to attach the performance ratings to and when the performance evaluation occurred.

In this tutorial, we are appending data to the Employee subject by loading a separate file for our performance data. You could add the performance data (new columns) to your employee file. However, that would require you to restate history for all employees. The new employee file would need to have the performance records and all previous records.

Upload data files in the Visier solution

After our data file is prepared, the next step is to upload them within Visier's studio experience.

To upload the data file in the studio experience:

  1. On the global navigation bar, click Data > Data Transfers.

  2. Compress the data file you want to upload in a ZIP file. You can also upload CSV, XLS, XLSX, and PGP-encrypted files. Since we're uploading one file in this tutorial, we can skip this step.
  3. Click Upload File and select the file on your computer. In this tutorial, we're uploading the employee_performance_tutorial.csv file.
  4. Click Upload.

    Note: If you upload an XLS or XLSX file containing multiple sheets, each sheet will create a unique data transfer.

Generate sources

Now that our data files have been uploaded to the solution, we need to generate sources for each file. Sources store data for your solution, for example, Employee data is stored in the Employee source. For more information, see Sources.

Note: If it's your first time uploading this type of data, the data transfer will fail validation because there is no source connected to it. To resolve this failure, generate a source as described next. If you have previously uploaded this type of data, your data transfer automatically connects to its existing source.

To generate a source for an uploaded file, do the following:

  1. In the Data Transfers tab, hover over the uploaded file.
  2. In the Actions column, click the Generate source button .

In this tutorial, you will generate the following source: employee_performance_tutorial.

We can check our sources to verify the data was extracted correctly.

  1. On the global navigation bar, click Data > Sources.
  2. Select a source and click the Uploaded Files tab. In this tutorial, we will select the employee_performance_tutorial source.
  3. Check the latest uploaded file and confirm that the number of records is correct in the Records column. There should only be one file as this is the first time we have loaded this data. In this tutorial, we are confirming that employee_performance_tutorial.csv has 9190 records.

Create a project

Next, we need to create a project in the studio experience to hold our work. Projects are how Visier handles version control, allowing you to define and edit the solution separately from the current production version of the solution. For more information, see Projects.

  1. On the global navigation bar, click Projects.
  2. In the Projects room, click New Project.
  3. In the New Project dialog, type a name and description for the project. We can name our project Onboard Employee Performance with a description of Adding performance ratings to employee data.
  4. Click Create.

Create mappings

Next, we need to create mappings for each of our sources. Mappings connect the source files' columns to the properties in Visier's analytic objects. For more information, see Mappings.

In this tutorial, we will be creating a mapping for the employee_performance source.

To create a mapping:

  1. In the project, on the navigation bar, click Data > Mappings.
  2. Click Create Mapping.
  3. In the Create mapping dialog, select the data category that was previously created for your tenant.
  4. In Mapping type, select the appropriate mapping type. For more information about mapping types, see Add a Mapping. We will select an Auxiliary mapping type because we're appending data to Employee subject. We're attaching the performance ratings to records (employees) that already exist so we don't want new record IDs to be created.
  5. Type a display name and a description for the mapping. We can name our mapping Employee Performance Mapping with a description of Data extraction rules for employee performance.
  6. Select the source and its corresponding data load target. We will be selecting employee_performance_tutorial as the source and employee as the data load target.
  7. In Data file type, select the correct data file type for the source. The data file type is dependent on how the source data is formatted. For more information about mapping data file types, see Add a Mapping. In this tutorial, our performance data is Transactional profile as each column in our file represents a property instead of key-value pair.
  8. In Override behavior, select the correct override behavior for the mapping. The override behavior defines how the loader uses newer records to overwrite older records. For more information, see Add a Mapping. In this tutorial, we will use the default override behavior On event date.
  9. In Target group, add a group name. The target group allows us to group mappings together and is important if we are loading records from multiple source systems. For example, if we had data for regular employees in one file and contingent employees in another file. Target groups allow us to load the two sources to the same subject without impacting each other. The target group name is not important in this tutorial because our performance ratings come from the same source system. We will name our target group All Performance Ratings.
  10. Click Create.

Configure mappings

Once we have created our mappings, we need to map the source columns to the analytic object properties. This can be done by utilizing the automap feature which streamlines the mapping process through string matching.

  1. In Mappings, select the mapping that you want to configure.
  2. In the mapping, click Automap.

    Result: The properties with matching source columns are mapped.

  3. In Properties, check the mapped items to ensure all your source columns were correctly mapped to a property. A property is mapped correctly if it shows the correct source column name or formula. For example, EmployeeID is mapped to the EmployeeID column and not the Birth_Date column. You can preview the records in the mapping by clicking Preview.

    You can ignore unmapped properties that were not included in your data file.

In this tutorial, we have 4 source columns that need to be mapped to a property. We need to check that they are mapped correctly:

  • EmployeeID column is mapped to the EmployeeID property.
  • EventDate column is mapped to the EventDate property using the formula dateColumn("EventDate").
  • Performance_Rating column is mapped to the Performance_Rating property.
  • Performance_Rating_DisplayName column is mapped to the Performance_Rating_DisplayName property.

Run a job to generate a data version

Once we've created and configured our mappings, it's time to run a job to generate a new data version, this will allow us to preview the data in the solution. Jobs define the tasks needed to load your data into Visier, for more information, see Jobs.

  1. In the project, on the navigation bar, click Data > Data Categories.
  2. On your tenant's data category, in the Actions column, click the More button . In a previous tutorial, we created a data category named Visier Tutorial Data for our employee data. Since we want employee performance included in the same data versions as our employee data, we will select this data category.
  3. Click Run job.
  4. In the Configure Data Loader dialog, click Run job. In this tutorial, we'll use the default job settings.

To check the status of the job, navigate to Data > Jobs.

  • In the Status tab, click Refresh. The job should now appear in the list.

If successful, a release number appears in the Data Version column. This means a data version is generated and the job is complete.

Set the data version

If the data version release behavior is set to manual release or custom release, you will have to change the data version of your project in order to preview the new data version.

To set the data version:

  • In a project, on the navigation bar, click Data > Data Categories. For more information, see Set the Data Version.

Commit project changes

Now that we've generated a data version, it's a good time to commit our changes. Committing changes acts as a save point for your project.

  1. In the project, on the navigation bar, click the Home button .
  2. Click the Changes tab in the project home.
  3. Click Commit All.
  4. In the Commit Changes to Project Revision dialog, type a name and description for the project revision. We can name our revision Employee Performance Data Load with a description of Generated data version.
  5. Click Commit now.

Configure concepts

After successfully loading data in Visier and generating a data version, the next step involves configuring concepts. This is an important part of onboarding data into Visier because it gives meaning to your data. Setting up the analytic model through concept configuration defines how your data values align with concepts in Visier so that the platform represents your data appropriately. For more information about the analytic model, see Understand Visier's Analytic Model.

Figure out what needs to be configured

After loading data for the first time and generating a data version, you must map your data values to concepts in Visier. This allows us to start analyzing our data. Concept mapping is the definition of what your data means in Visier by configuring data values to align to concepts. The concepts that will need to be configured will depend on the objects in your Blueprint (the pre-built content that comes with Visier).

To figure out what concepts we need to configure in order for the pre-built content to work, we can check the properties and dimensions that we mapped:

  1. In the project, on the navigation bar, click Model > Analytic Objects.
  2. Select the analytic object you loaded data into. In this example, we loaded data into Employee.
  3. In the Attributes tab, select a property and dimension that you mapped. In this example, we loaded and mapped data to the Performance Rating leveled dimension.
  4. In the Dependencies tab, under Descendants, expand the Selection Concept Configuration list to see the concepts that depend on this dimension. We will need to configure these concepts so they can be used to analyze the data.

In this example, we will have to configure the following concepts:

  • isKeyEmployees
  • isNonRatedPerformer
  • isLowPerformer
  • isMidPerformer
  • isHighPerformer
  • isIneligiblePerformer

Configure concepts

After we make a list of the concepts we need, we can configure them in the Concepts room.

To configure concepts:

  1. In the project, on the navigation bar, click Model > Concepts.
  2. In the list of concepts, search for and select a concept you need to configure.
  3. Edit the concept in the Configure tab.

Note: Depending on your data, there may be different dimension members available to select. In this tutorial, we will suggest certain selections based on the sample data, however, you can select any members you want.

Configure calculated selection concepts

First, we'll configure the required calculated selection concepts which select the members of a population using a formula. For more information on how to configure calculated selection concepts, see Create a Selection Concept.

The default formula for Key Employees is Employee.Performance_Rating = 5.0 || isCriticalEmployee. This means that the concept will select all employees with a performance rating of 5.0. This population is defined as employees who are considered critical and high performing. You would change the formula based on your organization's performance rating code and scale. In this tutorial, we will use the default formula.

To view your changes, click Preview. In the visualization, select the December 2023 data point, and confirm that the data is correct by comparing it against your source data. In the sample data, we have 175 key employees on December 31, 2023.

Configure member selection concepts

To configure member selection concepts, we need to select the values (called "members" in Visier) from our data and assign them to concepts. For more information on how to configure member selection concepts, see Create a Selection Concept.

In this tutorial, we will configure the member selection concepts as follows:

  • Non-Rated Performer: Select the member Not Rated. In the sample data, we have 13 non-rated performers on December 31, 2023.
  • Low Performer: Select the member Level 1 and Level 2. In the sample data, we have 78 low performers on December 31, 2023.
  • Mid Performer: Select the member Level 3. In the sample data, we have 103 mid performers on December 31, 2023.
  • High Performer: Select the member Level 4 and Level 5. In the sample data, we have 125 high performers on December 31, 2023.
  • Ineligible Performer: Select the member Not Eligible. In the sample data, we have 22 ineligible performers on December 31, 2023.

Commit project changes

Now that we've configured the required concepts, it's a good time to commit our changes. Committing changes acts as a save point for your project.

  1. In the project, on the navigation bar, click the Home button .
  2. Click the Changes tab in the project home.
  3. Click Commit All.
  4. In the Commit Changes to Project Revision dialog, type a name and description for the project revision. We can name our revision Concept Configuration with a description of Finished set up of performance ratings.
  5. Click Commit now.

Preview and validate in the solution

Now that we've configured all the necessary concepts, let's double check that the data for employee performance is being shown accurately in the solution. This is done by previewing the data in the solution.

For this tutorial, we will preview and validate data by building a collection of visualizations in the Analyses room.

  1. In the project, on the navigation bar, click Preview Solution.

    Result: The analytics solution opens in preview mode.

  2. On the navigation bar, click Analyses.
  3. Click New analysis in project.

Add charts using metrics and groupings that you loaded data for. For this example, try building visualizations that make use of the Performance Rating dimension and some of the concepts we configured such as Ineligible Performer and High Performer.

After we create our charts, we will verify the solution data matches our source data. When validating the data consider:

  • Changing the time period of the analysis to ensure data is loaded for the same time periods that the source data covers.
  • Checking metric values for groups and individuals that you're most familiar with such as your own department.
  • Checking the Detailed View visual to ensure the correct members are showing up for a particular time period and grouping. For example, look at High Performers on the IT Team and validate the list of employees in Detailed View.

In this tutorial, we can build the following visuals to validate the data. Based on the sample data and our concept configurations, you should see the following values when you set the analysis context to December 2023.

Breakdown of Headcount by Performance Rating

  • Headcount: 341
    • Level 5: 33
    • Level 4: 92
    • Level 3: 103
    • Level 2: 51
    • Level 1: 27
    • Not Rated: 13
    • Not Eligible: 22

Breakdown of Headcount by Performance Group

  • Headcount: 341
    • High Performer: 125
    • Mid Performer: 103
    • Low Performer: 78
    • Non-Rated Performer: 13
    • Ineligible Performer: 22

Note: If you don't want to publish the analysis you used for validation, remember to delete it before you publish the project.

Publish the project

Now that you've loaded data and set up the analytic model for performance ratings, the next step is to publish your project so your changes are available in production.

  1. In the project, on the navigation bar, click the Home button .
  2. Click the Changes tab in the project home.
  3. Commit any uncommitted changes.
  4. Click Release to Production in the upper-right corner of the project.
  5. In the Release to Production dialog, type a name, description, and release version, and then click Release now. We can name our release Performance Ratings with the description Initial release.

    Result: A new production version of the solution is created.