I recently had to do some troubleshooting for PerformancePoint in SharePoint 2013. There were several different things that ended up being wrong with this particular farm, so I figured I’d do a write up on the problems I encountered and how they were resolved. The primary problems in the order I encountered them were:
- The user was completely unable to open Dashboard Designer.
- The user was unable to successfully connect to SharePoint with dashboard designer, or when they did none of the data source or content libraries would be available
- The user was unable to create or save data sources in dashboard designer once connected to SharePoint
- The PerformancePoint service application was throwing errors any time I tried to access the “manage” or “property” settings in Central Administration
I think the best way to approach these problems would be in the order that they were encountered, so let’s get to it.
1. The user was completely unable to open Dashboard Designer
When the user tried to open the Dashboard Designer from their PerformancePoint content library they were greeted with the following error message:
“Cannot retrieve application. Authentication error”
In this scenario, the user was logged into their computer locally (ie not using a domain account), however they were logging into SharePoint using a domain account. To get around this issue we used the “Windows Credential Manager” to tell SharePoint what account it should be using for authentication. To setup the Windows Credential Manager, follow these steps:
- Navigate to the Control Panel in your Windows OS
- Locate and click on the “Credential Manager” icon in the control panel
- Next to the “Add a Windows credential” link
- In the textbox labeled “Internet or network address” type in the address of the SharePoint site you’re logging into. You’ll want to exclude the http:// though, and you do not need to include any sub-site directory. For example, if I was opening Dashboard Designer from a sub-site with an address of http://portal.contoso.com/BITestSite all I would need to enter is portal.contoso.com
- Type in the appropriate credentials in the “User name” and “Password” textboxes. Don’t forget to include the domain in your username (domain\username)
- Click OK
The above seemed to resolve the problem of not being able to open Dashboard Designer. SharePoint must check the login of the Windows machine somewhere behind the scenes.
2 - The user was unable to successfully connect to SharePoint with dashboard designer, or when they did none of the data source or content libraries would be available
Now that we can actually get the PerformancePoint Dashboard Designer to open, we quickly ran into our 2nd issue. In this particular case every time the user opened PerformancePoint Dashboard Designer, the designer would open but would not be connected to SharePoint. First we tried manually entering in the SharePoint URL into dashboard designer and connecting. This can be done by doing the following:
- Click on the “Jewel” button at the top left of dashboard designer
- Click the “Designer Options” buttons from the resulting menu
- In the resulting options menu, click the “Server” tab
- Type the URL of the top level SharePoint site
(This URL should be the to the top level site, not a sub-site or a specific library. For example if I’m opening Dashboard Designer from the PerformancePoint content library located at http://portal.contoso.com/SSRSClass/Lists/PerformancePoint%20Content/By%20Content%20Type.aspx all I want to enter as the SharePoint URL is “http://portal.contoso.com” entering an incorrect URL here will most likely result in the following error message: “Cannot contact site at the specified URL xxxxx There is no Web Named xxxxx”)
- Click connect and enter in your log on credentials when prompted
At this point we started getting the following error: “The URL must be in one of the following zones: Local, Intranet, or Trusted”
Well, that seems simple enough to fix. Just add the site to your trusted sites. That can be done by following these steps:
- Navigate to the Windows Control panel
- Click on the “Internet Options” icon
- Click on the “Security” tab
- Click on “Trusted Sites” (looks like a green checkmark)
- With Trusted Sites highlighted, click on the “Sites” button
- Enter the top level URL into the first textbox show in the image below (in my case this would be http://portal.contoso.com) and click the “Add” button
If you get an error stating “Sites added to this zone must use the https:// prefix. This Prefix assures a secure connection” simply uncheck the box labeled “Require server verification (https:) for all sites in this zone” on the Trusted sites screen before clicking the Add button.
- Click the “Close” button on the Trusted sites window
- Click “OK” on the Internet Properties window
- Try to connect Dashboard Designer manually by entering the URL (as described earlier)
This time we were able to successfully connect, and the lower left hand corner of Dashboard Designer was displaying our user name and site. However, Dashboard Designer may still not work properly. If you continue to experience problems, read the next section.
3 - The user was unable to create or save data sources in Dashboard Designer once connected to SharePoint
Even though Dashboard Designer is now working, you might still run into problems. I’ve seen different error messages in different environments when users are trying to perform different actions. A few examples of error encountered (typically when trying to create or save a data source) are as follows:
“An unexpected system error has occurred. Additional details have been logged for your administrator.”
“Access denied. You do not have permission to connect to the server. Please contact your system administrator.”
“The data source no longer exists or you do not have permissions to view it. Additional details have been logged for your administrator.”
I’ve even seen some cases where users can create content (kpi’s, dashboards, etc) but can’t create or save data sources at all. These errors seem to come about when the account that is running the application pool for PerformancePoint doesn’t have the correct permissions. So there are a few things that we need to figure out here. First we need to figure out what application pool PerformancePoint is running under. Secondly we need to figure out what account is running that application pool. Lastly, we need to give that account the appropriate permissions. To do all of this we’re going to use some PowerShell cmdlets.
- Log into the SharePoint server that has Central Administration installed on it
- Open “SharePoint 2013 Management Shell”
- If this is your first time using the management shell you’ll want to copy and paste in the following command
- Run the following command to return a list of all the PerformancePoint properties
- Scroll back up to the top, and locate the name of the application pool being used. In my case below, it’s “Default SharePoint Service App Pool” shown highlighted in yellow in the image below
- Next we’ll want to figure out what account is being used to run the application pool shown above. To do that run the following command without quotes:
- Now that we’ve got our account, all we need to do is give it the appropriate permissions to our web application. Run the following commands replacing the web application and app pool account with your own information:
$w = Get-SPWebApplication -Identity http://portal.contoso.com
As you can see in the image above, in my case the account “CONTOSO\TestNoAccess2” is being used
If all has gone well, you should now be able to create data sources etc inside of SharePoint designer.
4 - The PerformancePoint service application was throwing errors any time I tried to access the “manage” or “property” settings in Central Administration
This last error I encountered came when I was trying to use Central Administration to access any of the settings for the PerformancePoint Service Application. The error would occur any time I tried to click on the “Manage” or “Properties” buttons for PerformancePoint. PerformancePoint would also throw an error if I tried to access those screens by clicking on the Service Application itself and then clicking “PerformancePoint Service Application Settings”. The error I kept getting was:
“Sorry, something went wrong
An entry with the same key already exists.”
It should be noted, that other than not being able to access these screens, PerformancePoint was working just fine. I tried restarting services, deleting and recreating both the PerformancePoint and Secure Store service applications in every order imaginable(a solution I had read on a few other blogs) but still couldn’t get rid of the error. Ultimately I ended up calling in some reinforcements in the form of SharePoint admin extraordinaire Stephen Wilson. He noticed that there were actually 2 “Access Services” service applications installed with the exact same name. One was for 2010, and one was for 2013, but both were just named “Access”. We were able to re-create the error in my dev environment with ease by simply recreating the duplicated Service Application name scenario with Access in my environment.
So…what to do about it? If you know only one of the Access Service Applications are being used, delete the one that isn’t being used, that immediately corrected the problem in my development environment. However if you don’t know, you might want to tread lightly. The only reason I needed to get to those screens anyway was set the unattended service account, an act that can be achieved via PowerShell pretty easily. For example, you can use the script below to both create an account in the Secure Store and associate it with PerformancePoint:
Set-SPPerformancePointSecureDataValues -ServiceApplication "PerformancePoint Services" -DataSourceUnattendedServiceAccount (New-Object System.Management.Automation.PSCredential "CONTOSO\YourUserName", (ConvertTo-SecureString "YourPassword" -AsPlainText -Force))
Just add your specific PerformancePoint Service App name, and the user id and password.
You can actually get and set just about any value you want using PowerShell. Here’s a list of all the PowerShell commands for PerformancePoint:
As I like to say ….it’s just that easy! Well I think that just about wraps up this post, hope you found it helpful.