Adding Custom Code to the Reporting Services 2008 R2

There are numerous circumstances when we wish to add a custom function to a
SSRS report in order to cater for needs of the customer which exceeds the capability of the built-in functions in SSRS. In these scenarios we will have
to write our own functions. In this article I will demonstrate how to add custom code to SSRS.

Using SQL Server 2008 R2 Business Intelligence Studio

 Using
Custom Code inside a report:
  In this article we will
consider a scenario where we want to design a KPI using custom code inside a
report using the code tab of the report properties. For
this we will have to write the below VB code as VB is the only language currently supported for the custom code in SSRS.
Create a new SSRS
project in BIDS studio and add new item as a report from the templates.

1. Create
a dataset using AdventureWorks as datasource the following query:

SELECT  top 1   Name,  StandardCost, ListPrice, ListPrice - StandardCost AS ProductProfit
FROM    Production.Product
WHERE   (StandardCost >= 1000)

2. Select
Report-> Report Properties from the menu.

3. Select
Code tab from the report property window

4. At present only VB  supported for writing  custom code inside
the report. Copy and paste the below code in the code window and click ok:

 Public Shared Function Test(ByVal profit As Decimal) As String
        Dim st As String
        If profit >= 1000 Then
            st = "High Profit"
        ElseIf profit >= 500 Then
            st = "Moderate Profit"
        Else
            st = "Average Profit"
        End If
        Return st
   End Function

5. Right-click on the textbox  and go to expressions.

6. To call the function written in the custom code window you will have to enter  Code.FunctionName
. In the expression in our example it would be something like this:

=Code.Test(Fields!ProductProfit.Value)

7. The
final Output should be something like this.

 Using Custom Assemblies:

The custom assemblies can be created using a class
library project to create more advanced functionality for your reporting
solution. The code reference for function to be used in the reporting services
can be given in the references section in the report properties. To do this
create a custom assembly and create a class library project called TestClass and
add the below code to it:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace TestClass
{
    public class Class1
    {
        public static int Cal(int a, int b)
        {
            return a + b;
        
        }
    }
}

Pages: 1 2




Array

No comments yet... Be the first to leave a reply!