Sample: Rollup goal data for a custom period against the target revenue

This sample shows how to roll up goal data for a custom period against the target revenue. You can download the sample from here.

This sample requires additional three users that are not in your system. Create the three required users as is shown below manually in Office 365. Replace yourorg with the organization name.

First Name: Nancy
Last Name: Anderson
Security Role: Salesperson
UserName: nanderson@yourorg.onmicrosoft.com

First Name: David
Last Name: Bristol
Security Role: Salesperson
UserName: dbristol@yourorg.onmicrosoft.com

First Name: Kevin
Last Name: Cook
Security Role: SalesManager
UserName: kcook@yourorg.onmicrosoft.com

How to run this sample

To obtain a local copy of all samples and build them, follow these steps:

  1. Download or clone the Samples repo so that you have a local copy.
  2. (Optional) Edit the dataverse/App.config file to define a connection string specifying the instance or organization you want to connect to.
  3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string in dataverse/App.config, any sample you run will use that connection information.

If you don't specify a connection string in dataverse/App.config file, a dialog opens each time you run the sample, and you need to enter information about which instance or org you want to connect to and which credentials you want to use. This dialog caches previous connections so that you can choose a previously used connection.

What this sample does

This sample shows how to roll up goal data for a custom period against the target revenue.

How this sample works

In order to simulate the scenario described in What this sample does, the sample will do the following:

Setup

  1. Checks for the version of the org.
  2. Retrieves the sales manager and 2 sales representatives created manually in Office 365.
  3. Creates a sample unit group and retrieve the default unit id.
  4. Creates few products and new discount list.
  5. The PriceLevel creates the price list.
  6. The ProductPriceLevel creates a price list item for the first product and apply volume discount.
  7. Creates account row for the opportunity's potential customer id.
  8. Creates a new opportunity with user specified estimated revenue.
  9. Creates a catalog products and override the list price.
  10. Creates a new write-in opportunity product with a manual discount applied.

Demonstrate

  1. Creates Metric, and setting the Amount Data type to Money.
  2. Creates a Rollup fields which targets the estimated values and actual values.
  3. The GoalRollupQuery creates the goal rollup queries, locating the opportunities in the sales representative's area.
  4. Creates three goals, one parent goal and two child goals.
  5. The RecalculateRequest calculates the rollup for goals.

Clean up

Display an option to delete the sample data created in Setup. The deletion is optional in case you want to examine the tables and data created by the sample. You can manually delete the records to achieve the same result.