Adding SSRS Reports inputs/ parameters to browser history

Pandabay 1 Reputation point
2022-11-01T15:13:17.773+00:00

How can I add the parameters with which I queried the report to the browser history/url via MS-Edge extension?

Want to go back and forward a few days if needed.

(So the report parameters should be added to the browser history in the for of <reporturl>?val1=x after each submit from the input fields)

(Don't comment if your answer is "it is not possible" thx)

Microsoft Edge
Microsoft Edge
A Microsoft cross-platform web browser that provides privacy, learning, and accessibility tools.
2,238 questions
SQL Server Reporting Services
SQL Server Reporting Services
A SQL Server technology that supports the creation, management, and delivery of both traditional, paper-oriented reports and interactive, web-based reports.
2,878 questions
0 comments No comments
{count} votes

3 answers

Sort by: Most helpful
  1. Olaf Helper 43,246 Reputation points
    2022-11-02T06:43:59.193+00:00

    SSRS server don't know a "client history" and I am not aware Edge browser supports this; so it's not possible.

    0 comments No comments

  2. Yu Zhou-MSFT 12,951 Reputation points Microsoft Vendor
    2022-11-03T07:04:07.93+00:00

    Hi @Pandabay

    Sorry that I delete my comment unintentionally. I can only give some advice from Edge extension side.

    If you only want to get the input field's value, you can get it in Content scripts.

    Content scripts are files that run in the context of web pages. By using the standard Document Object Model (DOM), they are able to read details of the web pages the browser visits, make changes to them, and pass information to their parent extension.

    Then you can use chrome.storage to pass data between background.js and Content script. You can also use chrome.history to add browser history according to the input field's value. But I have no idea if sth like <reporturl>?val1=x will work in SSRS report.


    If the answer is the right solution, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".
    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

    Regards,
    Yu Zhou


  3. jerryritcey 1 Reputation point
    2022-11-08T16:56:52.707+00:00

    There's an execution log that houses the parameters of reports that were run. You'd need to

    • isolate just the ones run by the current user
    • parse the parameters out (this is probably the tricky part)
    • Take those parsed parameters and put them into a https:// string that passes the same parms back to the original report. This will vary wildly depending on the report and number and type of params.

    This script shows where the data comes from. The Parameters field is the key. I don't know a generic parse of params from the execution log code offhand, seems feasible.

    DECLARE @DateStart date='11/1/2022',@DateEnd date='11/8/2022 10:00AM',@ChosenReport varchar(255)='/Sales/Daily/DailySales';  
      
      
    select   
    ItemPath,  
    UserName,  
    RequestType,  
    [Source],  
    [Format], -- 5  
    [Parameters],  
    AdditionalInfo as AddInfo,  
    TimeStart,  
    TimeEnd,  
    datediff(ms,timestart,timeend)/1000.0000 TimeinSeconds, --10  
    [RowCount],  
    ByteCount/1024 as ByteCount,  
    Status,  
    ExecutionID, --14  
    (select min(timestart) from executionlog3 e) as OldestReport,  
    (select MAX(timestart) from executionlog3 e) as NewReport, --16  
    space(300) as ReportID   
    into #TempResults  
    from ExecutionLog3   
    where DATEADD(dd, DATEDIFF(dd,0, timestart), 0)  >=DATEADD(dd, DATEDIFF(dd,0, @DateStart), 0)   
    and  
    DATEADD(dd, DATEDIFF(dd,0, timestart), 0)  <=DATEADD(dd, DATEDIFF(dd,0, @DateEnd), 0)   
    and ItemPath = @ChosenReport  
    ;