Friday, September 14, 2012

Create an Empty SharePoint Web Part Page and Build Your PPS Reports



The Prerequisites

Before we get into the different security settings, let’s make sure that all our ducks are in a row. First of all, you will need to be a site collection administrator to enable the site collection features. If you are not one, then you will need to contact one and ask them to make some of these prerequisite changes for you. Your SharePoint administrator can tell you who your site collection administrators are.
Next, you need your PerformancePoint-enabled lists and document libraries to be available to the Dashboard Designer. If they aren’t, you won’t be able to save content to those locations. If you’re using the Business Intelligence Center site template, you will already have a data connection library called Data Connections and a content list called PerformancePoint Content and should be good to go. If you aren’t, or if you want to use a site template other than the BI Center template, you need to make sure the proper features are active. Enabling these features will allow you to select PerformancePoint-specific list and library templates from the Create menu under Site Settings when creating a new list or library specifically for BI. To do this, go to the home page for your site and, from the Site Actions link in the upper-left corner, select the link at the bottom, Site Settings.
Permissions1
The Site Actions Menu
In the Site Collection Administration section, select Site collection features and make sure that SharePoint Server Publishing Infrastructure and PerformancePoint Services Site Collection Features are both active and enabled in that order. In the Site Actions section, select Manage site features and make sure that PerformancePoint Services Site Features is active.

Actual Action:

Now I have a complete dashboard published to SharePoint. My dashboard and data sources are in libraries, and my content is in a list. I’ve created an empty web part page, which gives me plenty of layout options.
I like the two-column layout because I can put my scorecard on the left and my chart and grid stacked on the right. I created it inside of a BI Center site and put it in the Dashboards library that’s created with every BI Center site.

WebPartPageLayout_2_6A7B375B

As part of installing SharePoint enterprise, I get a list of PPS web parts. I can drag one onto my web part page and then connect it to a corresponding, published PPS object from a list. In other words, I select an empty scorecard web part and point it at my published scorecard. I place my new scorecard in the Left Column zone.

CreatingaScorecard_2_6A7B375B

PickingaScorecard_4_6A7B375B

Notice from the image above that if you have a bunch of objects that have been published from dashboard designer, it’s easier to find the right object if you collapse the groups that you don’t need. Once the reference loads into the location box, close the web part properties pane, and your scorecard should appear in the Left Column zone.
Once the scorecard is there, I follow the same process for my chart and grid. I put each of those in the Body zone of the web part page. When you select a PPS object template, make sure that you choose one that corresponds to the kind of list item to which you’re going to connect. In this case, since I’m adding a chart and a grid, I use the PerformancePoint Report object.

PickingReports_2_6A7B375B


Once the web part page contains its basic objects, it should look something like the the screen shot below.

PopulatedWebPartPage_2_6A7B375B
Connect the Filters
But the PPS web parts alone don’t really replicate what we had in dashboard designer. We still need the filter functionality that makes the dashboard meaningful. Your filters are also objects that can be hooked up the same way that your scorecards, grids, and charts were. I have a Header zone at the top of the page. I’m using that to hold my filters. Use the same process to add whatever filters you had on your dashboard designer dashboard. I have a time filter and a category filter.

AddingFilters_4_6A7B375B
Now that we have filters on the page, we need to connect them to our existing web parts. You can only expose the SharePoint connection framework if you are in the page’s edit mode. So, since you’ve just added filters, go ahead and keep the page in edit mode. Before you hook up the filters, it’s best to name your web parts using the web part properties pane. This makes it much easier to make your connections because you can connect them according to a meaningful name, and not just a generic name like “PerformancePoint Web Part [1].” When you have several web parts that take connections, you don’t know which web part is the correct one when their names contain generic separators like [1] and [2].

FilterConnectiontoChart_2_6A7B375B

The first filter that I hook up is the time filter; I hook it to the chart web part (the Summary Chart). The chart is capable of filtering by time not only because its x-axis includes months. Here, I’m sending values to the summary chart, so I need to choose the PerformancePoint Values option (below I explain why this option is important).

ConfigureChartConnection_2_6A7B375B

You may have to play a little bit with the different connection possibilities because they are not always intuitive. In this case, I want my source value to map to my MemberUniqueName, and I want to connect to the [Date.Calendar] dimension. I also want to add a connection formula so that my time intelligence calendar, which includes day, month, and year, only passes the month value to my Summary Chart – since my chart really only cares about month and year.
TimeFiltertoChart_2_6A7B375B

I also need to filter all of the categories in the chart and yet keep my time filter by month. Looking at a stacked chart with nearly 20 categories isn’t very useful. Fortunately, SharePoint filters allow for multiple connections to the same web part, so I can have a chart filtered by both category and time. Note: This is why it’s important to use the PerformancePoint Values option: if you want to take advantage of the 2010 filter features, it’s important to use the “Get PerformancePoint Values From” filter and not to use the “Get Filter Values From” when setting up your web part to receive filter values. The “Get Filter Values From” option is part of the 2007 SharePoint filter framework, and there is no good way, from a programmatic standpoint, to hide that filter type from the connection menu when dealing with just PPS web parts. Plus, the “Get PerformancePoint Values” adds some nice features to the web part connection. With that connection type, you can employ post formulas (like we did with the calendar filter), conditional visibility, and AJAX value changes (which will keep your entire page from posting back, or refreshing, when you change values). You can certainly use the “Get Filter Values From”, but you will leave some nice functionality on the table, and your dashboard won’t behave as it would have had you created the same thing using dashboard designer.

EmphasizePPSValuesFilter_2_6A7B375B

Again, I will send my PerformancePoint values to my Summary Chart. This time, there is no connection formula to worry about, so I will simply plug in my “Source Value” and “Connect To” values with MemberUniqueName and Product Categories respectively.

ConfigureChartConnectionforCategories_2_18688A14

This gives me a chart filtered by both time and category. Notice how much simpler this one is than the prior screenshot that wasn’t filtered by category.

TimeandCategoryFiltertoChart_2_18688A14
Of course, I can do the exact same thing for the “Top 5 Product Categories by Grid” so that both my chart and my grid are filtered by the same values.

TimeandCategoryFiltertoGrid_2_18688A14

So, that’s all there is to it. Of course, you can do much more than I demonstrated here. There are some pieces that I didn’t show, like conditional visibility or filtering the scorecard, simply because once you get the basic idea, you can create any dashboard that meets your needs. And now that I’ve created my dashboard using web parts from SharePoint, I can add as many non-PerformancePoint web parts as I need. You can see below that I added a content editor web part with a thank you message as well as a simple presence web part, which can be used, perhaps, as a way to identify who’s responsible for a full dashboard page. The combination of PerformancePoint and SharePoint web parts can make for a truly powerful and interactive page.

Summary
The point of this exercise is to be able to create a PerformancePoint dashboard using only SharePoint tools. I suggested first publishing your dashboard to a staging site using dashboard designer. And that’s only because you then have a model to which you can refer when wiring up your “handmade” dashboard. That’s especially useful when creating those filter connections. However, you certainly don’t have to publish your dashboard from designer. You can simply save your PPS objects to lists and libraries and then undertake your build experience from SharePoint. And since your objects refer to data source meta data in libraries, those web parts will stay connected to your changing back end data sources.

No comments:

Post a Comment