Solved

Passing parameters from ASP page to report viewer SSRS report

Posted on 2009-04-01
6
1,130 Views
Last Modified: 2016-02-13
1) What do I have to do to the SSRS report? (create parameters?)
2) What do I have to do on the ASP page to pass it through?
Do you have a code snippet?

I found some answers in the knowledge base, but had broken links.
Using SSRS 2005, VS 2008.
0
Comment
Question by:guspan
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
6 Comments
 
LVL 27

Accepted Solution

by:
Chris Luttrell earned 500 total points
ID: 24044105
This is the code where we load the parameters and is called by this line
rptViewer.ServerReport.SetParameters(loadKPIParameters(report))
    #region KPI Recognition Methods
    private ReportParameter[] loadKPIParameters(string reportPath)
    {
        //declaring and initializing local variables
        MyAppAccordionFilter filter = (MyAppAccordionFilter)Session["MyAppAccordionFilter"];
        ReportParameter[] rptParams = null;
        ReportServerQuery.ReportService.ReportParameter[] thisRptParams = null;
        string[] rptAuth = MyAppApplication.getMyAuthenticatedUserGroup();
        ArrayList lparamList = new ArrayList();
        thisRptParams = ReportServerQuery.ReportServerQuery.GetParametersForReport(rptAuth, reportPath);
 
        //looping through the parameters and filling in those it recognizes
        for (int i = 0; i < thisRptParams.Length; i++)
        {
            if (thisRptParams[i].PromptUser)
            {
                switch (thisRptParams[i].Name)
                {
                    case "FilterLevel": //Scorecard Parameter
                        lparamList.Add(new ReportParameter(thisRptParams[i].Name, getFilterLevel(filter)));
                        break;
                    case "FilterId": //Scorecard Parameter
                        lparamList.Add(new ReportParameter(thisRptParams[i].Name, getFilterId(filter)));
                        break;
                    case "FiscalYear":
                        lparamList.Add(new ReportParameter(thisRptParams[i].Name, getFiscalYear(filter)));
                        break;
                    case "FiscalPeriod":
                        lparamList.Add(new ReportParameter(thisRptParams[i].Name, getFiscalPeriod(filter)));
                        break;
                    case "ReportLevel":
                        lparamList.Add(new ReportParameter(thisRptParams[i].Name, getReportLevel(filter)));
                        break;
                    case "NAFD_ID":
                        lparamList.Add(new ReportParameter(thisRptParams[i].Name, getNAFD_ID(filter)));
                        break;
                }
            }
        }
 
        //creating a list of parameters to hand to the viewer
        rptParams = new ReportParameter[lparamList.Count];
        for (int i = 0; i < lparamList.Count; i++)
            rptParams[i] = (ReportParameter)lparamList[i];
 
        //returning the parameters
        return rptParams;
    }

Open in new window

0
 

Author Comment

by:guspan
ID: 24072854
From a C# Webpage?
0
 
LVL 27

Expert Comment

by:Chris Luttrell
ID: 24074349
Yes, this is from the code behind in an aspx.cs page.
0
 

Author Comment

by:guspan
ID: 24088423
Not too familiar with c#, but loadKPIparameters is a arbitrary method I name?
This isn't specific to KPI in SSAS is it?
0
 
LVL 27

Expert Comment

by:Chris Luttrell
ID: 24088654
No, not part of SSAS that is just our method name in the code I copied.
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction: This article is aimed at report developers who are used to developing reports using relational databases and have gotten a first-time assignment to develop reports on OLAP cubes. It demonstrates how to build a report using SQL Ser…
Occasionally there is a need to clean table columns, especially if you have inherited legacy data. There are obviously many ways to accomplish that, including elaborate UPDATE queries with anywhere from one to numerous REPLACE functions (even within…
There are cases when e.g. an IT administrator wants to have full access and view into selected mailboxes on Exchange server, directly from his own email account in Outlook or Outlook Web Access. This proves useful when for example administrator want…
NetCrunch network monitor is a highly extensive platform for network monitoring and alert generation. In this video you'll see a live demo of NetCrunch with most notable features explained in a walk-through manner. You'll also get to know the philos…

627 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question