BIMonitoringServiceApplicationProxy.UpdateDataSource method

Updates a data source in a SharePoint document library.

Namespace:  Microsoft.PerformancePoint.Scorecards
Assembly:  Microsoft.PerformancePoint.Scorecards.ServerCommon (in Microsoft.PerformancePoint.Scorecards.ServerCommon.dll)

public DataSource UpdateDataSource(
	DataSource dataSource


Type: Microsoft.PerformancePoint.Scorecards.DataSource

The data source object to update.

Return value

Type: Microsoft.PerformancePoint.Scorecards.DataSource
The updated object, which contains updated information such its location and version number.



PerformancePoint Services uses SharePoint document libraries as the repository for data sources.

The following code example shows how to retrieve and then update a data source.

Before you can compile this code example, you must do the following:

  • Configure your development environment and create a C# class library project in Visual Studio. For information about configuring a development environment, see Set up a general development environment for SharePoint 2013.

  • Add the Microsoft.PerformancePoint.Scorecards.Client and Microsoft.PerformancePoint.Scorecards.ServerCommon DLLs as references to your project. For more information about PerformancePoint Services DLLs, see PerformancePoint Services DLLs Used in Development Scenarios.

  • Add the following using directives.

    using Microsoft.PerformancePoint.Scorecards;
    using System.Globalization;
  • Create a method that does the following:

    • Defines a string variable named "relativePath" to store the server-relative path to the object. The following example path sets the object identifier to "5": /BI Center/Data Connections for PerformancePoint/5_.000.

    • Creates an instance of a DataSource object named "updatedDataSource." For an example of how to create the object, see the CreateDataSource method.

  • Paste the following code example into the new method.

// Create a RepositoryLocation object to represent the location of the data source. 
// The constructor takes the server-relative path to the data source.
RepositoryLocation dataSourceLocation = new RepositoryLocation(relativePath);

// As a best practice, retrieve an object and then update it.
// This example assumes the code is running in a Web Part on a front-end Web server.
// If this code is running within a service application, then you can call the
// SPDataStore.GlobalStore.GetDataSource method directly.
DataSource requestedDataSource =

if (requestedDataSource != null)

    // Update the description to show the time of the last update operation.
    requestedDataSource.Description.Text = String.Format(
        "Last updated at {0}",

    // Update the data source in the repository.
    updatedDataSource =