In this blog, I will show you the best way of creating a chart in SSRS Report Builder on live data coming from SharePoint lists. We will start off by looking at the lists which we are going to use for this demo and followed by how we can use SQList to synchronize data between SharePoint Lists and SQL Server database and to finish things off, we will look at how to generate our reports and charts much faster.
Scenario
Create a column chart in SSRS Report Builder which shows the total price and total current stock of products by Category Group.
If you would rather watch a video, this tutorial is also available on our YouTube channel at: https://youtu.be/bbAdZLfwPdM
SharePoint Lists
For this demo, we will use three custom lists with some data in SharePoint.
Product list
- This list contains all the products data.
- Columns
- Title (Single Line of Text)
- Unit Price (Money)
- Current Stock (Number)
- Category ID (lookup column linked to category list).
Category List
- It is a custom list which contains data of all the product categories.
- Columns
- Title (Single Line of Text)
- Category group ID (lookup column linked to Category groups list).
Category Group List
- It is a custom list which contains data of all the product category groups.
- Columns
- Title (Single Line of Text)
Step-1: Create a Database in SQL Server
First off, we need a database that will be used for replicating the data coming from SharePoint lists.
- Open SQL Server Management Studio and create a new database named “ProductsReportdemo”.
Step-2: Replicate and Synchronize data to Database
Secondly, we need to replicate the data from SharePoint lists into SQL Server database. We will use SQList to achieve that.
- Open SQList Manager and click on “Create a new replication”.
- Create a new SharePoint connection, enter the connection name and Table prefix
- and select the SharePoint site which contains the lists and clicks next.
- Next step is to select the replication lists, we will select the 3 lists which are going to be used for this exercise i.e. Product, Category and Category Group.
- Next, enter the details for the destination SQL database connection which is the database we created earlier.
- Last step is to give this replication a name, and keep the default options as checked and then click finish.
- Once the replication is created, SQList replication service will start off for synchronizing the SharePoint lists and SQL database.
- Once the service is started, you will see that some tables have been created in the destination database including the tables for the lists which we selected.
Note: SQList will keep the database in-sync with the SharePoint lists which means any updates made in the lists will be replicated in this database as well.
- In order to generate a report in the report builder, we will need a SQL view for the dataset.
- So, Let’s create a view that includes the Product category title, Sum of UnitPrice and Sum of CurrentStock from Product.
Step-3: Generate a Chart in SSRS
- Let’s open up Report Builder which comes as part of SSRS installation for designing reports.
- Select Chart Wizard for creating new report.
- We need to define the data source which will be used by the report. We will use the database which we created earlier as our data source for the report.
Note: Here we are using sql user for authentication. You can opt for windows authentication as well.
- Next step is to design the query which will be used by the report for fetching the dataset and we will use our SQL view.
- Now, we will arrange the fields for the report.
- We will drag and drop CategoryGroup in Categories and the two Sum(TotalPrice) & Sum(TotalStock) fields in Values.
- Our report is now ready but it is still in design view, lets click on Run to generate report.
- Time to publish our report to SSRS, so save the report and click on Publish. Then browse to the SSRS Report Server and you will see a new report has been added.
- Click on the report to see the report in runtime.
- Now to test the synchronization, let’s go to SharePoint and add a new item in Products list. Lets add a product that belongs to Category Group “Digital Products” and set 10000 as stock. It will take few seconds to synchronize in our database, Once you refresh the report you will see that our chart has changed.
Conclusion
To summarize, today we saw how to generate a column chart in Report Builder and then publish it to SSRS report server. We used SQList for replicating and synchronizing data coming from SharePoint lists using SQList so the chart reflects changes made to SharePoint Lists.