Our Business Leaders take lot of decisions based on charts and graphs trends.One of our client had a requirement to create chart in their dashboard page without using any kind of coding. we explored the ways in which we can create Charts in SharePoint 2010. After doing a quite good amount of research on Charts in Sharepoint, we came to know there could be 2 ways to show data in charts in sharepoint 2010:
1. PPS(Performance Point Service)
2. Chart webpart.
PerformancePoint Services in Microsoft SharePoint Server 2010 is a performance management service that you can use to monitor and analyze your business. By providing flexible, easy-to-use tools for building dashboards, scorecards, reports, and key performance indicators (KPIs), PerformancePoint Services can help everyone across an organization make informed business decisions that align with companywide objectives and strategy. Initially we thought PPS would be the perfect candidate for our requirement as it has lot of capablities it in for Dashboard,Scorecards and Kpi.But as our main requirement was to create chart webpart from sharepoint list and PPS has a limitation that we can only create charts on 3- dimensional object like Cube in SQL Server or Excel. so we had to move from PPS to Sharepoint OOB Chart webparts.
Chart Webpart gives us ways to create our Charts on top of List. Below can be the sources for Chart WebPart:
4. Excel Services
There are lot of styling we can do with Chart Webparts along with Filtering of Data and Grouping by some field. But SharePoint doesn't provide OOB agreegate functions to Show data. But in the pratical senario's we would be more interested in showing agreegated data in Chart WebPart.If Chart WebPart doesn't provide way to agreegate data then in that case how will we show agreegated data using OOB Chart WebPart. I would be taking 2 examples that will show the way to implement complex charts using Sharepoint OOB WebParts.
we have a project list which will show details about the project like Project Name, Project Status, Country, Department e.tc. User is interested in looking at number of project by status. something like the chart in below fig:
Follow the below steps to implement the above chart using OOB sharepoint Chart WebPart:
1. Create a list which will have master data of status-ProjectMaster.
3.Create Column in ProjectMaster list which will be Lookup column from ProjectList's Project Status column like the fig shown below:
4. Once this column is created in Projectmaster Table, this column will return the number of project in each status.
5. Now we will just configure Chart WebPart for ProjectMaster table. we will configure Title on the X-axis and Project Status Count on Y-axis.
This Example was pretty easy to implement but not always we will get the simple senario's like the above one, so let's take little complex senario now.
In the same Project List, we would be adding one more column "Assign To" which will show the Project Assignee Name. Now we need show graph which will show the number of project which are assigned and which are not assigned.
this senario can't be implemented in the previous appraoch was as user who is creating or editing project will assign/Unassign project but hewon't be mentioning category for project like Assigned or UnAssigned. In these kind of senarios we need to populate our master list using SPD workFlow. Please follow the below steps to create graph like below :
1. Create a list which will have master data of status-ProjectResources.
2. Create a ProjectList which will have all project related columns, also it will have one column with the name AssignedUnAssigned which will be lookup column from ProjectResources Title Column.
3. Create Column in ProjectResources List ResourceCount which will be lookup column from ProjectList's AssignedUnAssigned, the way we did it in previous example.
4. Create a SPD WorkFlow which will populate data in AssignedUnAssigned column of ProjectList. This workFlow will get triggered on Creation/Editing of ProjectList items. The workFlow will look like below:
5. Once this WF is attached to the ProjectList, it will populate data in AssignedUnAssigned field and which intern will populate data in ProjectResources ResourceCount.
6. Now we will just configure Chart WebPart for ProjectResources List. we will configure Title on the X-axis and ResourceCount on Y-axis.
These ways we can create nice graphs on Sharepoint List without Using Single Line of code. Hope this will help you in creating Graphs.