Hi  nadeem1218,
I have created sample code by refering the below article which full-fill your requirement.
HTML
<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
    Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <rsweb:ReportViewer ID="ReportViewer1" runat="server" Width="800px">
        </rsweb:ReportViewer>
    </div>
    </form>
</body>
</html>
C#
private static int finalbalance = 0;
protected void Page_Load(object sender, EventArgs e)
{
    if (!this.IsPostBack)
    {
        this.PopulateTrans();
    }
}
private void PopulateTrans()
{
    ReportViewer1.ProcessingMode = ProcessingMode.Local;
    ReportViewer1.LocalReport.ReportPath = Server.MapPath("~/TransactionM.rdlc");
    Transaction dstrans = GetData();
    ReportDataSource datasource = new ReportDataSource("Transaction", dstrans.Tables[0]);
    ReportViewer1.LocalReport.DataSources.Clear();
    ReportViewer1.LocalReport.DataSources.Add(datasource);
}
private Transaction GetData()
{
    string conString = ConfigurationManager.ConnectionStrings["Constring"].ConnectionString;
    SqlCommand cmd = new SqlCommand("SELECT Trans_Date as Date,Action,Debit,Credit,Explanation,Branch FROM Dim_Transaction");
    using (SqlConnection con = new SqlConnection(conString))
    {
        using (SqlDataAdapter sda = new SqlDataAdapter())
        {
            cmd.Connection = con;
            cmd.CommandType = CommandType.Text;
            sda.SelectCommand = cmd;
            using (Transaction trans = new Transaction())
            {
                sda.Fill(trans, "Transaction");
                DataTable dt = trans.Tables["Transaction"];
                for (int i = 0; i < (trans._Transaction).Count; i++)
                {
                    string credit = (trans._Transaction).Rows[i]["Credit"].ToString();
                    string debit = (trans._Transaction).Rows[i]["Debit"].ToString();
                    if (credit != "" && debit == "")
                    {
                        int balance = (trans._Transaction).Rows[i]["Balance"].ToString() == "" ? finalbalance : Convert.ToInt32((trans._Transaction).Rows[i]["Balance"].ToString());
                        int Testbalance = balance + Convert.ToInt32((trans._Transaction).Rows[i]["Credit"].ToString());
                        finalbalance = Testbalance;
                        (trans._Transaction).Rows[i]["Balance"] = finalbalance;
                    }
                    else if (debit != "" && credit == "")
                    {
                        int balance = (trans._Transaction).Rows[i]["Balance"].ToString() == "" ? finalbalance : Convert.ToInt32((trans._Transaction).Rows[i]["Balance"].ToString());
                        int Testbalance = balance - Convert.ToInt32((trans._Transaction).Rows[i]["Debit"].ToString());
                        finalbalance = Testbalance;
                        (trans._Transaction).Rows[i]["Balance"] = finalbalance;
                    }
                }
                return trans;
            }
        }
    }
}
VB.Net 
Private Shared finalbalance As Integer = 0
Protected Sub Page_Load(sender As Object, e As EventArgs)
	If Not Me.IsPostBack Then
		Me.PopulateTrans()
	End If
End Sub
Private Sub PopulateTrans()
	ReportViewer1.ProcessingMode = ProcessingMode.Local
	ReportViewer1.LocalReport.ReportPath = Server.MapPath("~/TransactionM.rdlc")
	Dim dstrans As Transaction = GetData()
	Dim datasource As New ReportDataSource("Transaction", dstrans.Tables(0))
	ReportViewer1.LocalReport.DataSources.Clear()
	ReportViewer1.LocalReport.DataSources.Add(datasource)
End Sub
Private Function GetData() As Transaction
	Dim conString As String = ConfigurationManager.ConnectionStrings("Constring").ConnectionString
	Dim cmd As New SqlCommand("SELECT Trans_Date as Date,Action,Debit,Credit,Explanation,Branch FROM Dim_Transaction")
	Using con As New SqlConnection(conString)
		Using sda As New SqlDataAdapter()
			cmd.Connection = con
			cmd.CommandType = CommandType.Text
			sda.SelectCommand = cmd
			Using trans As New Transaction()
				sda.Fill(trans, "Transaction")
				Dim dt As DataTable = trans.Tables("Transaction")
				For i As Integer = 0 To (trans._Transaction).Count - 1
					Dim credit As String = (trans._Transaction).Rows(i)("Credit").ToString()
					Dim debit As String = (trans._Transaction).Rows(i)("Debit").ToString()
					If credit <> "" AndAlso debit = "" Then
						Dim balance As Integer = If((trans._Transaction).Rows(i)("Balance").ToString() = "", finalbalance, Convert.ToInt32((trans._Transaction).Rows(i)("Balance").ToString()))
						Dim Testbalance As Integer = balance + Convert.ToInt32((trans._Transaction).Rows(i)("Credit").ToString())
						finalbalance = Testbalance
						(trans._Transaction).Rows(i)("Balance") = finalbalance
					ElseIf debit <> "" AndAlso credit = "" Then
						Dim balance As Integer = If((trans._Transaction).Rows(i)("Balance").ToString() = "", finalbalance, Convert.ToInt32((trans._Transaction).Rows(i)("Balance").ToString()))
						Dim Testbalance As Integer = balance - Convert.ToInt32((trans._Transaction).Rows(i)("Debit").ToString())
						finalbalance = Testbalance
						(trans._Transaction).Rows(i)("Balance") = finalbalance
					End If
				Next
				Return trans
			End Using
		End Using
	End Using
End Function
Screenshot
